For development installation instructions, see the [README](README.md#dev-quickstart).
## 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](git-hooks/README.md) 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: