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"
          }, {
            "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.4.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

changelog_parser-0.0.4-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for changelog-parser-0.0.4.tar.gz
Algorithm Hash digest
SHA256 8f89b1036bfc85a8f6a620dc45518f452eaa0f088ad999cb7fe4d75656328477
MD5 8354c44829b199522ef73ef31b90c138
BLAKE2b-256 511f1db8c1383b01dcd905d945a927ce07c8b7096b862815292fcf763b8e15e3

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for changelog_parser-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 62d40f02e66b04687656e21f803a275d564866ae9b973af0bc78dafdb5b8ec5a
MD5 0f1c7efd37e2737f1fd535ba4e9d0483
BLAKE2b-256 797dcafdc025f20932a022adcd6043e2e175151b6b12d17e54cfd5787da3db88

See more details on using hashes here.

Provenance

Supported by

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