Source: https://seerepo.com/r/aio-libs/aiohttp/built
Markdown source: https://seerepo.com/r/aio-libs/aiohttp/built.md
Description: aiohttp is a Python repo built with AIOHTTP. It signs people in with cryptography. It has 104,911 written lines, with 84 test files.

# What is aiohttp built with?

aiohttp is a Python repo built with AIOHTTP. It signs people in with cryptography, makes its content with docutils, imagesize, jinja2, markdown-it-py, markupsafe, and 3 more, validates its data with annotated-types and Pydantic, is tested with pytest-asyncio, pytest-cov, pytest-timeout, pytest-xdist, Pytest, and 4 more, deploys with execnet, Gunicorn, and python-on-whales, and uses valkey. It has 104,911 written lines, with 84 test files.

Read on November 7, 2026, at commit 0ae5b96.

Repository: https://github.com/aio-libs/aiohttp

## Frontend

### Styles

- **alabaster**

### Interface

- **[Rich](https://seerepo.com/uses/rich)**

## Backend

### Data

- **valkey**

### Sign-in

- **[cryptography](https://seerepo.com/uses/cryptography)**

## Support

### The base

- **[AIOHTTP](https://seerepo.com/uses/aiohttp)**: 8 files

### Content

- **[docutils](https://seerepo.com/uses/docutils)**
- **imagesize**
- **[jinja2](https://seerepo.com/uses/jinja2)**
- **[markdown-it-py](https://seerepo.com/uses/markdown-it-py)**
- **[markupsafe](https://seerepo.com/uses/markupsafe)**
- **mdit-py-plugins**
- **[mdurl](https://seerepo.com/uses/mdurl)**
- **myst-parser**

### Validation

- **[annotated-types](https://seerepo.com/uses/annotated-types)**
- **[Pydantic](https://seerepo.com/uses/pydantic)**

### Testing

- **pytest-asyncio**
- **pytest-cov**
- **pytest-timeout**
- **pytest-xdist**
- **Pytest**: 76 files
- **pytest-aiohttp**: 24 files
- **pytest-mock**: 10 files
- **trustme**: 2 files
- **freezegun**: 1 file

### Deploy

- **execnet**
- **[Gunicorn](https://seerepo.com/uses/gunicorn)**: 1 file
- **python-on-whales**: 1 file

### Tools

- **ast-serialize**
- **build**
- **cfgv**
- **click**
- **coverage**
- **cython**
- **distlib**
- **identify**
- **iniconfig**
- **librt**
- **mypy**
- **mypy-extensions**
- **nodeenv**
- **packaging**
- **pathspec**
- **pip**
- **pip-tools**
- **pluggy**
- **pre-commit**
- **pycparser**
- **pygments**
- **pyproject-hooks**
- **python-discovery**
- **Setuptools**
- **Sphinx**
- **sphinx-issues**
- **sphinxcontrib-applehelp**
- **sphinxcontrib-devhelp**
- **sphinxcontrib-htmlhelp**
- **sphinxcontrib-jsmath**
- **sphinxcontrib-qthelp**
- **sphinxcontrib-serializinghtml**
- **virtualenv**
- **wheel**
- **typing-extensions**: 2 files

### Other

- **attrs**
- **Babel**
- **certifi**
- **cffi**
- **charset-normalizer**
- **filelock**
- **idna**
- **platformdirs**
- **proxy.py**
- **python-dateutil**
- **pyyaml**
- **requests**
- **snowballstemmer**
- **typing-inspection**
- **tzdata**
- **urllib3**
- **zlib-ng**
- **multidict**: 21 files
- **yarl**: 17 files
- **aiosignal**: 2 files
- **propcache**: 2 files
- **aiodns**: 1 file
- **aiohappyeyeballs**: 1 file
- **backports-zstd**: 1 file
- **brotli**: 1 file
- **brotlicffi**: 1 file
- **frozenlist**: 1 file
- **uvloop**: 1 file
- **winloop**: 1 file

## Other repos with a similar stack

- [ray-project/ray](https://seerepo.com/r/ray-project/ray/built): AIOHTTP, alabaster, Rich, cryptography, docutils, imagesize, jinja2, markdown-it-py, markupsafe, mdurl, annotated-types, Pydantic, Gunicorn · [Compare](https://seerepo.com/compare/aio-libs/aiohttp/vs/ray-project/ray)
- [onyx-dot-app/onyx](https://seerepo.com/r/onyx-dot-app/onyx/built): AIOHTTP, Rich, cryptography, docutils, jinja2, markdown-it-py, markupsafe, mdurl, annotated-types, Pydantic, execnet · [Compare](https://seerepo.com/compare/aio-libs/aiohttp/vs/onyx-dot-app/onyx)
- [apache/superset](https://seerepo.com/r/apache/superset/built): AIOHTTP, Rich, cryptography, jinja2, markdown-it-py, markupsafe, mdurl, annotated-types, Pydantic, Gunicorn · [Compare](https://seerepo.com/compare/aio-libs/aiohttp/vs/apache/superset)
- [Aider-AI/aider](https://seerepo.com/r/Aider-AI/aider/built): AIOHTTP, Rich, cryptography, jinja2, markdown-it-py, markupsafe, mdurl, annotated-types, Pydantic · [Compare](https://seerepo.com/compare/Aider-AI/aider/vs/aio-libs/aiohttp)
- [agno-agi/agno](https://seerepo.com/r/agno-agi/agno/built): AIOHTTP, Rich, cryptography, jinja2, markdown-it-py, markupsafe, mdurl, annotated-types, Pydantic · [Compare](https://seerepo.com/compare/agno-agi/agno/vs/aio-libs/aiohttp)
- [HKUDS/Vibe-Trading](https://seerepo.com/r/HKUDS/Vibe-Trading/built): AIOHTTP, Rich, cryptography, jinja2, markdown-it-py, markupsafe, mdurl, annotated-types, Pydantic · [Compare](https://seerepo.com/compare/aio-libs/aiohttp/vs/HKUDS/Vibe-Trading)

## Frequently asked questions

### What language is aiohttp written in?

aiohttp is written in Python, with 104,911 written lines.

### What framework does aiohttp use?

aiohttp is built with AIOHTTP.

### What does aiohttp sign people in with?

aiohttp signs people in with cryptography.

### What services does aiohttp use?

aiohttp uses valkey.

### Does aiohttp have tests?

Yes. aiohttp has 84 test files and is tested with pytest-asyncio, pytest-cov, pytest-timeout, pytest-xdist, Pytest, pytest-aiohttp, pytest-mock, trustme, and freezegun.

### Which repos have a stack like aiohttp's?

The ones that share most of its stack: ray-project/ray, onyx-dot-app/onyx, and apache/superset.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
