Source: https://seerepo.com/r/cvat-ai/cvat/built
Markdown source: https://seerepo.com/r/cvat-ai/cvat/built.md
Description: cvat is a TypeScript repo built with Django, anyio, asgiref, tornado, uvicorn, and 4 more.

# What is cvat built with?

cvat is a TypeScript repo built with Django, anyio, asgiref, tornado, uvicorn, and 4 more. It stores its data in rq, django-rq, Postgres, and clickhouse-connect, signs people in with cryptography, oauthlib, pyjwt, python3-saml, requests-oauthlib, and 2 more, uses AI through nltk, scikit-learn, pycocotools, and onnxruntime-web, makes its content with imagesize, lxml, ruamel-yaml-clib, pillow, av, and 6 more, validates its data with jsonschema and prop-types, is tested with freezegun and fakeredis, deploys with kubernetes, psutil, azure-core, boto3, and botocore, and uses google-cloud-core, h5py, psycopg2-binary, pyarrow, s3transfer, and 4 more. It has 341,391 written lines, with 453 test files.

Read on November 7, 2026, at commit 1a69829.

Repository: https://github.com/cvat-ai/cvat

## Frontend (/)

### Styles

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

### Interface

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

## Backend (/)

### The base

- **[Django](https://seerepo.com/uses/django)**: 156 files

### Data

- **google-cloud-core**
- **h5py**
- **[psycopg2-binary](https://seerepo.com/uses/psycopg2-binary)**
- **[pyarrow](https://seerepo.com/uses/pyarrow)**
- **s3transfer**
- **rq**: 35 files
- **django-rq**: 22 files
- **[Redis](https://seerepo.com/uses/redis)**: 10 files · [cvat/apps/engine/cache.py, line 33](https://github.com/cvat-ai/cvat/blob/1a69829b80f7bb0438352ee4a66c84d93a1dd36b/cvat/apps/engine/cache.py#L33)
- **[Postgres](https://seerepo.com/uses/postgres)**: 3 files · [cvat/utils/django_database/utils.py, line 1](https://github.com/cvat-ai/cvat/blob/1a69829b80f7bb0438352ee4a66c84d93a1dd36b/cvat/utils/django_database/utils.py#L1)
- **clickhouse-connect**: 2 files
- **[azure-storage-blob](https://seerepo.com/uses/azure-storage-blob)**: 1 file

### Sign-in

- **[cryptography](https://seerepo.com/uses/cryptography)**
- **oauthlib**
- **[pyjwt](https://seerepo.com/uses/pyjwt)**
- **python3-saml**
- **requests-oauthlib**
- **django-allauth**: 11 files
- **[Google](https://seerepo.com/uses/google)**: 1 file

### AI

- **[nltk](https://seerepo.com/uses/nltk)**
- **[scikit-learn](https://seerepo.com/uses/scikit-learn)**
- **pycocotools**: 3 files

### Services

- **Google Cloud Storage**: 1 file · [cvat/apps/engine/cloud_provider.py, line 1](https://github.com/cvat-ai/cvat/blob/1a69829b80f7bb0438352ee4a66c84d93a1dd36b/cvat/apps/engine/cloud_provider.py#L1)

## Support (/)

### The base

- **[anyio](https://seerepo.com/uses/anyio)**
- **asgiref**
- **tornado**
- **[uvicorn](https://seerepo.com/uses/uvicorn)**
- **djangorestframework**: 85 files

### Content

- **imagesize**
- **[lxml](https://seerepo.com/uses/lxml)**
- **ruamel-yaml-clib**
- **[pillow](https://seerepo.com/uses/pillow)**: 34 files
- **[av](https://seerepo.com/uses/av)**: 8 files
- **[defusedxml](https://seerepo.com/uses/defusedxml)**: 2 files
- **pdf2image**: 1 file
- **ruamel-yaml**: 1 file

### Validation

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

### Testing

- **freezegun**
- **fakeredis**: 4 files

### Deploy

- **kubernetes**
- **[psutil](https://seerepo.com/uses/psutil)**
- **azure-core**: 1 file
- **[boto3](https://seerepo.com/uses/boto3)**: 1 file
- **[botocore](https://seerepo.com/uses/botocore)**: 1 file

### Tools

- **bandit**
- **Black**
- **click**
- **django-extensions**
- **isort**
- **pipx**
- **pycparser**
- **pylint**
- **snakeviz**
- **tensorboardx**
- **typing-extensions**
- **typos**
- **watchfiles**
- **drf-spectacular**: 28 files
- **coverage**: 1 file
- **packaging**: 1 file

### Other

- **cachetools**
- **certifi**
- **cffi**
- **charset-normalizer**
- **crontab**
- **deprecated**
- **django-crum**
- **durationpy**
- **google-crc32c**
- **google-resumable-media**
- **googleapis-common-protos**
- **h11**
- **httptools**
- **idna**
- **isodate**
- **jmespath**
- **joblib**
- **kiwisolver**
- **limits**
- **lz4**
- **mmh3**
- **networkx**
- **orjson**
- **pandas**
- **portalocker**
- **proto-plus**
- **protobuf**
- **pyasn1**
- **pyasn1-modules**
- **pyparsing**
- **pyrsistent**
- **python-dateutil**
- **python-dotenv**
- **python-rapidjson**
- **pytz**
- **regex**
- **rsa**
- **ruamel.yaml**
- **six**
- **sortedcontainers**
- **sqlparse**
- **tabulate**
- **tenacity**
- **threadpoolctl**
- **tzdata**
- **uritemplate**
- **uvloop**
- **websocket-client**
- **websockets**
- **wrapt**
- **zstandard**
- **attrs**: 47 files
- **NumPy**: 32 files
- **opencv-python-headless**: 9 files
- **urllib3**: 6 files
- **requests**: 5 files
- **pyyaml**: 4 files
- **tqdm**: 4 files
- **natsort**: 2 files
- **platformdirs**: 2 files
- **SciPy**: 2 files
- **shapely**: 2 files
- **django-cors-headers**: 1 file
- **django-filter**: 1 file
- **google-api-core**: 1 file

## Frontend (cvat-canvas)

### Interface

- **fabric**: 2 files

## Backend (cvat-canvas)

### Data

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

## Support (cvat-canvas)

### Other

- **Lodash**: 2 files

## Frontend (cvat-canvas3d)

### Interface

- **[three](https://seerepo.com/uses/three)**: 4 files

## Support (cvat-core)

### Content

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

### Other

- **Lodash**: 13 files
- **Axios**: 3 files
- **tus-js-client**: 2 files
- **axios-retry**: 1 file
- **detect-browser**: 1 file
- **error-stack-parser**: 1 file
- **form-data**: 1 file
- **json-logic-js**: 1 file
- **platform**: 1 file

## Support (cvat-data)

### Other

- **async-mutex**: 1 file
- **jszip**: 1 file

## Frontend (cvat-ui)

### The base

- **[React](https://seerepo.com/uses/react)**: 402 files
- **[React Router](https://seerepo.com/uses/react-router)**: 51 files
- **[react-router-dom](https://seerepo.com/uses/react-router-dom)**: 30 files

### Styles

- **[classnames](https://seerepo.com/uses/classnames)**: 4 files

### Interface

- **[antd](https://seerepo.com/uses/antd)**: 321 files
- **[wavesurfer.js](https://seerepo.com/uses/wavesurferjs)**: 10 files
- **@dnd-kit/core**: 5 files
- **@uiw/react-md-editor**: 3 files
- **react-color**: 2 files
- **react-intersection-observer**: 2 files
- **[TanStack](https://seerepo.com/uses/tanstack)**: 2 files
- **@ant-design/compatible**: 1 file
- **[Chart.js](https://seerepo.com/uses/chartjs)**: 1 file
- **fabric**: 1 file
- **react-grid-layout**: 1 file

### Icons

- **[Ant Design](https://seerepo.com/uses/ant-design)**: 174 files

## Backend (cvat-ui)

### Data

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

### AI

- **onnxruntime-web**: 1 file

## Support (cvat-ui)

### Content

- **[rehype-sanitize](https://seerepo.com/uses/rehype-sanitize)**: 3 files
- **[react-markdown](https://seerepo.com/uses/react-markdown)**: 1 file

### Validation

- **[prop-types](https://seerepo.com/uses/prop-types)**: 4 files

### Tools

- **redux-devtools-extension**: 1 file

### Other

- **react-redux**: 185 files
- **Lodash**: 30 files
- **Redux**: 26 files
- **dayjs**: 18 files
- **redux-thunk**: 3 files
- **json-logic-js**: 2 files
- **error-stack-parser**: 1 file
- **mousetrap**: 1 file
- **platform**: 1 file
- **redux-logger**: 1 file

## Other repos with a similar stack

- [apache/superset](https://seerepo.com/r/apache/superset/built): google-cloud-core, psycopg2-binary, pyarrow, Redis, Postgres, clickhouse-connect, anyio, uvicorn, React, cycler, fonttools, contourpy, matplotlib, cryptography, oauthlib, pyjwt, Google, pillow, defusedxml, jsonschema, psutil, boto3, botocore, dompurify, classnames, antd, Ant Design, rehype-sanitize, react-markdown, prop-types · [Compare](https://seerepo.com/compare/apache/superset/vs/cvat-ai/cvat)
- [run-llama/llama_index](https://seerepo.com/r/run-llama/llama_index/built): psycopg2-binary, pyarrow, Redis, clickhouse-connect, azure-storage-blob, anyio, tornado, matplotlib, cryptography, pyjwt, Google, nltk, scikit-learn, lxml, pillow, defusedxml, pdf2image, jsonschema, psutil, boto3 · [Compare](https://seerepo.com/compare/cvat-ai/cvat/vs/run-llama/llama_index)
- [datawhalechina/hello-agents](https://seerepo.com/r/datawhalechina/hello-agents/built): psycopg2-binary, Redis, Postgres, anyio, uvicorn, React, react-router-dom, cycler, fonttools, contourpy, matplotlib, scikit-learn, lxml, pillow, jsonschema, dompurify, Chart.js, react-markdown · [Compare](https://seerepo.com/compare/cvat-ai/cvat/vs/datawhalechina/hello-agents)
- [langflow-ai/langflow](https://seerepo.com/r/langflow-ai/langflow/built): pyarrow, Redis, uvicorn, React, react-router-dom, cryptography, pyjwt, Google, pillow, defusedxml, jsonschema, psutil, boto3, dompurify, rehype-sanitize, react-markdown · [Compare](https://seerepo.com/compare/cvat-ai/cvat/vs/langflow-ai/langflow)
- [Aider-AI/aider](https://seerepo.com/r/Aider-AI/aider/built): google-cloud-core, pyarrow, anyio, asgiref, tornado, cycler, fonttools, contourpy, matplotlib, cryptography, Google, nltk, scikit-learn, pillow, jsonschema, psutil · [Compare](https://seerepo.com/compare/Aider-AI/aider/vs/cvat-ai/cvat)
- [apache/airflow](https://seerepo.com/r/apache/airflow/built): psycopg2-binary, pyarrow, Redis, clickhouse-connect, azure-storage-blob, asgiref, uvicorn, React, react-router-dom, cryptography, pyjwt, Google, jsonschema, kubernetes, psutil, boto3 · [Compare](https://seerepo.com/compare/apache/airflow/vs/cvat-ai/cvat)

## Frequently asked questions

### What language is cvat written in?

cvat is written in TypeScript, with 341,391 written lines.

### What framework does cvat use?

cvat is built with Django, anyio, asgiref, tornado, uvicorn, djangorestframework, React, React Router, and react-router-dom.

### What database does cvat use?

cvat stores its data in rq, django-rq, Postgres, and clickhouse-connect.

### What does cvat sign people in with?

cvat signs people in with cryptography, oauthlib, pyjwt, python3-saml, requests-oauthlib, django-allauth, and Google.

### Does cvat use AI?

Yes. cvat uses AI through nltk, scikit-learn, pycocotools, and onnxruntime-web.

### What services does cvat use?

cvat uses google-cloud-core, h5py, psycopg2-binary, pyarrow, s3transfer, Redis, azure-storage-blob, Google Cloud Storage, and lru-cache.

### Does cvat have tests?

Yes. cvat has 453 test files and is tested with freezegun and fakeredis.

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

The ones that share most of its stack: apache/superset, run-llama/llama_index, 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.
