Introduction¶
ASynchronously-Your-Acquaintances is simple Python-powered asynchronous client for GitHub API that allows you to list acquaitances from GitHub issues = all people who commented the issues in which is given user involved (author, commenter, assigned, mentioned). It has of course the ability to filter issues.
How it works¶
As the name says, it is asynchronous - so all requests are made asynchronously making the tool
quite faster than classic synchronous approach. It uses asyncio and aiohttp. Task done by
this tool can be sometimes quite complex and reaches a limits of GitHub API. For extending API
rate limit you can provide personal access token via --token
. Nevertheless, it may happen
that you reach limit even with that - you can use --wait_rate_limit
flag and application
will quietly wait until the limit resets (about 1 hour). Other problem is that GitHub Search API
provides only 1000 results so you need to use filter & sort appropriately in some cases.
MI-PYT¶
Task for MI-PYT course (FIT, CTU in Prague, 2017/18) is to implement the core module of this
application which is asya.logic
. Mandatory is to use asyncio, aiohttp and call
appropriate methods on the supervisor
object of asya.supervisor.AsyaSupervisor
class.
Installation¶
You can simply install Asya in standard Python way (system-wide or with virtual env). Python 3.4 or higher is required (asyncio is in Python since 3.4).
python setup.py install
Usage¶
After installation, you can use the CLI of Asya (for more, visit CLI docs):
asya --help
asya MarekSuchanek --token <your-secret-API-token>
License¶
This project is licensed under the MIT License (see the LICENSE file for more details).