2.5 KiB
Installing Javascript machinery
Running the Notebook from the source code on GitHub requires some JavaScript tools to build/minify the CSS and JavaScript components. We do these steps when making releases, so there's no need for these tools when installing released versions of the Notebook.
First, install Node.js. The installers on the Node.js website also include Node's package manager, npm. Alternatively, install both of these from your package manager. For example, on Ubuntu or Debian:
sudo apt-get install nodejs-legacy npm
You can then build the JavaScript and CSS by running:
python setup.py css js
This will automatically fetch the remaining dependencies (bower, less) and install them in a subdirectory.
For quick iteration on the Notebook's JavaScript you can deactivate
the use of the bundled and minified JavaScript by using the option
--NotebookApp.ignore_minified_js=True
. This might though
highly increase the number of requests that the browser make to the
server, but can allow to test JavaScript file modification without going
through the compilation step that can take up to 30 sec.
Making a notebook release
Make sure you have followed the step above and have all the tools to generate the minified JavaScript and CSS files.
Make sure the repository is clean of any file that could be problematic. You can remove all non-tracked files with:
$ git clean -xfdi
This would ask you for confirmation before removing all untracked
files. Make sure the dist/
folder is clean and avoid stale
build from previous attempts.
- Run the following commands to generate the universal
wheel
and thesdist
: - Update version number in
notebook/_version.py
.
3. Run $ python setup.py jsversion
. It will modify (at
least) notebook/static/base/js/namespace.js
to make the
notebook version available from within JavaScript.
4 . Commit and tag the release with the current version number:
git commit -am "release $VERSION"
git tag $VERSION
- You are now ready to build the
sdist
andwheel
:
$ python setup.py sdist --formats=zip,gztar
$ python setup.py bdist_wheel
6. You can now test the wheel
and the sdist
locally before uploading to PyPI. Make sure to use twine to upload the archives
over SSL.
$ twine upload dist/*