towncrier is a utility to produce useful, summarized news files (also known as changelogs) for your project.
Rather 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.
Used by Twisted, pytest, pip, BuildBot, and attrs, among others.
While 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.
Philosophy
towncrier delivers the news which is convenient to those that hear it, not those that write it.
That 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. These fragments are also commonly called “topfiles” or “newsfiles”.
towncrier works best in a development system where all merges involve closing an issue.
To get started, check out our tutorial!
Project Links
Documentation: https://towncrier.readthedocs.io/
Release Notes: https://github.com/twisted/towncrier/blob/trunk/NEWS.rst
License: MIT
Release files for towncrier 26.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| towncrier-26.9.0.tar.gz | 79.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| towncrier-26.9.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 146.4 kB
Release files / towncrier-26.9.0.tar.gz
| Download URL | towncrier-26.9.0.tar.gz |
|---|---|
| Size | 79.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ace9031631c718cc0709107b8755e6e31350eb8acdc877af43df3177addb9a55
|
|
BLAKE2b-256 checksum How to use checksums |
92d4e85ce614bf45b1a7fe13b82cc687819c2eaac5a1dd94b84834322095fd98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency logRelease files / towncrier-26.9.0-py3-none-any.whl
| Download URL | towncrier-26.9.0-py3-none-any.whl |
|---|---|
| Size | 67.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ae4d223e6aadaff98d29b7f09e58d9c9ccf4cd3b455a2d2e0486d432cd8bf660
|
|
BLAKE2b-256 checksum How to use checksums |
8288f9340b545dafa64de053798e760515a2736fbb60092cf9aa6b146ccf3ede
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency log