Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.


GitHub Actions status for master branch Chat on Gitter Latest Read The Docs

Demos for aiohttp project.

Imagetagger Deep Learning Image Classifier

Example how to deploy deep learning model with aiohttp.

URL shortener

Simple URL shortener with Redis storage.

Toxic Comments Classifier

UI and API for classification of offensive and toxic comments using Kaggle data and simple logistic regression.

Moderator Slack Bot

Slack bot that moderates offensive and toxic chat messages using model from Moderator AI.


Twitter clone

Twitter clone with MongoDB storage.


Simple chat using websockets.

Polls app

Simple polls application with PostgreSQL storage.


Blog application with PostgreSQL storage and Redis session store.

GraphQL Messenger

The simple realization of the GraphQL api.



Things you need for local development:

$ pip install -r requirements-dev.txt
$ pip install demos/polls
$ pip install demos/chat
$ pip install demos/blog
$ pip install demos/graphql-demo

To check documentation locally - run:

$ make doc

and click the open file link from the output.

To make sure everything is ok before committing:

$ make ci

Improvement plan


  • [+] create configuration steps (venv, pip install, db initialization)
  • [+] fix or recreate tests
  • [~] revise tutorial.rst
  • [+] fix urls from aiohttp/tutorial
  • [x] setup communication channels (aio-libs gitter channel is enough)
  • [~] create missing issues
  • [+] add "Contributing" section
  • [ ] add "What's next" section
  • [ ] discuss roadmap