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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| changelog_chug-0.0.3.tar.gz | 39.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.