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).