Packaging

Main package

python -m pip install -U build
python -m build

This produces dist/*.whl and dist/*.tar.gz for the main package.

Extension demo package

cd src/new_year_2026/examples/extension_pkg
python -m pip install -U build pybind11 wheel
python -m build

Notes:

  • The extension demo builds native binaries (.so/.pyd).

  • A C/C++ compiler is required on the build machine.

Release tagging

When you create a git tag (for example, v1.0.0), the CI workflow builds packages, publishes them to GitHub Packages, and attaches artifacts to the GitHub Release.

GitHub Packages

This project publishes to GitHub Packages (PyPI registry) on tag builds. You can also publish manually:

python -m pip install -U twine
python -m twine upload --repository-url https://pypi.pkg.github.com/<OWNER>/ dist/*

Use a GitHub token with packages:write permissions for authentication.