github-activity#
Generate markdown changelogs for GitHub repositories with more control over the kinds of contributions that are included.
GitHub Activity allows you to include more than just “PR author” in your changelogs, such as PR reviewers and issue commenters. This allows you to give credit to a wider group of contributors around your project. Below are some examples, see How we define contributors in a changelog for more information.
PR Authors
PR Reviewers and Mergers
Issue and PR commenters
It also allows you split PRs into sections in your changelog, using either PR labels or PR title metadata (e.g., [ENH]). See Split PRs by tags and prefixes for more information.
GitHub Activity uses the GitHub GraphQL API, along with some basic pagination and caching to efficiently pull data from GitHub.
See also
See the JupyterHub Team changelog for an example of this tool in action.
Installation and basic usage#
The easiest way to install this package is to do so directly from GitHub with pip:
pip install github-activity
You can then use it like so:
github-activity [<org>/<repo>] --since <date or ref> --until <date or ref>
Why use this tool?#
We created github-activity because there is a lot that goes into building open source tools than just making a pull request. This tool tries to surface more diverse contributions around a release, like reviews, comments, etc. It tries to paint a more complete picture of all the work that goes into building open source software.
You might want to use this tool if you’re hoping to give credit and attribution to more people in your open source community. This gives your community a feeling of more appreciation, and can create more incentives for others to contribute.
- User guide
- Generate a markdown changelog
- Choose a date or a tag to filter activity
- Split PRs by tags and prefixes
- Include Pull Request reviewers and commenters in your changelog
- Include a list of all contributors at the end of your changelog
- Strip PR type metadata from the changelog titles
- Change the heading level for your changelog items
- Include issues in your changelog
- Include opened issues in your changelog
- Remove bots from the changelog
- Use a GitHub API token
- Use the Python API
- Contributor guide
- Changelog