Skip to main content

External GitHub contributors

This is a simple script to get a list of external contributors that authored commits on a GitHub-hosted project within a range defined by two given Git references.

Install

This project can be installed via pip:

pip install external-github-contributors

Install from source

This project uses Poetry to manage its dependencies. Poetry needs to be installed in order to be able to follow the installation and usage instructions.

Clone the repository and install the dependencies:

git clone https://github.com/babolivier/external-github-contributors.git
cd external-github-contributors
poetry install

Usage

If you have installed this project using pip, run python -m external_github_contributors.

If you have installed this project from source, in your local checkout of this repository, run poetry run external_github_contributors [args].

A complete synopsis is available below:

usage: external_github_contributors [-h] --team TEAM --repo REPO [--token TOKEN] [--md] oldest_ref most_recent_ref

Simple script to list external contributors to a project who authored contributions between two specific references.

positional arguments:
  oldest_ref       The oldest of the two refs to compare.
  most_recent_ref  The most recent of the two refs to compare.

options:
  -h, --help       show this help message and exit
  --team TEAM      The team listing internal contributors to exclude. In the format ORG_NAME/teams/TEAM_SLUG.
  --repo REPO      The repository to list contributors of. In the format ORG_NAME/REPO_NAME.
  --token TOKEN    The GitHub access token to use when making request to the API. Must have the read:org scope.
                   If not provided as a command-line argument, must be in the GITHUB_TOKEN environment variable.
  --md             If provided, prints the contributors as markdown links. The text for the link is the user's
                   display name (e.g. full name) as configured in their GitHub profile. This option requires an
                   additional API call for each contributor, and therefore introduces additional delay.

As an example, here's a run of the script to get the list of external contributors that committed to the matrix-org/synapse repository between Synapse 1.68 and Synapse 1.69:

python -m external_github_contributors --team=matrix-org/teams/core-team --repo=matrix-org/synapse v1.68.0 v1.69.0
10 external contributors found after looking at 114 commits:
- ...

In this example, the GitHub access token is stored in the environment.

Contribute

Please report bugs as issues on this repository, although fixing them will be done on a best-effort basis. Pull requests are welcome.

Metadata

Release files for external-github-contributors 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for external-github-contributors 1.1.1
File Size Uploaded
external_github_contributors-1.1.1.tar.gz 8.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for external-github-contributors 1.1.1
File Interpreter ABI Platform
external_github_contributors-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 17.7 kB

Release files / external_github_contributors-1.1.1.tar.gz

Download URL external_github_contributors-1.1.1.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b7ec0757a97eb2f967648295f92d3445019fd84b7b85e956c1fce4319d24042a
BLAKE2b-256 checksum
How to use checksums
4e76264e8e581b3817391621cb1e2b34d382c6b4b4894a2f0b21b3b6500c6653
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.8

Release files / external_github_contributors-1.1.1-py3-none-any.whl

Download URL external_github_contributors-1.1.1-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c222107bea7459f5aaf95a7ad30bea7665a15ed4967b842678032b5508474940
BLAKE2b-256 checksum
How to use checksums
242571839862a8eaca0b73d2bd6c1cf29796d4c9fc5517bb38c6ff802833213c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.8

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page