Acknowledgements
Molt is an independent open-source project. It is built on standards, libraries, and ideas that other people designed and maintain, and this page names them.
changesets
Molt's workflow comes from changesets, the release tool for JavaScript monorepos. The shape of a changeset file, the split between recording intent and consuming it, the max-bump flattening rule, and the fixpoint pass that propagates a version bump to dependents are all ideas molt learned there.
Reading the changesets source is what made molt's engine possible. The three-pass release plan in particular is a subtle piece of work, and having a reference implementation to study and to test against removed most of the risk from building the Python equivalent. Molt's engine is validated against test fixtures derived from that project.
Molt is a separate tool for a separate ecosystem. It targets PEP 440 versions, PEP 508 requirements, and PyPI, so many of its rules resolve differently. Molt and changesets sets the two side by side. Where molt keeps a changesets behavior, it keeps it because it is right, not because it is inherited.
changesets is MIT-licensed, and thanks are due to its maintainers and contributors.
Python packaging standards
Molt implements behavior specified by the Python packaging community:
The Python Packaging Authority writes and maintains these, along with
packaging, the reference implementation molt does all of its version
and specifier math with. Molt hand-rolls none of it, which is what makes its answer to "does this
version satisfy this constraint?" the same answer pip and uv give.
Libraries
The documentation site runs on Rspress.
Prior work in Python
the-roaring/pychangeset brought the changeset model
to Python before molt did, and reading it was useful. It is a clear statement of the problem, and
the questions its issue tracker raised shaped two of molt's early decisions: keeping the supported
Python floor low, and putting the forge behind a seam from the first commit.
changepacks takes a polyglot approach to the same model from Rust, and is worth a look if you release across more than one language ecosystem.
Related tools
Molt is one answer to Python release automation. These are others, and one of them may fit your project better:
hatchanduv version-- set and bump a single package's version directly.setuptools-scmandhatch-vcs-- derive a version from git tags.python-semantic-release-- derive versions and changelogs from conventional commit messages.towncrier-- news fragments assembled into a changelog, a model close to molt's for the changelog half of the problem.
Trademarks
Molt is not affiliated with, endorsed by, or sponsored by the changesets project, the Python Packaging Authority, Astral, PyPI, GitHub, or any other project named on this page. Product names belong to their respective owners.