{ "info": { "author": "Alexander Shorin", "author_email": "kxepal@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries" ], "description": "..\n.. Copyright 2018, Alexander Shorin\n..\n.. Licensed under the Apache License, Version 2.0 (the \"License\");\n.. you may not use this file except in compliance with the License.\n.. You may obtain a copy of the License at\n..\n.. http://www.apache.org/licenses/LICENSE-2.0\n..\n.. Unless required by applicable law or agreed to in writing, software\n.. distributed under the License is distributed on an \"AS IS\" BASIS,\n.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n.. See the License for the specific language governing permissions and\n.. limitations under the License.\n..\n\nSetuptools Changelog\n====================\n\nThis project is a setuptools extension which helps to generate change logs from\nfragments. This way of changelog management is conflict free, what is extremely\nhelpful for PR/MR driven workflow.\n\n\nRequirements\n------------\n\n- Python 2.7, 3.5+;\n- setuptools (31+, but the latest release is better);\n- Your project follows `Semantic Versioning`_ or uses it simplified (``X.Y``\n version) form;\n\n\nUsage\n-----\n\n0. Add `setuptools-changelog` as development dependency to your project;\n1. Create `changelog.d` directory in your project root directory\n (where `setup.py` is located)\n2. Create there fragments files according the changes you made. Fragments files\n have the following format::\n\n {name}.{type}.{ext}\n\n Where:\n\n - ``name``: fragment name. If it *starts* with a number and you have\n issue tracker specified, this number will turn into issue reference\n automatically. Otherwise there could be just some mnemonic name to\n simplify navigation.\n\n - ``type``: fragment type. By default, the following types are available\n\n - Major changes:\n\n - ``epic``: Massive epic change that completely changes underlying\n project platform. This could be a shift to completely new base\n library, framework, etc. Epic changes are very rare and are the reason\n for major release.\n\n - ``breaking``: Breaking change means changes in the project\n **public API** which makes old code incompatible with them.\n Incompatibility means that things were removed or their behavior had\n changed.\n\n - Minor changes:\n\n - ``security``: This is an important security fix. Users must update\n ASAP. If security fix causes breaking change, two separate changelog\n fragments should be issued.\n\n - ``deprecation``: Deprecations are friendly warnings about upcoming\n breaking changes in the public API.\n\n - ``feature``: New features brings something to project and they must be\n available for users via public API.\n\n - Patch changes:\n\n - ``bug``: When something works in the way it's not expected or supposed\n to we do a bug fix.\n\n - ``improvement``: This could be speed optimizations, internals\n refactoring, making code more stable etc. Improvements are never\n changes the existed behaviour or public API.\n\n - ``build``: Changes, related to project build routines, packaging,\n etc.\n\n - ``doc``: Documentation updates, clarifications, typo fixes, etc.\n\n - ``test``: Work around project testing, test suite, CI, etc.\n\n - ``misc``: Misc changes which doesn't suites any existed category.\n For instance, they could be announcements about project life: new\n committers, endorsements, etc.\n\n - ``ext``: file extension. Currently, we support only `rst` one.\n\n3. You can always preview changelog via::\n\n python setup.py changelog\n\n4. Once you'll be ready for release, you can update your changelog file like::\n\n python setup.py changelog --update=CHANGELOG.rst\n\n This command will *prepend* generated changelog to your file.\n\n5. Review your changelog file content and everything is fine commit it and\n remove fragments::\n\n git rm changelog.d/*\n git commit CHANGELOG.rst changelog.d/\n\nExample configuration for ``setup.cfg`` using defaults:\n\n.. code::\n\n [changelog]\n changelog_fragments_path = changelog.d\n major_changes_types =\n epic = Epic Changes\n breaking = Breaking Changes\n removal = Breaking Changes\n minor_changes_types =\n security = Security Fixes\n deprecation = Deprecations\n feature = New Features\n patch_changes_types =\n bug = Bug Fixes\n bugfix = Bug Fixes\n improvement = Improvements\n build = Build\n doc = Documentation\n test = Tests Suite\n misc = Miscellaneous\n\n\nAutomatic version generation\n----------------------------\n\nIf your project follows `Semantic Versioning`_ strategy, you can achieve not\njust changelog generation, but also automatic version management depending on\nchanges it has.\n\n\nIntegration with `towncrier`_\n-----------------------------\n\nThis project was started because there are several reasons for me to not use\n`towncrier`_ for changelog management. But\n\n.. epigraph::\n\n Why have enemies, when you can have?\n\n -- King Arthur: Legend of the Sword\n\nInstead, we can support fragments, made for towncrier with the following\nconfig:\n\n.. code::\n\n [changelog]\n changelog_fragments_path = changelog.d\n major_changes_types =\n removal = Breaking Changes\n minor_changes_types =\n feature = New Features\n patch_changes_types =\n bugfix = Bug Fixes\n doc = Documentation\n misc = Miscellaneous\n use_towncrier = true\n\nAnd that's it!\n\n\n.. _Semantic Versioning: https://semver.org/\n.. _towncrier: https://github.com/hawkowl/towncrier\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kxepal/setuptools-changelog", "keywords": "setuptools", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "setuptools-changelog", "package_url": "https://pypi.org/project/setuptools-changelog/", "platform": "", "project_url": "https://pypi.org/project/setuptools-changelog/", "project_urls": { "Homepage": "https://github.com/kxepal/setuptools-changelog" }, "release_url": "https://pypi.org/project/setuptools-changelog/1.0.0/", "requires_dist": null, "requires_python": "", "summary": "Setuptools extension to help generate change logs", "version": "1.0.0" }, "last_serial": 3971766, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "0c5d6c4a4184b008f1a4b6484b70b274", "sha256": "5c2c08d7c7840767409b3702c9c6af34ab5267bcbfa366a59ff29c4bf93b2018" }, "downloads": -1, "filename": "setuptools_changelog-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0c5d6c4a4184b008f1a4b6484b70b274", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 8143, "upload_time": "2018-06-17T19:35:04", "url": "https://files.pythonhosted.org/packages/f4/5a/2106b49c1fe4843bb6d8a464d8c0e2b1cdf4f53558970396d687497a9d85/setuptools_changelog-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ba427cb31eae70af838610fd3301e0be", "sha256": "eb73bdaf01bbd165853879044a20786947a1767549cb3d4875aed50200f013f9" }, "downloads": -1, "filename": "setuptools-changelog-1.0.0.tar.gz", "has_sig": false, "md5_digest": "ba427cb31eae70af838610fd3301e0be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24001, "upload_time": "2018-06-17T19:35:02", "url": "https://files.pythonhosted.org/packages/14/7a/1be1951a38845f88affa783698e7e60c7e5fe4d301d0d271af83fcb55581/setuptools-changelog-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0c5d6c4a4184b008f1a4b6484b70b274", "sha256": "5c2c08d7c7840767409b3702c9c6af34ab5267bcbfa366a59ff29c4bf93b2018" }, "downloads": -1, "filename": "setuptools_changelog-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0c5d6c4a4184b008f1a4b6484b70b274", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 8143, "upload_time": "2018-06-17T19:35:04", "url": "https://files.pythonhosted.org/packages/f4/5a/2106b49c1fe4843bb6d8a464d8c0e2b1cdf4f53558970396d687497a9d85/setuptools_changelog-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ba427cb31eae70af838610fd3301e0be", "sha256": "eb73bdaf01bbd165853879044a20786947a1767549cb3d4875aed50200f013f9" }, "downloads": -1, "filename": "setuptools-changelog-1.0.0.tar.gz", "has_sig": false, "md5_digest": "ba427cb31eae70af838610fd3301e0be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24001, "upload_time": "2018-06-17T19:35:02", "url": "https://files.pythonhosted.org/packages/14/7a/1be1951a38845f88affa783698e7e60c7e5fe4d301d0d271af83fcb55581/setuptools-changelog-1.0.0.tar.gz" } ] }