Description
Documentation Link
https://matplotlib.org/stable/devel/development_setup.html
Problem
Close this if the deviation from instructions is insufficient to warrant a change, or if this kind of documentation is not in the scope of matplotlib documentation.
- To be fair, I don't know if this added documentation is necessary. Still, setting up the dev environment through GitHub codespaces, I ran into a few issues that I needed more documentation.
- I don't know if one can assume that only pro developers use GitHub codespaces, but the way they advertise it as a quick startup environment, unlike AWS, for instance.
- This documentation is unclear, mainly because there are a few points of differences between the way that one begins development through their own machine rather than through codespaces.
- Github codespaces force pretty strict branch protocol, so if you did:
git clone https://github.com/EXAMPLE_USERNAME/matplotlib
cd matplotlib
You would be unable to commit to any branch on your forked repo. MAYBE this has more to do with documentation under GitHub, and close this if you want, but it was enough to trip me up significantly as a new Open Source developer.
I created a blank codespace and did the commands above, as described in the development setup, only to receive an error of 403 whenever I tried to push to my forked repo. I thought the 403 error was enforced by matplotlib, and not by github, which was why I was so confused for a long time, and did not check the github docs
Instead, one has to navigate to the forked repo on GitHub, create a branch, and then click on code, codespaces, and then add the codespace, so you do not have to do the commands up above, just immediately start out in the branch.
- Secondly, creating a virtual environment on Github is forbidden as well, and the inability to do so might also trip up a new developer.
There are technically fewer steps to take when doing github codespaces, but following the instructions described in the dev setup tripped me up a lot until I figured it out.
Suggested improvement
I suggest adding a section describing setting up a development environment using GitHub codespace. Since we want to ensure easy development setup, including how to set up a dev environment through GitHub codespace should be included in the documentation. As someone new to Open source, although I have a few years of SWE experience in college, I had trouble setting up the initial dev environment with the documentation provided.