jupyterlab icon indicating copy to clipboard operation
jupyterlab copied to clipboard

#12717 Add a new section: automation of local dev environments

Open markgreene74 opened this issue 3 years ago • 3 comments
trafficstars

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 Vagrantfile and 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.

markgreene74 avatar Jul 16 '22 17:07 markgreene74

Thanks for making a pull request to jupyterlab! To try out this branch on binder, follow this link: Binder

jupyterlab-probot[bot] avatar Jul 16 '22 17:07 jupyterlab-probot[bot]

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. welcome 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:

welcome[bot] avatar Jul 16 '22 17:07 welcome[bot]

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 a Vagrantfile, the bootstrap files and additional documentation.

What do you think? Thanks again for working on this!

jtpio avatar Aug 04 '22 08:08 jtpio

Hi @jtpio !

Thank you very much for the feedback. It makes perfectly sense, I will make the changes now :+1:

markgreene74 avatar Aug 14 '22 14:08 markgreene74

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.

markgreene74 avatar Aug 14 '22 15:08 markgreene74

Thank you for the review @fcollonval :)

markgreene74 avatar Aug 16 '22 21:08 markgreene74

Congrats on your first merged pull request in this project! :tada: congrats Thank you for contributing, we are very proud of you! :heart:

welcome[bot] avatar Aug 17 '22 07:08 welcome[bot]