Release Procedure¶
This is the maintainer note on how to release ManimPango. All versioning follows Semantic Versioning 2.0.0.
Ensure the main branch is green and the intended changes are merged.
Update the
1.0entry indocs/changelog.rstand bump the authoritative version inmeson.build.pyproject.tomldeliberately reads the installed version dynamically from the build system.Open and merge the release-preparation pull request. Confirm CI passes on its merge commit.
Create and publish a GitHub release targeting that merge commit. In the release form, create the
v<version-number>tag; GitHub creates and pushes it as part of publishing the release. Draft releases are inert; publishing the release starts the package build and publication.Monitor the Wheels Build workflow. It builds the supported wheels and source distribution, publishes them to PyPI, and attaches the artifacts to the GitHub release only after every build succeeds.
In a fresh virtual environment, install the published package and run a small rendering smoke test on each platform for which a wheel was released.
Build System¶
ManimPango v1.0 uses Meson (via meson-python) as its build
backend. The Cython extensions are compiled by Meson. See
pyproject.toml and the top-level meson.build for details.
Minimum requirements:
Python ≥ 3.11
Pango ≥ 1.44
Cairo ≥ 1.14
GLib ≥ 2.0
Cython ≥ 3.0.0