Source: https://seerepo.com/r/Aider-AI/aider/built
Markdown source: https://seerepo.com/r/Aider-AI/aider/built.md
Description: aider is a Python repo built with AIOHTTP, anyio, asgiref, FastAPI, starlette, and 2 more. It stores its data in SQLite and reaches it with SQLAlchemy.

# What is aider built with?

aider is a Python repo built with AIOHTTP, anyio, asgiref, FastAPI, starlette, and 2 more. It stores its data in SQLite, reaches it with SQLAlchemy, signs people in with cryptography and Google, uses AI through llama-index-instrumentation, llama-index-workflows, nltk, openai, safetensors, and 9 more, measures its use with PostHog, makes its content with filetype, jinja2, markdown-it-py, markupsafe, mdurl, and 4 more, validates its data with annotated-types, jsonschema-specifications, marshmallow, Pydantic, referencing, and 1 more, is tested with pytest-cov, Pytest, and playwright, deploys with psutil, and uses aiosqlite, gitdb, google-cloud-core, pyarrow, and diskcache. It has 40,345 written lines, with 57 test files.

Read on November 5, 2026, at commit 5dc9490.

Repository: https://github.com/Aider-AI/aider

## Frontend

### Styles

- **cycler**
- **fonttools**
- **soupsieve**

### Interface

