👍🎉 First off, thanks for taking the time to contribute to the Spyder notebook plugin! 🎉👍
The Spyder notebook plugin is developed as part of the wider Spyder project. In general, the guidelines for contributing to Spyder also apply here. Specifically, all contributors are expected to abide by Spyder's Code of Conduct.
There are many ways to contribute and all are valued and welcome. You can help other users, write documentation, spread the word, submit helpful issues on the issue tracker with problems you encounter or ways to improve the plugin, test the development version, or submit a pull request on GitHub.
The rest of this document explains how to set up a development environment.
This section explains how to set up a conda environment to run and work on the development version of the Spyder notebook plugin.
This creates a new conda environment with the name spydernb-dev
.
$ conda create -n spydernb-dev python=3.7
$ conda activate spydernb-dev
This creates a new directory spyder-notebook
with the source code of the
Spyder notebook plugin.
$ git clone https://github.com/spyder-ide/spyder-notebook.git
$ cd spyder-notebook
This installs Spyder, JupyterLab and all other dependencies of the plugin into the conda environment.
$ conda install --file requirements/conda.txt
The Spyder notebook plugin includes a server which serves notebooks as HTML pages. The following commands install the JavaScript dependencies of the notebook server and build the server.
$ cd spyder_notebook/server
$ jlpm install
$ jlpm build
$ cd ../..
This installs the Spyder notebook plugin so that Spyder will use it.
$ pip install --no-deps -e .
You are done! You can run Spyder as normal and it should load the notebook plugin.
$ spyder
This command installs the test dependencies in the conda environment.
$ conda install -c spyder-ide --file requirements/tests.txt
You can now run the tests with a simple
$ pytest