Packaging ========= Main package ------------ .. code-block:: bash python -m pip install -U build python -m build This produces ``dist/*.whl`` and ``dist/*.tar.gz`` for the main package. Extension demo package ---------------------- .. code-block:: bash 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 and publishes them to GitHub Packages. GitHub Packages --------------- This project publishes to GitHub Packages (PyPI registry) on tag builds. You can also publish manually: .. code-block:: bash python -m pip install -U twine python -m twine upload --repository-url https://upload.pypi.pkg.github.com// dist/* Use a GitHub token with ``packages:write`` permissions for authentication.