# Publish

This section is intentionally verbose in order to help ipywidget developer.

# Versions

Set the same Javascript version in the following files. WARNING: This is a manual sync.

  • ipyaggrid/js/package.json

Set the Python version in file:

  • ipyaggrid/__meta__.py

# Git

Git commit the code with a tag.

# starting from repo top folder

# possibly: start afresh
git clean -fdxn # dry run - recommended as cannot be undone
git clean -fdx

# commit
git add .
git commit -m 'my comment'
git tag '<python version e.g. 0.1.0>'
git push
git push --tags

# Node

Build the Javascript files and publish the node package to npmjs.org. For more info see th official doc.

# starting from repo top folder
# make sure the version in js/package.json is correct

# build notebook extension javascript
$ cd js
$ npm ci

# test run to see what you will publish
# npm pack

# login npm if necessary
npm login

# publish npm package to npmjs.org - using ~/.npmrc
$ npm publish --access=public
# if you made a mistake you can unpublish in the first 24h

# Python

Publish the Python package to PyPI. For more info see the official doc.

# starting from repo top folder
# make sure package version is correct in __meta__.py

# clear dist/ from previous bundles
rm -rf dist

# build Python package
$ python setup.py sdist
$ python setup.py bdist_wheel --universal

# upload package to PyPI - using ~/.pypirc
$ twine upload dist/*
# if you made a mistake you can remove the package on pypi.org

Done.

Last Updated: 2/9/2024, 4:17:44 PM