antsibull-changelog
Changelog tool for Ansible-core and Ansible collections
What it is and what it does
antsibull-changelog is a changelog generator purpose-built for Ansible collections and other projects. It reads YAML fragment files from a `changelogs/fragments/` directory and synthesizes them into structured release notes following Ansible conventions. The tool is actively maintained by the Ansible community and supports modern Python versions (3.9–3.14).
The package provides both a Python API and a CLI tool (`antsibull-changelog`) for operations like generating releases, linting changelog fragments, and validating configuration. It depends on a suite of Ansible-specific utilities (antsibull-docs-parser, antsibull-docutils, antsibull-fileutils) plus standard tools like pydantic for validation and docutils for markup handling. It is licensed under GPLv3, which carries copyleft obligations for derivative works.
Use it for:
- Generate release notes for Ansible collections from fragment files during the release process
- Validate changelog fragment format and structure in CI/CD pipelines before merging
- Automate changelog generation for Python projects that adopt the Ansible fragment-based workflow
- Lint and audit existing changelog entries for consistency and correctness
- Extract and format version information from pyproject.toml during release automation
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
antsibull-changelog is a CLI tool that generates structured changelogs for Ansible collections and other Python projects from YAML fragment files.
Yes, if you are maintaining an Ansible collection or have adopted the Ansible changelog fragment workflow. The tool is production-stable, actively maintained, and has low install friction. No, if you need a general-purpose changelog generator for non-Ansible projects—it is tightly coupled to Ansible conventions and the GPLv3 license may conflict with proprietary use. Yes-with-conditions for other Python projects: only if you are willing to adopt the Ansible fragment structure and accept GPLv3 licensing terms.
Install
antsibull-changelog on PyPI
pip
pip install antsibull-changeloguv
uv add antsibull-changelogpoetry
poetry add antsibull-changelogInstalling antsibull-changelog
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with a recent release (88 days ago) and ongoing commits. Supports Python 3.9 through 3.14, indicating current language support.
License in practice
Licensed under GPL-3.0-or-later (copyleft). Any derivative work or distribution must comply with GPLv3 terms, which may restrict use in proprietary projects without careful licensing review.
Quickstart
pip install antsibull-changelog
from antsibull_changelog.cli import main
# Or use the CLI directly:
# antsibull-changelog release
Requires Python 3.9 or later. The optional [toml] extra is needed to read version from pyproject.toml on Python < 3.11.
Verify before relying
- Whether the package works with projects outside the Ansible ecosystem without modification
- Performance characteristics when processing large numbers of changelog fragments
- Whether all 9 runtime dependencies are required for basic changelog generation or if some are optional
Package facts
| License | GPL-3.0-or-later (copyleft) |
| Python support | supports the current Python release (>=3.9.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 9 — annotated-types, antsibull-docs-parser, antsibull-docutils, antsibull-fileutils, docutils, packaging, pydantic, rstcheck, semantic-version |
| Maintenance | actively maintained — 88 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 320,890/month — #7,629 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: antsibull_changelog-0.35.1-py3-none-any.whl
Tags
More Documentation packages
Docutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
SphinxSphinx generates professional documentation…
permissive · top 1,000 on PyPI
griffeGriffe extracts the complete structure and…
permissive · top 1,000 on PyPI
sphinxcontrib-serializinghtmlA Sphinx extension that outputs documentation…
permissive · top 1,000 on PyPI
alabasterAlabaster is a clean, responsive Sphinx theme…
permissive · top 1,000 on PyPI
sphinxcontrib-htmlhelpA Sphinx extension that generates HTML help…
permissive · top 1,000 on PyPI
antsibull-docsBuilds and generates Ansible documentation from…
copyleft · top 15,000 on PyPI
antsibull-fileutilsProvides file utility functions for Ansible…
copyleft · top 15,000 on PyPI
antsibull-docutilsProvides docutils helpers and utilities for…
copyleft · top 15,000 on PyPI
antsibull-coreProvides core library utilities and tooling…
copyleft · top 15,000 on PyPI
antsibull-docs-parserA Python library for parsing and processing…
copyleft · top 15,000 on PyPI
towncrierTowncrier generates changelogs from individual…
permissive · top 5,000 on PyPI
araARA Records Ansible records and reports on…
unclear · top 15,000 on PyPI
ansibleAnsible is an IT automation system that handles…
copyleft · top 5,000 on PyPI
ansible-creatorA CLI tool that scaffolds new Ansible projects…
permissive · top 15,000 on PyPI
git-cliffgit-cliff generates changelog files from Git…
unclear · top 15,000 on PyPI