{"id":13468891,"url":"https://github.com/twisted/towncrier","last_synced_at":"2025-05-13T17:10:47.172Z","repository":{"id":37471077,"uuid":"48647797","full_name":"twisted/towncrier","owner":"twisted","description":"Manage the release notes for your project.","archived":false,"fork":false,"pushed_at":"2025-04-17T14:47:32.000Z","size":1015,"stargazers_count":823,"open_issues_count":62,"forks_count":126,"subscribers_count":16,"default_branch":"trunk","last_synced_at":"2025-04-19T09:25:25.119Z","etag":null,"topics":["newsfile","project-management","python","release-automation","release-notes"],"latest_commit_sha":null,"homepage":"https://towncrier.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/twisted.png","metadata":{"files":{"readme":"README.rst","changelog":"NEWS.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-12-27T14:23:37.000Z","updated_at":"2025-04-17T14:47:34.000Z","dependencies_parsed_at":"2023-10-24T10:29:27.543Z","dependency_job_id":"dfe8c1b2-1e36-4f0b-a206-a2532464dc08","html_url":"https://github.com/twisted/towncrier","commit_stats":{"total_commits":523,"total_committers":47,"mean_commits":"11.127659574468085","dds":0.7476099426386233,"last_synced_commit":"5642c8e3162f9b70dc3c1861a1651d6b09eed8a5"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twisted%2Ftowncrier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twisted%2Ftowncrier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twisted%2Ftowncrier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twisted%2Ftowncrier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/twisted","download_url":"https://codeload.github.com/twisted/towncrier/tar.gz/refs/heads/trunk","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250529906,"owners_count":21445692,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["newsfile","project-management","python","release-automation","release-notes"],"created_at":"2024-07-31T15:01:21.392Z","updated_at":"2025-04-23T23:22:29.900Z","avatar_url":"https://github.com/twisted.png","language":"Python","readme":"Hear ye, hear ye, says the ``towncrier``\n========================================\n\n.. image:: https://img.shields.io/badge/Docs-Read%20The%20Docs-black\n   :alt: Documentation\n   :target: https://towncrier.readthedocs.io/\n\n.. image:: https://img.shields.io/badge/license-MIT-C06524\n   :alt: License: MIT\n   :target: https://github.com/twisted/towncrier/blob/trunk/LICENSE\n\n.. image:: https://img.shields.io/pypi/v/towncrier\n   :alt: PyPI release\n   :target: https://pypi.org/project/towncrier/\n\n``towncrier`` is a utility to produce useful, summarized news files (also known as changelogs) for your project.\n\nRather than reading the Git history, or having one single file which developers all write to and produce merge conflicts, ``towncrier`` reads \"news fragments\" which contain information useful to **end users**.\n\nUsed by `Twisted \u003chttps://github.com/twisted/twisted\u003e`_, `pytest \u003chttps://github.com/pytest-dev/pytest/\u003e`_, `pip \u003chttps://github.com/pypa/pip/\u003e`_, `BuildBot \u003chttps://github.com/buildbot/buildbot\u003e`_, and `attrs \u003chttps://github.com/python-attrs/attrs\u003e`_, among others.\n\nWhile the command line tool ``towncrier`` requires Python to run, as long as you don't use any Python-specific affordances (like auto-detection of the project version), it is usable with **any project type** on **any platform**.\n\n\nPhilosophy\n----------\n\n``towncrier`` delivers the news which is convenient to those that hear it, not those that write it.\n\nThat is, by duplicating what has changed from the \"developer log\" (which may contain complex information about the original issue, how it was fixed, who authored the fix, and who reviewed the fix) into a \"news fragment\" (a small file containing just enough information to be useful to end users), ``towncrier`` can produce a digest of the changes which is valuable to those who may wish to use the software.\nThese fragments are also commonly called \"topfiles\" or \"newsfiles\".\n\n``towncrier`` works best in a development system where all merges involve closing an issue.\n\nTo get started, check out our `tutorial \u003chttps://towncrier.readthedocs.io/en/latest/tutorial.html\u003e`_!\n\n.. links\n\nProject Links\n-------------\n\n- **PyPI**: https://pypi.org/project/towncrier/\n- **Documentation**: https://towncrier.readthedocs.io/\n- **Release Notes**: https://github.com/twisted/towncrier/blob/trunk/NEWS.rst\n- **License**: `MIT \u003chttps://github.com/twisted/towncrier/blob/trunk/LICENSE\u003e`_\n","funding_links":[],"categories":["Python","Other Tools","Changelog Tools"],"sub_categories":["CLI Tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwisted%2Ftowncrier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftwisted%2Ftowncrier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwisted%2Ftowncrier/lists"}