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"
}