github-changelog
This is a small utility that generates a changelog between two git tags based on GitHub pull request titles as either plaintext or markdown.
An example might look like:
Installing
pip install github-changelog
Using
changelog [-h] [-m] OWNER REPO [PREVIOUS] [CURRENT]
The changelog command takes a GitHub repository owner (user or organization), repository name and zero, one, or two tags to limit the set of changes to consider. If no tags are provided, the changelog will be computed between the latest tag and HEAD. One tag may be provided to set the base tag to compare against HEAD. Two tags may be provided to specify both base tag and ending tag. The generated changelog will list all GitHub pull requests that have been merged between the specified or inferred tags. If -m is specified the output will be formatted in markdown and include links to the pull requests.
Pull request merges are identified by their commit message, usually taking the form of Merge pull request #123…. Squash-and-merged pull requests are identified by having the PR number in parentheses at the end of first line of the commit message.
Examples
changelog cfpb github-changelog
Will generate a text changelog between the latest tag and HEAD.
changelog cfpb github-changelog 1.0.0
Will generate a text changelog between 1.0.0 and HEAD.
changelog -m cfpb github-changelog 1.0.0 1.0.1
Will generate a markdown changelog between 1.0.0 and 1.0.1.
Overriding the Default Branch
The default branch is set to main. To override this, use the optional --branch argument to specify a different branch. For example:
changelog owner some-repo \
--branch "production"
GitHub Enterprise Support
Use the optional --github-base-url, --github-api-url, and --github-token arguments to connect to a GitHub Enterprise instance. For example:
changelog owner some-repo \
--github-base-url "https://github.company.com" \
--github-api-url "https://github.company.com/api/v3" \
--github-token secret-value
Getting help
Please add issues to the issue tracker.
Getting involved
General instructions on how to contribute can be found in CONTRIBUTING.
Open source licensing info
Metadata
Release files for github-changelog 1.5.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 | Provenance | |
|---|---|---|---|---|
| github-changelog-1.5.0.tar.gz | 11.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| github_changelog-1.5.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 22.1 kB
Release files / github-changelog-1.5.0.tar.gz
| Download URL | github-changelog-1.5.0.tar.gz |
|---|---|
| Size | 11.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c099c73c7e5eb60569ff236873bb2ea8669cef9aaff5b8cddcebba328188550c
|
|
BLAKE2b-256 checksum How to use checksums |
85f54e1e08c7fbb1f001b0f13c4cd71250b88bdbe94140cb58b17e5b826048aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / github_changelog-1.5.0-py2.py3-none-any.whl
| Download URL | github_changelog-1.5.0-py2.py3-none-any.whl |
|---|---|
| Size | 10.9 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
85b7c873dd23c216dc6431f0848fe5e4357932a15ea39d5d06038441cc0fb40f
|
|
BLAKE2b-256 checksum How to use checksums |
922859b57f4980edfbee95264e94239f2c7949451e24ef14b8c76faca1ad4642
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Security for github-changelog 1.5.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.