Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 4 days 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 (almost 9 years ago)
- Default Branch: main
- Last Pushed: 2023-04-18T18:53:03.000Z (over 1 year ago)
- Last Synced: 2024-05-02T05:52:12.698Z (8 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: 14
- Watchers: 5
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# aiogithub
[![Build Status](https://travis-ci.org/reupen/aiogithub.svg?branch=master)](https://travis-ci.org/reupen/aiogithub) [![Requirements Status](https://requires.io/github/reupen/aiogithub/requirements.svg?branch=master)](https://requires.io/github/reupen/aiogithub/requirements/?branch=master) [![Documentation Status](https://readthedocs.org/projects/aiogithub/badge/?version=latest)](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 asynciofrom 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 = Noneasync 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 reposasyncio.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
```