1.9 KiB
Contributing
We follow the IPython Contributing Guide.
For development installation instructions, see the README.
Managing static files
The notebook relies on static dependencies (which are installed with Bower), its own minified JavaScript, and CSS compiled from LESS.
Static dependencies
To install the static dependencies, run:
python setup.py jsdeps
You can also pass a -f
flag to this command to force Bower to run, if necessary.
Minified JavaScript
To compile the minified JavaScript, run:
python setup.py js
You can also run the notebook server without relying on the minified JavaScript by passing the --NotebookApp.ignore_minified_js=True
flag when launching the notebook.
Compiling CSS
To compile the CSS from LESS, run:
python setup.py css
Git hooks
If you want to automatically update dependencies, recompile the JavaScript, and recompile the CSS after checking out a new commit, you can install post-checkout and post-merge hooks which will do it for you:
./git-hooks/install-hooks.sh
See the git-hooks readme for more details.
Running tests
JavaScript tests
To run the JavaScript tests, you will need to have PhantomJS and CasperJS installed:
npm install -g casperjs phantomjs@1.9.18
Then, to run the JavaScript tests:
python -m notebook.jstest [group]
where [group]
is an optional argument that is a path relative to notebook/tests
. For example, to run all tests in notebook/tests/notebook
:
python -m notebook.jstest notebook
or to run just notebook/tests/notebook/deletecell.js
:
python -m notebook.jstest notebook/deletecell.js
Python tests
To run Python tests, run:
nosetests notebook
If you want coverage statistics as well, you can run:
nosetests --with-coverage --cover-package=notebook notebook