Skip to main content

changelog-chug is a parser for project Change Log documents.

changelog-chug

Example

Given a reStructuredText document ChangeLog:

Change Log
##########

Version 1.0.1
=============

:Released: 2020-01-10
:Maintainer: Cathy Morris <cathy.morris@example.com>

…

Version 1.0
===========

:Released: 2020-01-10
:Maintainer: Luis Flores <ayalaian@example.org>

…

Version 0.2
===========

:Released: 2019-07-04
:Maintainer: Cathy Morris <cathy.morris@example.com>

…

Version 0.2-alpha1
==================

:Released: 2019-07-04
:Maintainer: Cathy Morris <cathy.morris@example.com>

…

Version 0.1
===========

:Released: 2019-05-16
:Maintainer: Cathy Morris <cathy.morris@example.com>

…

Generate Change Log entry data for all versions from the reStructuredText formatted ChangeLog:

>>> import pathlib
>>> import pprint
>>> import chug.parsers.rest
>>> import chug.writers
>>> infile_path = pathlib.Path(".", "ChangeLog")
>>> document_text = chug.parsers.get_changelog_document_text(infile_path)
>>> document = chug.parsers.rest.parse_rest_document_from_text(
...     document_text)
>>> entries = chug.parsers.rest.make_change_log_entries_from_document(
...     document)
>>> pprint.pprint([entry.as_version_info_entry() for entry in entries])
[OrderedDict([('release_date', '2020-01-10'),
              ('version', '1.0.1'),
              ('maintainer', 'Cathy Morris <cathy.morris@example.com>'),
              ('body', '…')]),
 OrderedDict([('release_date', '2020-01-10'),
              ('version', '1.0'),
              ('maintainer', 'Luis Flores <ayalaian@example.org>'),
              ('body', '…')]),
 OrderedDict([('release_date', '2019-07-04'),
              ('version', '0.2'),
              ('maintainer', 'Cathy Morris <cathy.morris@example.com>'),
              ('body', '…')]),
 OrderedDict([('release_date', '2019-07-04'),
              ('version', '0.2-alpha1'),
              ('maintainer', 'Cathy Morris <cathy.morris@example.com>'),
              ('body', '…')]),
 OrderedDict([('release_date', '2019-05-16'),
              ('version', '0.1'),
              ('maintainer', 'Cathy Morris <cathy.morris@example.com>'),
              ('body', '…')])]

Generate a JSON document describing the latest version:

>>> import json
>>> latest_entry = entries[0]
>>> latest_entry_json = json.dumps(
...     latest_entry.as_version_info_entry(), indent=4)
>>> print(latest_entry_json)
{
    "release_date": "2020-01-10",
    "version": "1.0.1",
    "maintainer": "Cathy Morris <cathy.morris@example.com>",
    "body": "\u2026"
}

Copying

changelog-chug is free software. See the file COPYING for details.

Metadata

Release files for changelog-chug 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for changelog-chug 0.0.3
File Size Uploaded Provenance
changelog_chug-0.0.3.tar.gz 39.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for changelog-chug 0.0.3
File Interpreter ABI Platform
changelog_chug-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 64.8 kB

Release files / changelog_chug-0.0.3.tar.gz

Download URL changelog_chug-0.0.3.tar.gz
Size 39.3 kB
Tags Source
SHA-256 checksum
How to use checksums
98ee1e8be75b6e9d512c35292c3c293a124541a4ec2014a6ec3cf33a3d265d2d
BLAKE2b-256 checksum
How to use checksums
fc6df08e0f600f88c69923c692d486096ca7d2eae5d657516ec134fb45ed0ab0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.6

Release files / changelog_chug-0.0.3-py3-none-any.whl

Download URL changelog_chug-0.0.3-py3-none-any.whl
Size 25.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e9733f861d300cf505062de0b3bf2625ef4e99e2fb171b1e218d20072587f2ba
BLAKE2b-256 checksum
How to use checksums
f47b759bc32d67b4ceed949843bf374231287e6069e75f292d5c55ae2cc7d9d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.6

Security for changelog-chug 0.0.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page