Parses changelog files
Project description
changelog-parser
Yet another python changelog parser.
- Loads data from a
CHANGELOG.md
file using code like:import changelog with open( "CHANGELOG.md", 'rb' ) as fp: changes = changelog.load( fp )
orimport changelog with open( "CHANGELOG.md", 'r' ) as fp: changes = changelog.loads( fp.read() )
- Returns it in the following schema (some types are Python objects and not valid JSON schema):
{ "$schema": "https://json-schema.org/draft-07/schema#", "title": "Loaded Changelog", "type": "array", "items": { "type": "object", "properties": { "version": { "oneOf": [ { "const": "Unreleased" }, { "type": "semver.Version", "description": "Python object from https://pypi.org/project/semver/" } ] }, "date": { "oneOf": [ { "const": null }, { "type": "datetime.date", "description": "Python object from https://docs.python.org/3/library/datetime.html#date-objects; parsed using \"fromisoformat\"" } ] }, "yanked": { "type": "boolean" }, "added": { "$ref": "#/$defs/change_list" }, "changed": { "$ref": "#/$defs/change_list" }, "depreciated": { "$ref": "#/$defs/change_list" }, "removed": { "$ref": "#/$defs/change_list" }, "fixed": { "$ref": "#/$defs/change_list" }, "security": { "$ref": "#/$defs/change_list" }, "compare_url": { "type": "string", "pattern": "^https?:\\/\\/.+" } }, "required": [ "version", "date", "yanked" ], "additionalProperties": false }, "$defs": { "change_list": { "type": "array", "items": { "type": "string" } } } }
- Dumps data, structured like that above, to a
CHANGELOG.md
file using code likeimport changelog import semver from datetime import date with open( "CHANGELOG.md", 'rb' ) as fp: changes = changelog.load( fp ) changes.insert( 0, { "version": semver.Version( major = 0, minor = 0, patch = 6 ), "date": date.today(), "added": [ "`dump` and `dumps` examples" ] } ) with open( "CHANGELOG.md", 'wb' ) as fp: changelog.dump( changes, fp )
orimport changelog ... changelog_contents = changelog.dumps( changes ) with open( "CHANGELOG.md", 'w' ) as fp: fp.write( changelog_contents )
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
changelog-parser-0.0.8.tar.gz
(16.7 kB
view details)
Built Distribution
File details
Details for the file changelog-parser-0.0.8.tar.gz
.
File metadata
- Download URL: changelog-parser-0.0.8.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b900d4230985df4aafed8f0649dd08a67c079ce53076f9dd5ba85c1da17903a |
|
MD5 | 74a4974d0bce66fc701d0b0054f1acc3 |
|
BLAKE2b-256 | 351ba8872f8acfe436545816859cb5ddbf3788fd4ce0030d4560c0fc8c98a7ea |
File details
Details for the file changelog_parser-0.0.8-py3-none-any.whl
.
File metadata
- Download URL: changelog_parser-0.0.8-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39748c96a6f20a2dcc95a9d4abda76f44a15274bb61b780c23f63fb6cbf280bf |
|
MD5 | 5d3b2541f635fd8e11e2e0ad23061301 |
|
BLAKE2b-256 | 6833828fc6e1bad0970d90d81720c9526d6f18c3e1726b3234dbaa6a03f6efa8 |