Registry / devops / antsibull-changelog

antsibull-changelog

JSON →
library0.35.1pypypiunverified

Antsibull Changelog is a Python tool designed to generate changelogs for Ansible-core and Ansible collections. It processes changelog fragments (YAML files) to produce structured changelog outputs. Currently at version 0.35.0, it undergoes active development with releases aligned to the broader Ansible ecosystem's needs and feature cycles.

pip install antsibull-changelog
INSTALL
IMPORT
SIG · ANTSIBULL-CHANGELO
A
antsibull-changelog
devopspythonv0.35.1
Install
5.6s avg
Import
Disk
50MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.35.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
installs and imports cleanly · install 0.0s · import 0.000s · 50.6MB
glibc
py 3.103.920 runs
installs and imports cleanly · install 5.6s · import 0.000s · 51MB
50MB installed
● package 50MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Changelog
from antsibull_changelog import Changelog
from antsibull_changelog import Changelog

This quickstart demonstrates how to programmatically parse a changelog fragment and add it to a Changelog object. While `antsibull-changelog` is primarily a CLI tool, its core components can be used for custom changelog processing within Python applications. This example shows basic interaction with fragments, which are the building blocks of the changelog.

from antsibull_changelog.changelog import Changelog from antsibull_changelog.fragment import ChangelogFragment # Simulate a changelog fragment content (normally read from a .yaml file) fragment_content = """ fragment: - type: feature description: Add new awesome feature. section: Features authors: - John Doe """ # Parse a fragment from a string (or use ChangelogFragment.from_file()) try: fragment = ChangelogFragment.from_string("my_first_feature.yaml", fragment_content) # Create a Changelog object and add the fragment changelog = Changelog() changelog.add_fragment(fragment) print(f"Successfully parsed fragment type: {fragment.type}") print(f"Fragment description: {fragment.description}") print(f"Total fragments in Changelog object: {len(changelog.fragments)}") except Exception as e: print(f"Error parsing fragment: {e}")
antsibull-changelog --version
Debug
Known issues
gotchaPrimarily a CLI Tool: Many users expect a straightforward Python API to generate the full changelog like the CLI tool. However, the library's Python API is more granular, focusing on parsing fragments and managing changelog data. Direct programmatic generation mirroring the CLI often requires setting up file paths, configurations, and interacting with lower-level build functions.
fix
For full changelog generation, prefer using the `antsibull-changelog` command-line interface. For programmatic use, focus on interacting with `ChangelogFragment` and `Changelog` classes for data manipulation.
affects: All versions
breakingPython Version Requirement: `antsibull-changelog` strictly requires Python 3.9 or newer. Attempting to install or run it on older Python versions (e.g., Python 3.8 or 3.7) will result in installation failures or runtime errors.
fix
Ensure your development environment is running Python 3.9 or a newer version (e.g., 3.10, 3.11, 3.12). Use a virtual environment to manage specific Python versions for your projects.
affects: >=0.1.0
gotchaChangelog Fragment Structure: `antsibull-changelog` relies on a very specific YAML structure for its fragments. Deviations from the expected schema (e.g., incorrect top-level key, missing required fields, invalid types) will lead to parsing and validation errors.
fix
Always consult the official `antsibull-changelog` documentation for the correct changelog fragment YAML schema. Validate fragments using the `antsibull-changelog fragment --validate` command during development.
affects: All versions
Upgrade
Version history
0.35.1latest on PyPI · released May 18, 2026
Audit
Dependencies
pyyamlrequiredYAML parsing for changelog fragments.
packagingrequiredVersion parsing and comparison.
jinja2requiredTemplate rendering for changelog output.
python-dateutilrequiredParsing and manipulating dates.
jsonschemarequiredValidation of changelog fragment structure.
richrequiredEnhanced terminal output.
Agent activity
25 hits · last 30 days
node
24
OpenAI (training)
1
Resources
antsibull-changelog — pip install antsibull-changelog · libregistry