jupyterlab
jupyterlab copied to clipboard
#12717 Add a new section: automation of local dev environments
References
This PR is related to #12717.
Code changes
With this PR a new section is added to contributing.rst which contains a practical example of using Vagrant to create a local development environment.
The changes include:
- step-by-step instructions
- link to
Vagrantfileand boostrap file on a different repo
The structure of the section "Setting up a local development environment" has also been altered slightly, so that:
- "Installing JupyterLab" is now a sub-section of "Setting up a local development environment"
- "Run JupyterLab" is at the same level of "Setting up a local development environment"
Before:
+ -- Setting up a local development environment
|
+ -- Installing Node.js and jlpm
+ -- Installing JupyterLab
|
+ -- Run JupyterLab
After:
+ -- Setting up a local development environment
|
+ -- Installing Node.js and jlpm
+ -- Installing JupyterLab
+ -- Using automation to set up a local development environment
+ -- Run JupyterLab
In my opinion this better reflects the process of:
Set up a dev environment (sub steps) --> Run JupyterLab
User-facing changes
Changes to the "Contribute" documentation.
Backwards-incompatible changes
N/A, no changes to JupyterLab public APIs.
Thanks for making a pull request to jupyterlab!
To try out this branch on binder, follow this link:
Thanks for submitting your first pull request! You are awesome! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please make sure you followed the pull request template, as this will help us review your contribution more quickly.
You can meet the other Jovyans by joining our Discourse forum. There is also a intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada:
Thanks @markgreene74 for taking the time to document this setup :+1:
This PR was discussed during the July 20th weekly meeting: https://github.com/jupyterlab/team-compass/issues/152#issuecomment-1191170828
I think the overall feeling was that it can indeed be difficult to automate a development environment for JupyterLab. There are multiple technologies involves such as Python and JavaScript / TypeScript with Node.js. So any effort to make contributing to the project easier is really appreciated!
However it looked like no-one in the current JupyterLab team is familiar with Vagrant. So there is a risk the documentation will not be maintained or will become outdated.
I think there is still value in mentioning the Vagrant based setup in the contributing docs. Maybe we could simply link to your repository so the folks interested can find all the information there? https://github.com/markgreene74/jupyterlab-local-dev-with-vagrant
Then there could be a subsection in https://jupyterlab.readthedocs.io/en/latest/developer/contributing.html#setting-up-a-local-development-environment still called Using automation to set up a local development environment, but only keeping a small description of what it is about. For example:
While there is a lot to learn by following the steps above, they can be automated to save time. This section shows how to do that using Vagrant as an example. The main advantages of using automation are: reduced time to get the environment up-and-running, reduced time to re-build the environment, better standardisation ("baseline", reproducible environments). A practical example can be found
here <https://github.com/markgreene74/jupyterlab-local-dev-with-vagrant>_ and includes aVagrantfile, the bootstrap files and additional documentation.
What do you think? Thanks again for working on this!
Hi @jtpio !
Thank you very much for the feedback. It makes perfectly sense, I will make the changes now :+1:
That's done now. I implemented the changes suggested (single sub-section), rebased to master and put everything in a single commit so hopefully should be easier to review.
Also, made the necessary changes to the PR description.
Thank you for the review @fcollonval :)
Congrats on your first merged pull request in this project! :tada:
Thank you for contributing, we are very proud of you! :heart: