changelog-chug


Namechangelog-chug JSON
Version 0.0.3 PyPI version JSON
download
home_pageNone
SummaryParser library for project Change Log documents.
upload_time2024-10-26 03:07:32
maintainerBen Finney <ben+python@benfinney.id>
docs_urlNone
authorNone
requires_python>=3.7
licenseCopying this work ################# changelog-chug is `free software`_; you are free to redistribute it and/or modify it under specific conditions. .. _free software: https://www.gnu.org/philosophy/free-sw.html Software ======== Copyright © 2008–2023 Ben Finney <ben+python@benfinney.id.au> This is free software: you may copy, modify, and/or redistribute this work under the terms of the GNU Affero General Public License as published by the Free Software Foundation; version 3 of that license or any later version. No warranty expressed or implied. See the file `LICENSE.AGPL-3`_ for details, or online at `<https://www.gnu.org/licenses/agpl-3.0.html>`_. .. _LICENSE.AGPL-3: LICENSE.AGPL-3 .. Local variables: coding: utf-8 mode: rst End: vim: fileencoding=utf-8 filetype=rst :
keywords version changelog release packaging
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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.

..  _COPYING: COPYING


..
    This document is written using `reStructuredText`_ markup, and can
    be rendered with `Docutils`_ to other formats.

    ..  _Docutils: http://docutils.sourceforge.net/
    ..  _reStructuredText: http://docutils.sourceforge.net/rst.html

..
    Local variables:
    coding: utf-8
    mode: rst
    End:
    vim: fileencoding=utf-8 filetype=rst :

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "changelog-chug",
    "maintainer": "Ben Finney <ben+python@benfinney.id>",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "version, changelog, release, packaging",
    "author": null,
    "author_email": "Ben Finney <ben+python@benfinney.id.au>",
    "download_url": "https://files.pythonhosted.org/packages/fc/6d/f08e0f600f88c69923c692d486096ca7d2eae5d657516ec134fb45ed0ab0/changelog_chug-0.0.3.tar.gz",
    "platform": null,
    "description": "changelog-chug is a parser for project Change Log documents.\n\nchangelog-chug\n##############\n\nExample\n=======\n\nGiven a reStructuredText document ChangeLog::\n\n    Change Log\n    ##########\n\n    Version 1.0.1\n    =============\n\n    :Released: 2020-01-10\n    :Maintainer: Cathy Morris <cathy.morris@example.com>\n\n    \u2026\n\n    Version 1.0\n    ===========\n\n    :Released: 2020-01-10\n    :Maintainer: Luis Flores <ayalaian@example.org>\n\n    \u2026\n\n    Version 0.2\n    ===========\n\n    :Released: 2019-07-04\n    :Maintainer: Cathy Morris <cathy.morris@example.com>\n\n    \u2026\n\n    Version 0.2-alpha1\n    ==================\n\n    :Released: 2019-07-04\n    :Maintainer: Cathy Morris <cathy.morris@example.com>\n\n    \u2026\n\n    Version 0.1\n    ===========\n\n    :Released: 2019-05-16\n    :Maintainer: Cathy Morris <cathy.morris@example.com>\n\n    \u2026\n\nGenerate Change Log entry data for all versions from the reStructuredText\nformatted ChangeLog::\n\n    >>> import pathlib\n    >>> import pprint\n    >>> import chug.parsers.rest\n    >>> import chug.writers\n    >>> infile_path = pathlib.Path(\".\", \"ChangeLog\")\n    >>> document_text = chug.parsers.get_changelog_document_text(infile_path)\n    >>> document = chug.parsers.rest.parse_rest_document_from_text(\n    ...     document_text)\n    >>> entries = chug.parsers.rest.make_change_log_entries_from_document(\n    ...     document)\n    >>> pprint.pprint([entry.as_version_info_entry() for entry in entries])\n    [OrderedDict([('release_date', '2020-01-10'),\n                  ('version', '1.0.1'),\n                  ('maintainer', 'Cathy Morris <cathy.morris@example.com>'),\n                  ('body', '\u2026')]),\n     OrderedDict([('release_date', '2020-01-10'),\n                  ('version', '1.0'),\n                  ('maintainer', 'Luis Flores <ayalaian@example.org>'),\n                  ('body', '\u2026')]),\n     OrderedDict([('release_date', '2019-07-04'),\n                  ('version', '0.2'),\n                  ('maintainer', 'Cathy Morris <cathy.morris@example.com>'),\n                  ('body', '\u2026')]),\n     OrderedDict([('release_date', '2019-07-04'),\n                  ('version', '0.2-alpha1'),\n                  ('maintainer', 'Cathy Morris <cathy.morris@example.com>'),\n                  ('body', '\u2026')]),\n     OrderedDict([('release_date', '2019-05-16'),\n                  ('version', '0.1'),\n                  ('maintainer', 'Cathy Morris <cathy.morris@example.com>'),\n                  ('body', '\u2026')])]\n\nGenerate a JSON document describing the latest version::\n\n    >>> import json\n    >>> latest_entry = entries[0]\n    >>> latest_entry_json = json.dumps(\n    ...     latest_entry.as_version_info_entry(), indent=4)\n    >>> print(latest_entry_json)\n    {\n        \"release_date\": \"2020-01-10\",\n        \"version\": \"1.0.1\",\n        \"maintainer\": \"Cathy Morris <cathy.morris@example.com>\",\n        \"body\": \"\\u2026\"\n    }\n\n\nCopying\n=======\n\nchangelog-chug is free software. See the file `COPYING`_ for details.\n\n..  _COPYING: COPYING\n\n\f\n..\n    This document is written using `reStructuredText`_ markup, and can\n    be rendered with `Docutils`_ to other formats.\n\n    ..  _Docutils: http://docutils.sourceforge.net/\n    ..  _reStructuredText: http://docutils.sourceforge.net/rst.html\n\n..\n    Local variables:\n    coding: utf-8\n    mode: rst\n    End:\n    vim: fileencoding=utf-8 filetype=rst :\n",
    "bugtrack_url": null,
    "license": "Copying this work #################  changelog-chug is `free software`_; you are free to redistribute it and/or modify it under specific conditions.  ..  _free software: https://www.gnu.org/philosophy/free-sw.html   Software ========  Copyright \u00a9 2008\u20132023 Ben Finney <ben+python@benfinney.id.au>  This is free software: you may copy, modify, and/or redistribute this work under the terms of the GNU Affero General Public License as published by the Free Software Foundation; version 3 of that license or any later version.  No warranty expressed or implied. See the file `LICENSE.AGPL-3`_ for details, or online at `<https://www.gnu.org/licenses/agpl-3.0.html>`_.  ..  _LICENSE.AGPL-3: LICENSE.AGPL-3    .. Local variables: coding: utf-8 mode: rst End: vim: fileencoding=utf-8 filetype=rst : ",
    "summary": "Parser library for project Change Log documents.",
    "version": "0.0.3",
    "project_urls": {
        "Change Log": "https://git.sr.ht/~bignose/changelog-chug/tree/main/item/ChangeLog",
        "Home Page": "https://git.sr.ht/~bignose/changelog-chug",
        "Issue Tracker": "https://todo.sr.ht/~bignose/changelog-chug",
        "Source": "https://git.sr.ht/~bignose/changelog-chug"
    },
    "split_keywords": [
        "version",
        " changelog",
        " release",
        " packaging"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f47b759bc32d67b4ceed949843bf374231287e6069e75f292d5c55ae2cc7d9d2",
                "md5": "c1bde50588b24bbd317d46ab80bbe5e9",
                "sha256": "e9733f861d300cf505062de0b3bf2625ef4e99e2fb171b1e218d20072587f2ba"
            },
            "downloads": -1,
            "filename": "changelog_chug-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c1bde50588b24bbd317d46ab80bbe5e9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 25439,
            "upload_time": "2024-10-26T03:07:30",
            "upload_time_iso_8601": "2024-10-26T03:07:30.202159Z",
            "url": "https://files.pythonhosted.org/packages/f4/7b/759bc32d67b4ceed949843bf374231287e6069e75f292d5c55ae2cc7d9d2/changelog_chug-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fc6df08e0f600f88c69923c692d486096ca7d2eae5d657516ec134fb45ed0ab0",
                "md5": "4ccd595cfa9e929bfa04b7e64de3663c",
                "sha256": "98ee1e8be75b6e9d512c35292c3c293a124541a4ec2014a6ec3cf33a3d265d2d"
            },
            "downloads": -1,
            "filename": "changelog_chug-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "4ccd595cfa9e929bfa04b7e64de3663c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 39326,
            "upload_time": "2024-10-26T03:07:32",
            "upload_time_iso_8601": "2024-10-26T03:07:32.719269Z",
            "url": "https://files.pythonhosted.org/packages/fc/6d/f08e0f600f88c69923c692d486096ca7d2eae5d657516ec134fb45ed0ab0/changelog_chug-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-26 03:07:32",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "changelog-chug"
}
        
Elapsed time: 0.36330s