This is an instruction of the developer tools that help you contributing.
Tests can be with run using
tox -e tests
You can source the test environment of tox after a run using
source .tox/tests/bin/activate
The we store the notebooks as converted Python file using jupytext for the conversion for better versioning
jupytext tests/notebooks/*.py --to ipynb
Be aware that when runnng the tests with tox all *.ipynb are overwriten by their corresponding *.py file. For example, the file test_widget_cue_box.ipynb is overwritten by the conversion of test_widget_cue_box.py when running the test.
We use selenium to test the widgets on user actions (like a button click). To run it in in the CI where no display is available. We run the browsers in headless model to not load the UI. For debugging a test however, it is often benificial to see what is happening in the window. To run the tests with the browser UI please use
pytest --driver Firefox
For the notebook server we fixed the port to 8815, if this port is not available you . It can happen that notebook process is not properly killed and remains as zombie process. You can check if a notebook with this port is already running using
jupyter notebook list | grep 8815
or if some process is using it
netstat -l | grep 8815
Your code can be formatted using
tox -e format
The formatting should fix most issues with linting, but sometimes you need to manually fix some issues. To run the linter use
tox -e lint
To build the docs please use
tox -e docs
To open the doc with for example firefox you can run
firefox docs/build/html/index.html