Skip to main content

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 )
    
    or
    import 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": "object",
      "properties": {
        "version": {
          "OneOf": [ {
            "const": "Unreleased",
            "description": "Case Insensitive"
          }, {
            "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" }
        }
      }
    }
    

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.2.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

changelog_parser-0.0.2-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file changelog-parser-0.0.2.tar.gz.

File metadata

  • Download URL: changelog-parser-0.0.2.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for changelog-parser-0.0.2.tar.gz
Algorithm Hash digest
SHA256 c92b09b55567af0711f8c75f4c7d1d6f5f1e4601b852282740019835b84ccbb0
MD5 3ecda59c8dad9936ef4ac871703f36b1
BLAKE2b-256 470873f300aa3127229ee8b1e23b8a8b04d2545ea44264721b8a1917e3dc37a5

See more details on using hashes here.

File details

Details for the file changelog_parser-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for changelog_parser-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d36b3a051ee270d1e99eeb8230560edd7866584b94819901a3771526c0ae7835
MD5 3d5dc9e4e2e4345a6dcd086add2e9c1b
BLAKE2b-256 c065555af59be4154b1eacc4e36136ffe3d1a9d80c5310b10825a7d85f3fcc9c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page