The extension can be published to PyPI
and npm
manually or using the Jupyter Releaser.
This extension can be distributed as Python packages. All of the Python
packaging instructions are in the pyproject.toml
file to wrap your extension in a
Python package. Before generating a package, you first need to install some tools:
pip install build twine hatch
Bump the version using hatch
. By default this will create a tag.
See the docs on hatch-nodejs-version for details.
hatch version <new-version>
Make sure to clean up all the development files before building the package:
jlpm clean:all
You could also clean up the local git repository (optional):
git clean -dfX
To create a Python source package (.tar.gz
) and the binary package (.whl
) in the dist/
directory, do:
python -m build
python setup.py sdist bdist_wheel
is deprecated and will not work for this package.
Then to upload the package to PyPI, do:
twine upload dist/pyssv*
To publish the frontend part of the extension as a NPM package, do:
jlpm build:prod
# (Workaround) NPM doesn't seem to like the older version of yarn that jlpm uses, so run yarn install to update the
# lockfile (don't commit this version of the lock file though). Make sure to revert your lockfile and reinstall with
# jlpm after this step.
yarn install
npm login
npm publish --access public
# (Workaround) Now reset the lockfile to the jlpm version and reinstall
git restore yarn.lock
jlpm install