Asynchronous Python client for the GitHub API
Project description
aiogithubapi
Asynchronous Python client for the GitHub API
This is not a full client for the API (Have you seen it, it's huge), and will probably never be. Things are added when needed or requested.
If something you need is missing please raise a feature request to have it added or create a PR 🎉.
For examples on how to use it see the tests directory.
Install
python3 -m pip install aiogithubapi
Project transition
Note: This project is currently in a transition phase.
In August 2021 a new API interface was introduced (in #42). With that addition, all parts of the old interface are now considered deprecated. Which includes:
- The
aiogithubapi.commonmodule - The
aiogithubapi.legacymodule - The
aiogithubapi.objectsmodule - All classes starting with
AIOGitHub - The
async_call_apifunction in theaiogithubapi/helpers.pyfile - The
GitHubDeviceclass inaiogithubapi, replaced withGitHubDeviceAPI - The
GitHubclass inaiogithubapi, replaced withGitHubAPI
Warning: The deprecated code will be removed in a future release. Please migrate to the new API interface.
Contribute
All contributions are welcome!
- Fork the repository
- Clone the repository locally and open the devcontainer or use GitHub codespaces
- Do your changes
- Lint the files with
scripts/lint - Ensure all tests pass with
scripts/test - Ensure 100% coverage with
scripts/coverage - Commit your work, and push it to GitHub
- Create a PR against the
mainbranch
Versioning
This project follows Semantic Versioning.
Early releases used semver (0.1.0–2.0.0), followed by a period of calendar versioning (21.1.0–25.5.0). Starting with 26.0.0, the project returns to semver — using 26.x.x as the starting point to stay above the last calver release and avoid confusing package managers.
Version bumps are determined automatically by PR labels:
breaking-change→ majorfeature/enhancement→ minor- All other changes → patch
Release
Releases are automated via GitHub Actions. The flow works as follows:
- PRs are merged to
mainwith appropriate labels - On every merge, release-drafter automatically maintains a draft GitHub Release with categorized changelog entries built from PR titles and authors
- Changelog entries are grouped into: Breaking changes, New features, Enhancements, Bug fixes, Maintenance, Documentation, and Dependencies
- A maintainer reviews the draft and publishes the release via the GitHub Releases UI
- Publishing the GitHub Release for a tag (creating or selecting the tag in the UI) triggers the release workflow, which stamps the version into
pyproject.toml, builds the package, and publishes it to PyPI via OIDC trusted publishing
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiogithubapi-26.0.0.tar.gz.
File metadata
- Download URL: aiogithubapi-26.0.0.tar.gz
- Upload date:
- Size: 37.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71ee97ebb242378535551ede80605384d1d3536b83e68dae938ce201d06dac33
|
|
| MD5 |
f51e358e00e3f144a687f088ea99bb8d
|
|
| BLAKE2b-256 |
414c1319dc5f7772f2ad960bd84d47d972a64aa596b6cdd966956e5e85501333
|
Provenance
The following attestation bundles were made for aiogithubapi-26.0.0.tar.gz:
Publisher:
release.yml on ludeeus/aiogithubapi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aiogithubapi-26.0.0.tar.gz -
Subject digest:
71ee97ebb242378535551ede80605384d1d3536b83e68dae938ce201d06dac33 - Sigstore transparency entry: 1004806131
- Sigstore integration time:
-
Permalink:
ludeeus/aiogithubapi@279ed462ef7d2f7dbafe476d0953393ed2bb9660 -
Branch / Tag:
refs/tags/26.0.0 - Owner: https://github.com/ludeeus
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@279ed462ef7d2f7dbafe476d0953393ed2bb9660 -
Trigger Event:
release
-
Statement type:
File details
Details for the file aiogithubapi-26.0.0-py3-none-any.whl.
File metadata
- Download URL: aiogithubapi-26.0.0-py3-none-any.whl
- Upload date:
- Size: 72.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
156b5f9217d23cb0eb65e233b19c10f499f1ba3bcf1d7d65e3a463c034e3813a
|
|
| MD5 |
43188c9a96ed81c221e2062d6791e83c
|
|
| BLAKE2b-256 |
02a03102dbe2457eceb2e71f295e5d08f0f07c4982f82366cce34b2a332e348e
|
Provenance
The following attestation bundles were made for aiogithubapi-26.0.0-py3-none-any.whl:
Publisher:
release.yml on ludeeus/aiogithubapi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aiogithubapi-26.0.0-py3-none-any.whl -
Subject digest:
156b5f9217d23cb0eb65e233b19c10f499f1ba3bcf1d7d65e3a463c034e3813a - Sigstore transparency entry: 1004806132
- Sigstore integration time:
-
Permalink:
ludeeus/aiogithubapi@279ed462ef7d2f7dbafe476d0953393ed2bb9660 -
Branch / Tag:
refs/tags/26.0.0 - Owner: https://github.com/ludeeus
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@279ed462ef7d2f7dbafe476d0953393ed2bb9660 -
Trigger Event:
release
-
Statement type: