notebook/CONTRIBUTING.md
2016-02-22 07:30:55 -08:00

1.7 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.

JavaScript

To compile the JavaScript, run:

npm run build:js

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