https://github.com/reupen/aiogithub
asyncio-based GitHub API client
https://github.com/reupen/aiogithub
asyncio github github-api python-3 python-3-7 python-3-8
Last synced: about 1 month ago
JSON representation
asyncio-based GitHub API client
- Host: GitHub
- URL: https://github.com/reupen/aiogithub
- Owner: reupen
- License: bsd-3-clause
- Created: 2016-03-08T21:27:07.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2023-04-18T18:53:03.000Z (over 2 years ago)
- Last Synced: 2025-01-14T09:43:10.886Z (10 months ago)
- Topics: asyncio, github, github-api, python-3, python-3-7, python-3-8
- Language: Python
- Homepage: https://aiogithub.readthedocs.io
- Size: 156 KB
- Stars: 15
- Watchers: 5
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# aiogithub
[](https://travis-ci.org/reupen/aiogithub) [](https://requires.io/github/reupen/aiogithub/requirements/?branch=master) [](http://aiogithub.readthedocs.io/en/latest/?badge=latest)
asyncio- and aiohttp-based Python 3.7 and newer GitHub API client.
Note: This library is a work in progress. So far, select read operations have been implemented.
## A simple example
```python
import asyncio
from aiogithub import GitHub
# To use the GitHub API authenticated, you can either set the
# GITHUB_TOKEN environment variable with a personal access token
# as the value, or explicitly set the token here. Leave as None to
# use the API unauthenticated.
TOKEN = None
async def main():
async with GitHub(TOKEN) as api:
user = await api.get_user('reupen')
print(user.login)
# user is also a dict, so you can see the underlying data via
# print(user)
# Get this user's repos. There's no need to worry about
# pagination – you can simply iterate over list objects like
# this and pages will be retrieved as needed:
async for repo in user.get_repos():
pass # Do something with each repo here
# Or you can fetch the entire list like this:
repos = await user.get_repos().all()
# Do something with repos
asyncio.get_event_loop().run_until_complete(main())
```
## Installation
Currently, only development versions are available. You can install the current development version by running:
```
pip install git+https://github.com/reupen/aiogithub.git#egg=aiogithub
```