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)
| File | Size | Uploaded | |
|---|---|---|---|
| external_github_contributors-1.1.1.tar.gz | 8.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|