The extension can be published to PyPI
and npm
manually or using the Jupyter Releaser.
To refresh the packages list run python scripts/modules.py
with the target version of JupyterLab installed.
This extension can be distributed as Python
packages. All of the Python
packaging instructions in the pyproject.toml
file to wrap your extension in a
Python package. Before generating a package, we first need to install build
.
pip install build twine
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/*
To publish the frontend part of the extension as a NPM package, do:
npm login
npm publish --access public
The extension repository should already be compatible with the Jupyter Releaser.
Check out the workflow documentation for more information.
Here is a summary of the steps to cut a new release:
- Fork the
jupyter-releaser
repo - Add
ADMIN_GITHUB_TOKEN
,PYPI_TOKEN
andNPM_TOKEN
to the Github Secrets in the fork - Go to the Actions panel
- Run the "Draft Changelog" workflow
- Merge the Changelog PR
- Run the "Draft Release" workflow
- Run the "Publish Release" workflow
If the package is not on conda forge yet, check the documentation to learn how to add it: https://conda-forge.org/docs/maintainer/adding_pkgs.html
Otherwise a bot should pick up the new version publish to PyPI, and open a new PR on the feedstock repository automatically.