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 twineTo 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_wheelis 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 publicThe extension repository should already be compatible with the Jupyter Releaser. But the GitHub repository and the package managers need to be properly set up. Please follow the instructions of the Jupyter Releaser checklist.
For the release workflows in this repository, make sure GitHub is configured with:
- a
releaseenvironment APP_PRIVATE_KEYsecrets- an
APP_IDrepository variable
When using npm trusted publishing, NPM_TOKEN is not required (and trusted publishing is recommended). Configure NPM_TOKEN only if you are publishing without trusted publishers.
Here is a summary of the steps to cut a new release:
- Go to the Actions panel
- Run the "Step 1: Prep Release" workflow
- Check the draft changelog
- Run the "Step 2: Publish Release" workflow
Note
Check out the workflow documentation for more information.
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.