The extension can be published to PyPI
and npm
manually or using the Jupyter Releaser.
This extension can be distributed as a Python package.
The pyproject.toml
file contains all the instructions needed to wrap the extension in a
Python package.
-
Before generating a package, we first need to install
build
andgitchangelog
.pip install build twine gitchangelog
-
Follow the instructions to make a new release,
- git fetch && git pull
- git clean -xdfi
- Update CHANGELOG.md with gitchangelog
- Check version in package.json - modify it if necessary
- git add && git commit -m "Release vX.X.X"
- jlpm install
- jlpm build
- python setup.py bdist_wheel --universal
- python setup.py sdist
- twine check dist/*
- twine upload dist/*
- git tag -a vX.X.X -m 'Release x.x.x'
- Increment version in package.json
- git add && git commit
- git push
- git push --tags
-
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 jupyter_releaser
workflow documentation for more information.
Here is a summary of the steps to cut a new release:
- Fork the
jupyter-releaser
repo - Add the following secrets as repository secrets in GitHub
ADMIN_GITHUB_TOKEN
,PYPI_TOKEN
andNPM_TOKEN
- 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 conda-forge
documentation on how to contribute new packages.
Otherwise, a bot should pick up the new version publish to PyPI, and open a new PR on the feedstock repository automatically.