Contributing

Thanks for thinking of a way to help improve this library! Remember that contributions come in all shapes and sizes beyond writing bug fixes. Contributing to documentation, opening new issues for bugs, asking for clarification on things you find unclear, and requesting new features, are all super valuable contributions.

Code Improvements

All development for this library happens on Github at mpl_interactions.

git clone <your fork>
cd mpl-interactions
pip install -e ".[dev, doc, test, jupyter]"
pre-commit install
conda install nodejs=12
jupyter labextension install @jupyter-widgets/jupyterlab-manager

Seeing your changes

If you are working in a Jupyter Notebook, then in order to see your code changes you will need to either:

  • Restart the Kernel every time you make a change to the code.

  • Or: Make the function reload from the source file every time you run it by using autoreload.

%load_ext autoreload
%autoreload 2

from mpl_interactions import ....

Working with Git

Using Git/Github can confusing (https://xkcd.com/1597/) so if you’re new to Git, you may find it helpful to use a program like Github Desktop and to follow a guide.

Also feel free to ask for help/advice on the relevant Github issue.

Documentation

Following changes to the source files, you can view recent adjustments by building the documentation.

  1. Make sure you have installed the requirements for building the documentation:

cd mpl-interactions
pip install -e ".[doc, jupyter]"
  1. Run the following commands:

cd docs
make html

If you open the index.html file in your browser you should now be able to see the rendered documentation.

Autobuild the documentation

Alternatively, you can use sphinx-autobuild to continuously watch the documentation for changes and rebuild it for you. Sphinx-autobuild will be installed automatically by the above pip command, and we’ve added it to the Makefile. All you need to do is:

cd docs
make watch

In a few seconds your web browser should open up the documentation. Now whenever you save a file the documentation will automatically regenerate and the webpage will refresh for you!

Thank you to our current team!

This project follows the all-contributors specification. Contributors members can be found on mpl_interactions’ README page.