- **contourpy**
- **[matplotlib](https://seerepo.com/uses/matplotlib)**
- **[Rich](https://seerepo.com/uses/rich)**: 5 files
- **[prompt-toolkit](https://seerepo.com/uses/prompt-toolkit)**: 4 files

## Backend

### Data

- **[aiosqlite](https://seerepo.com/uses/aiosqlite)**
- **gitdb**
- **google-cloud-core**
- **[pyarrow](https://seerepo.com/uses/pyarrow)**
- **[SQLite](https://seerepo.com/uses/sqlite)**: 2 files · [requirements/common-constraints.txt, line 11](https://github.com/Aider-AI/aider/blob/5dc9490bb35f9729ef2c95d00a19ccd30c26339c/requirements/common-constraints.txt#L11)
- **diskcache**: 1 file

### Data access

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

### Sign-in

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

### AI

- **llama-index-instrumentation**
- **llama-index-workflows**
- **[nltk](https://seerepo.com/uses/nltk)**
- **[openai](https://seerepo.com/uses/openai)**
- **[safetensors](https://seerepo.com/uses/safetensors)**
- **[scikit-learn](https://seerepo.com/uses/scikit-learn)**
- **[sentence-transformers](https://seerepo.com/uses/sentence-transformers)**
- **[tiktoken](https://seerepo.com/uses/tiktoken)**
- **[tokenizers](https://seerepo.com/uses/tokenizers)**
- **[torch](https://seerepo.com/uses/torch)**
- **[transformers](https://seerepo.com/uses/transformers)**
- **[litellm](https://seerepo.com/uses/litellm)**: 2 files
- **llama-index-core**: 1 file
- **llama-index-embeddings-huggingface**: 1 file

### Services

- **[PostHog](https://seerepo.com/uses/posthog)**: 1 file · [aider/analytics.py, line 9](https://github.com/Aider-AI/aider/blob/5dc9490bb35f9729ef2c95d00a19ccd30c26339c/aider/analytics.py#L9)

## Support

### The base

- **[AIOHTTP](https://seerepo.com/uses/aiohttp)**
- **[anyio](https://seerepo.com/uses/anyio)**
- **asgiref**
- **[FastAPI](https://seerepo.com/uses/fastapi)**
- **[starlette](https://seerepo.com/uses/starlette)**
- **tornado**
- **Streamlit**: 2 files

### Content

- **filetype**
- **[jinja2](https://seerepo.com/uses/jinja2)**
- **[markdown-it-py](https://seerepo.com/uses/markdown-it-py)**
- **markupsafe**
- **mdurl**
- **tinytag**
- **[pillow](https://seerepo.com/uses/pillow)**: 2 files
- **[beautifulsoup4](https://seerepo.com/uses/beautifulsoup4)**: 1 file
- **pypandoc**: 1 file

### Validation

- **annotated-types**
- **jsonschema-specifications**
- **marshmallow**
- **[Pydantic](https://seerepo.com/uses/pydantic)**
- **referencing**
- **[jsonschema](https://seerepo.com/uses/jsonschema)**: 1 file

### Testing

- **pytest-cov**
- **Pytest**: 5 files
- **playwright**: 2 files

### Deploy

- **[psutil](https://seerepo.com/uses/psutil)**: 1 file

### Tools

- **annotated-doc**
- **banks**
- **build**
- **cfgv**
- **click**
- **codespell**
- **coverage**
- **distlib**
- **flake8**
- **griffe**
- **griffelib**
- **html-proofer**
- **identify**
- **iniconfig**
- **Jekyll**
- **jekyll-redirect-from**
- **jekyll-sitemap**
- **mccabe**
- **mypy-extensions**
- **nodeenv**
- **pip**
- **pip-tools**
- **pluggy**
- **pre-commit**
- **pycodestyle**
- **pycparser**
- **pyflakes**
- **pyproject-hooks**
- **python-discovery**
- **Setuptools**
- **shellingham**
- **tree-sitter-c-sharp**
- **Typer**
- **typing-extensions**
- **typing-inspect**
- **uv**
- **virtualenv**
- **wheel**
- **gitpython**: 4 files
- **packaging**: 2 files
- **pathspec**: 2 files
- **pygments**: 2 files
- **tree-sitter**: 1 file
- **watchfiles**: 1 file

### Other

- **aiohappyeyeballs**
- **aiosignal**
- **attrs**
- **audioop-lts**
- **backoff**
- **blinker**
- **cachetools**
- **certifi**
- **cffi**
- **charset-normalizer**
- **colorama**
- **dataclasses-json**
- **deprecated**
- **dirtyjson**
- **distro**
- **fastuuid**
- **filelock**
- **frozenlist**
- **fsspec**
- **google-api-core**
- **google-crc32c**
- **google-resumable-media**
- **googleapis-common-protos**
- **greenlet**
- **grpcio**
- **grpcio-status**
- **h11**
- **hf-xet**
- **httpcore**
- **idna**
- **importlib-metadata**
- **jiter**
- **joblib**
- **kiwisolver**
- **multidict**
- **narwhals**
- **nest-asyncio**
- **orjson**
- **pandas**
- **platformdirs**
- **propcache**
- **proto-plus**
- **protobuf**
- **ptyprocess**
- **pyasn1**
- **pyasn1-modules**
- **pyee**
- **pyparsing**
- **python-dateutil**
- **pytz**
- **regex**
- **rpds-py**
- **SciPy**
- **semver**
- **six**
- **smmap**
- **sniffio**
- **socksio**
- **SymPy**
- **tenacity**
- **threadpoolctl**
- **toml**
- **typing-inspection**
- **tzdata**
- **urllib3**
- **wcwidth**
- **webrick**
- **wrapt**
- **yarl**
- **zipp**
- **requests**: 4 files
- **httpx**: 2 files
- **importlib-resources**: 2 files
- **networkx**: 2 files
- **NumPy**: 2 files
- **pyperclip**: 2 files
- **tqdm**: 2 files
- **configargparse**: 1 file
- **json5**: 1 file
- **pexpect**: 1 file
- **pydub**: 1 file
- **python-dotenv**: 1 file
- **pyyaml**: 1 file
- **sounddevice**: 1 file
- **soundfile**: 1 file

## Other repos with a similar stack

- [run-llama/llama_index](https://seerepo.com/r/run-llama/llama_index/built): aiosqlite, pyarrow, SQLite, AIOHTTP, anyio, starlette, tornado, soupsieve, matplotlib, Rich, prompt-toolkit, SQLAlchemy, cryptography, Google, nltk, OpenAI, scikit-learn, sentence-transformers, tiktoken, tokenizers, torch, transformers, litellm, llama-index-core, filetype, jinja2, markupsafe, tinytag, pillow, beautifulsoup4, annotated-types, jsonschema-specifications, marshmallow, Pydantic, referencing, jsonschema, psutil · [Compare](https://seerepo.com/compare/Aider-AI/aider/vs/run-llama/llama_index)
- [apache/superset](https://seerepo.com/r/apache/superset/built): google-cloud-core, pyarrow, AIOHTTP, anyio, starlette, cycler, fonttools, soupsieve, contourpy, matplotlib, Rich, prompt-toolkit, SQLAlchemy, cryptography, Google, tiktoken, jinja2, markdown-it-py, markupsafe, mdurl, pillow, beautifulsoup4, annotated-types, jsonschema-specifications, Pydantic, referencing, jsonschema, psutil · [Compare](https://seerepo.com/compare/Aider-AI/aider/vs/apache/superset)
- [datawhalechina/hello-agents](https://seerepo.com/r/datawhalechina/hello-agents/built): aiosqlite, SQLite, AIOHTTP, anyio, FastAPI, starlette, Streamlit, cycler, fonttools, contourpy, matplotlib, Rich, SQLAlchemy, OpenAI, safetensors, scikit-learn, sentence-transformers, tiktoken, tokenizers, torch, transformers, jinja2, pillow, beautifulsoup4, annotated-types, Pydantic, jsonschema · [Compare](https://seerepo.com/compare/Aider-AI/aider/vs/datawhalechina/hello-agents)
- [bojieli/ai-agent-book](https://seerepo.com/r/bojieli/ai-agent-book/built): pyarrow, PostHog, AIOHTTP, anyio, FastAPI, matplotlib, Rich, Google, nltk, OpenAI, scikit-learn, sentence-transformers, tiktoken, torch, transformers, litellm, pillow, beautifulsoup4, Pydantic, psutil · [Compare](https://seerepo.com/compare/Aider-AI/aider/vs/bojieli/ai-agent-book)
- [unslothai/unsloth](https://seerepo.com/r/unslothai/unsloth/built): anyio, FastAPI, matplotlib, Rich, cryptography, OpenAI, safetensors, scikit-learn, sentence-transformers, tiktoken, tokenizers, torch, transformers, jinja2, markdown-it-py, mdurl, pillow, Pydantic, psutil · [Compare](https://seerepo.com/compare/Aider-AI/aider/vs/unslothai/unsloth)
- [Significant-Gravitas/AutoGPT](https://seerepo.com/r/Significant-Gravitas/AutoGPT/built): pyarrow, PostHog, AIOHTTP, FastAPI, Rich, prompt-toolkit, SQLAlchemy, cryptography, Google, OpenAI, tiktoken, jinja2, markdown-it-py, pillow, beautifulsoup4, Pydantic, jsonschema, psutil · [Compare](https://seerepo.com/compare/Aider-AI/aider/vs/Significant-Gravitas/AutoGPT)

## Frequently asked questions

### What language is aider written in?

aider is written in Python, with 40,345 written lines.

### What framework does aider use?

aider is built with AIOHTTP, anyio, asgiref, FastAPI, starlette, tornado, and Streamlit.

### What database does aider use?

aider stores its data in SQLite and reaches it with SQLAlchemy.

The proof: [requirements/common-constraints.txt, line 11](https://github.com/Aider-AI/aider/blob/5dc9490bb35f9729ef2c95d00a19ccd30c26339c/requirements/common-constraints.txt#L11)

### What does aider sign people in with?

aider signs people in with cryptography and Google.

### Does aider use AI?

Yes. aider uses AI through llama-index-instrumentation, llama-index-workflows, nltk, openai, safetensors, scikit-learn, sentence-transformers, tiktoken, tokenizers, torch, transformers, litellm, llama-index-core, and llama-index-embeddings-huggingface.

### What services does aider use?

aider measures its use with PostHog and uses aiosqlite, gitdb, google-cloud-core, pyarrow, and diskcache.

The proof: [aider/analytics.py, line 9](https://github.com/Aider-AI/aider/blob/5dc9490bb35f9729ef2c95d00a19ccd30c26339c/aider/analytics.py#L9)

### Does aider have tests?

Yes. aider has 57 test files and is tested with pytest-cov, Pytest, and playwright.

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

The ones that share most of its stack: run-llama/llama_index, apache/superset, and datawhalechina/hello-agents.

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