Source: https://seerepo.com/r/arc53/DocsGPT/built
Markdown source: https://seerepo.com/r/arc53/DocsGPT/built.md
Description: DocsGPT is a Python repo built with Flask, flask-restx, AIOHTTP, asgiref, anyio, and 8 more. It stores its data in Celery, Postgres, and kombu.

# What is DocsGPT built with?

DocsGPT is a Python repo built with Flask, flask-restx, AIOHTTP, asgiref, anyio, and 8 more. It stores its data in Celery, Postgres, and kombu, reaches it with SQLAlchemy and alembic, signs people in with authlib, google-auth, google-auth-httplib2, itsdangerous, joserfc, and 6 more, uses AI through accelerate, faiss-cpu, rapidocr, safetensors, torchvision, and 10 more, connects to Google, makes its content with docling-slim, et-xmlfile, filetype, firecrawl-anydoc, latex2mathml, and 41 more, validates its data with annotated-types, beartype, cel-python, docling-core, email-validator, and 7 more, is tested with Faker and Vitest, deploys with colorlog, loguru, opentelemetry-api, opentelemetry-exporter-otlp-proto-grpc, opentelemetry-instrumentation, and 17 more, and uses amqp, Milvus, obstore, pgvector, psycopg, and 9 more. It has 812,848 written lines, with 1,391 test files.

Read on November 6, 2026, at commit dcf08f1.

Repository: https://github.com/arc53/DocsGPT

## Frontend (/)

### Styles

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

### Interface

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

## Backend (/)

### The base

- **[Flask](https://seerepo.com/uses/flask)**: 77 files
- **flask-restx**: 48 files

### Data

- **amqp**
- **Milvus**
- **obstore**
- **[pgvector](https://seerepo.com/uses/pgvector)**
- **[psycopg](https://seerepo.com/uses/psycopg)**
- **psycopg-binary**
- **psycopg-pool**
- **[pyarrow](https://seerepo.com/uses/pyarrow)**
- **pymilvus**
- **s3transfer**
- **[Redis](https://seerepo.com/uses/redis)**: 13 files · [docsgpt/activity/flags.py, line 26](https://github.com/arc53/DocsGPT/blob/dcf08f1b5a474b00d5981e00d1edb33529559571/docsgpt/activity/flags.py#L26)
- **Celery**: 12 files
- **[Postgres](https://seerepo.com/uses/postgres)**: 11 files · [docsgpt/agents/tools/postgres.py, line 3](https://github.com/arc53/DocsGPT/blob/dcf08f1b5a474b00d5981e00d1edb33529559571/docsgpt/agents/tools/postgres.py#L3)
- **kombu**: 2 files

### Data access

- **[SQLAlchemy](https://seerepo.com/uses/sqlalchemy)**: 127 files
- **[alembic](https://seerepo.com/uses/alembic)**: 2 files

### Sign-in

- **authlib**
- **google-auth**
- **google-auth-httplib2**
- **[itsdangerous](https://seerepo.com/uses/itsdangerous)**
- **joserfc**
- **oauthlib**
- **requests-oauthlib**
- **[pyjwt](https://seerepo.com/uses/pyjwt)**: 5 files
- **[cryptography](https://seerepo.com/uses/cryptography)**: 3 files
- **[google-auth-oauthlib](https://seerepo.com/uses/google-auth-oauthlib)**: 1 file
- **msal**: 1 file

### AI

- **[accelerate](https://seerepo.com/uses/accelerate)**
- **faiss-cpu**
- **rapidocr**
- **[safetensors](https://seerepo.com/uses/safetensors)**
- **[torchvision](https://seerepo.com/uses/torchvision)**
- **[transformers](https://seerepo.com/uses/transformers)**
- **[torch](https://seerepo.com/uses/torch)**: 2 files
- **fastembed**: 1 file
- **gtts**: 1 file
- **[mcp](https://seerepo.com/uses/mcp)**: 1 file
- **[onnxruntime](https://seerepo.com/uses/onnxruntime)**: 1 file
- **[tiktoken](https://seerepo.com/uses/tiktoken)**: 1 file
- **[tokenizers](https://seerepo.com/uses/tokenizers)**: 1 file

### Services

- **[Hugging Face](https://seerepo.com/uses/hugging-face)**: 3 files · [docsgpt/decisions/files.py, line 177](https://github.com/arc53/DocsGPT/blob/dcf08f1b5a474b00d5981e00d1edb33529559571/docsgpt/decisions/files.py#L177)
- **[OpenAI](https://seerepo.com/uses/openai)**: 3 files · [docsgpt/llm/openai.py, line 10](https://github.com/arc53/DocsGPT/blob/dcf08f1b5a474b00d5981e00d1edb33529559571/docsgpt/llm/openai.py#L10)
- **[Google](https://seerepo.com/uses/google)**: 2 files · [docsgpt/parser/connectors/google_drive/auth.py, line 1](https://github.com/arc53/DocsGPT/blob/dcf08f1b5a474b00d5981e00d1edb33529559571/docsgpt/parser/connectors/google_drive/auth.py#L1)
- **[Anthropic](https://seerepo.com/uses/anthropic)**: 1 file · [docsgpt/llm/anthropic.py, line 6](https://github.com/arc53/DocsGPT/blob/dcf08f1b5a474b00d5981e00d1edb33529559571/docsgpt/llm/anthropic.py#L6)
- **ElevenLabs**: 1 file · [docsgpt/tts/elevenlabs.py, line 9](https://github.com/arc53/DocsGPT/blob/dcf08f1b5a474b00d5981e00d1edb33529559571/docsgpt/tts/elevenlabs.py#L9)
- **[Qdrant](https://seerepo.com/uses/qdrant)**: 1 file · [docsgpt/vectorstore/qdrant.py, line 22](https://github.com/arc53/DocsGPT/blob/dcf08f1b5a474b00d5981e00d1edb33529559571/docsgpt/vectorstore/qdrant.py#L22)

## Support (/)

### The base

- **[AIOHTTP](https://seerepo.com/uses/aiohttp)**
- **asgiref**
- **[anyio](https://seerepo.com/uses/anyio)**: 12 files
- **[starlette](https://seerepo.com/uses/starlette)**: 10 files
- **[werkzeug](https://seerepo.com/uses/werkzeug)**: 7 files
- **[fastmcp](https://seerepo.com/uses/fastmcp)**: 3 files
- **[uvicorn](https://seerepo.com/uses/uvicorn)**: 3 files
- **a2wsgi**: 1 file

### Content

- **docling-slim**
- **et-xmlfile**
- **filetype**
- **firecrawl-anydoc**
- **latex2mathml**
- **[lxml](https://seerepo.com/uses/lxml)**
- **mako**
- **[markdown-it-py](https://seerepo.com/uses/markdown-it-py)**
- **[markupsafe](https://seerepo.com/uses/markupsafe)**
- **mdurl**
- **olefile**
- **pdfminer.six**
- **pylatexenc**
- **uharfbuzz**
- **xlsxwriter**
- **pypdfium2**: 7 files
- **[pillow](https://seerepo.com/uses/pillow)**: 5 files
- **[beautifulsoup4](https://seerepo.com/uses/beautifulsoup4)**: 3 files
- **[markdownify](https://seerepo.com/uses/markdownify)**: 3 files
- **[defusedxml](https://seerepo.com/uses/defusedxml)**: 2 files
- **docling**: 2 files
- **[pypdf](https://seerepo.com/uses/pypdf)**: 2 files
- **docx2txt**: 1 file
- **imageio**: 1 file
- **[jinja2](https://seerepo.com/uses/jinja2)**: 1 file
- **[openpyxl](https://seerepo.com/uses/openpyxl)**: 1 file
- **pdf2image**: 1 file
- **[pdfplumber](https://seerepo.com/uses/pdfplumber)**: 1 file
- **pytesseract**: 1 file
- **[python-docx](https://seerepo.com/uses/python-docx)**: 1 file
- **[python-pptx](https://seerepo.com/uses/python-pptx)**: 1 file
- **reportlab**: 1 file

### Validation

- **[annotated-types](https://seerepo.com/uses/annotated-types)**
- **beartype**
- **cel-python**
- **docling-core**
- **email-validator**
- **jsonschema-path**
- **jsonschema-specifications**
- **marshmallow**
- **[pydantic-core](https://seerepo.com/uses/pydantic-core)**
- **[referencing](https://seerepo.com/uses/referencing)**
- **[Pydantic](https://seerepo.com/uses/pydantic)**: 39 files
- **[jsonschema](https://seerepo.com/uses/jsonschema)**: 3 files

### Testing

- **Faker**

### Deploy

- **colorlog**
- **[loguru](https://seerepo.com/uses/loguru)**
- **[opentelemetry-api](https://seerepo.com/uses/opentelemetry-api)**
- **opentelemetry-exporter-otlp-proto-grpc**
- **opentelemetry-instrumentation**
- **opentelemetry-instrumentation-aiohttp-client**
- **opentelemetry-instrumentation-asgi**
- **opentelemetry-instrumentation-celery**
- **opentelemetry-instrumentation-flask**
- **opentelemetry-instrumentation-logging**
- **opentelemetry-instrumentation-psycopg**
- **opentelemetry-instrumentation-redis**
- **opentelemetry-instrumentation-requests**
- **opentelemetry-instrumentation-sqlalchemy**
- **[opentelemetry-semantic-conventions](https://seerepo.com/uses/opentelemetry-semantic-conventions)**
- **opentelemetry-util-http**
- **[psutil](https://seerepo.com/uses/psutil)**
- **[boto3](https://seerepo.com/uses/boto3)**: 2 files
- **botocore**: 2 files
- **[Gunicorn](https://seerepo.com/uses/gunicorn)**: 2 files
- **[OpenTelemetry](https://seerepo.com/uses/opentelemetry)**: 2 files
- **daytona**: 1 file

### Tools

- **annotated-doc**
- **click-didyoumean**
- **click-plugins**
- **click-repl**
- **cyclopts**
- **docstring-parser**
- **griffelib**
- **ipykernel**
- **mypy-extensions**
- **packaging**
- **pluggy**
- **pycparser**
- **pygments**
- **Setuptools**
- **shellingham**
- **tree-sitter**
- **tree-sitter-c**
- **tree-sitter-javascript**
- **tree-sitter-python**
- **tree-sitter-typescript**
- **Typer**
- **typing-extensions**
- **typing-inspect**
- **update-checker**
- **click**: 2 files
- **watchfiles**: 1 file

### Other

- **aiofile**
- **aiofiles**
- **aiohappyeyeballs**
- **aiohttp-retry**
- **aiosignal**
- **attrs**
- **bidict**
- **billiard**
- **blinker**
- **cachetools**
- **caio**
- **certifi**
- **cffi**
- **charset-normalizer**
- **colorama**
- **decorator**
- **deprecated**
- **dill**
- **distro**
- **dnspython**
- **exceptiongroup**
- **filelock**
- **flatbuffers**
- **frozenlist**
- **fsspec**
- **google-api-core**
- **google-re2**
- **googleapis-common-protos**
- **grpcio**
- **h11**
- **h2**
- **hf-xet**
- **hpack**
- **httpcore**
- **httpcore2**
- **httptools**
- **hyperframe**
- **importlib-resources**
- **jiter**
- **jmespath**
- **jsonref**
- **langcodes**
- **lark**
- **mmh3**
- **mpmath**
- **multidict**
- **multiprocess**
- **omegaconf**
- **opencv-python-headless**
- **opentelemetry-exporter-otlp-proto-common**
- **orjson**
- **pathable**
- **pendulum**
- **platformdirs**
- **portalocker**
- **prawcore**
- **propcache**
- **proto-plus**
- **protobuf**
- **py**
- **pyasn1**
- **pyasn1-modules**
- **pyclipper**
- **pyparsing**
- **pyperclip**
- **python-bidi**
- **python-engineio**
- **python-multipart**
- **python-socketio**
- **pywin32**
- **rpds-py**
- **rtree**
- **s**
- **SciPy**
- **shapely**
- **simple-websocket**
- **six**
- **sniffio**
- **sse-starlette**
- **SymPy**
- **tabulate**
- **tenacity**
- **toml**
- **truststore**
- **typing-inspection**
- **tzdata**
- **tzlocal**
- **uvloop**
- **vine**
- **wcwidth**
- **websockets**
- **win32-setctime**
- **wrapt**
- **wsproto**
- **yarl**
- **requests**: 29 files
- **pydantic-settings**: 6 files
- **httpx2**: 5 files
- **pyyaml**: 5 files
- **NumPy**: 3 files
- **python-dotenv**: 3 files
- **regex**: 3 files
- **httpx**: 2 files
- **urllib3**: 2 files
- **arabic-reshaper**: 1 file
- **croniter**: 1 file
- **dataclasses-json**: 1 file
- **ddgs**: 1 file
- **httplib2**: 1 file
- **idna**: 1 file
- **networkx**: 1 file
- **pandas**: 1 file
- **praw**: 1 file
- **python-dateutil**: 1 file
- **pywebpush**: 1 file
- **retry**: 1 file
- **tldextract**: 1 file
- **tqdm**: 1 file
- **websocket-client**: 1 file

## Frontend (extensions/react-widget)

### The base

- **[React](https://seerepo.com/uses/react)**: 18 files · [in frontend/package.json](https://github.com/arc53/DocsGPT/blob/dcf08f1b5a474b00d5981e00d1edb33529559571/frontend/package.json)

### Styles

- **[styled-components](https://seerepo.com/uses/styled-components)**: 8 files

## Support (extensions/react-widget)

### Content

- **[dompurify](https://seerepo.com/uses/dompurify)**: 2 files
- **[markdown-it](https://seerepo.com/uses/markdown-it)**: 1 file
- **[prismjs](https://seerepo.com/uses/prismjs)**: 1 file

## Frontend (frontend)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in frontend/package.json](https://github.com/arc53/DocsGPT/blob/dcf08f1b5a474b00d5981e00d1edb33529559571/frontend/package.json)
- **[React](https://seerepo.com/uses/react)**: 337 files · [in frontend/package.json](https://github.com/arc53/DocsGPT/blob/dcf08f1b5a474b00d5981e00d1edb33529559571/frontend/package.json)
- **[react-router-dom](https://seerepo.com/uses/react-router-dom)**: 81 files

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**
- **[class-variance-authority](https://seerepo.com/uses/class-variance-authority)**: 20 files
- **[tailwind-merge](https://seerepo.com/uses/tailwind-merge)**: 1 file

### Interface

- **[Radix UI](https://seerepo.com/uses/radix-ui)**: 22 files
- **reactflow**: 14 files
- **[react-dropzone](https://seerepo.com/uses/react-dropzone)**: 5 files
- **[Chart.js](https://seerepo.com/uses/chartjs)**: 3 files
- **[Mermaid](https://seerepo.com/uses/mermaid)**: 2 files
- **react-chartjs-2**: 2 files
- **[react-syntax-highlighter](https://seerepo.com/uses/react-syntax-highlighter)**: 2 files
- **@shadcn/react**: 1 file
- **[cmdk](https://seerepo.com/uses/cmdk)**: 1 file
- **[D3](https://seerepo.com/uses/d3)**: 1 file
- **[react-day-picker](https://seerepo.com/uses/react-day-picker)**: 1 file
- **react-force-graph-2d**: 1 file

### Icons

- **[Lucide](https://seerepo.com/uses/lucide)**: 189 files

## Support (frontend)

### Content

- **[react-markdown](https://seerepo.com/uses/react-markdown)**: 6 files
- **[unified](https://seerepo.com/uses/unified)**: 5 files
- **[remark-gfm](https://seerepo.com/uses/remark-gfm)**: 4 files
- **micromark-util-character**: 3 files
- **micromark-util-types**: 3 files
- **micromark-util-symbol**: 2 files
- **[unist-util-visit](https://seerepo.com/uses/unist-util-visit)**: 2 files
- **[rehype-katex](https://seerepo.com/uses/rehype-katex)**: 1 file
- **[remark-math](https://seerepo.com/uses/remark-math)**: 1 file
- **[remark-parse](https://seerepo.com/uses/remark-parse)**: 1 file
- **remend**: 1 file

### Testing

- **Vitest**: 202 files

### Tools

- **@typescript-eslint/parser**: 4 files
- **ESLint**: 4 files

### Other

- **react-i18next**: 259 files
- **react-redux**: 164 files
- **i18next**: 31 files
- **@reduxjs/toolkit**: 22 files
- **copy-to-clipboard**: 3 files
- **Lodash**: 3 files
- **clsx**: 1 file
- **i18next-browser-languagedetector**: 1 file

## Other repos with a similar stack

- [apache/superset](https://seerepo.com/r/apache/superset/built): Flask, pyarrow, Redis, Celery, Postgres, kombu, Google, AIOHTTP, anyio, starlette, werkzeug, fastmcp, uvicorn, React, soupsieve, matplotlib, prompt-toolkit, Rich, SQLAlchemy, alembic, authlib, itsdangerous, joserfc, oauthlib, pyjwt, cryptography, google-auth-oauthlib, MCP, tiktoken, mako, markdown-it-py, markupsafe, mdurl, xlsxwriter, pillow, beautifulsoup4, defusedxml, jinja2, openpyxl, annotated-types, beartype, email-validator, jsonschema-specifications, pydantic-core, referencing, Pydantic, jsonschema, psutil, boto3, botocore, Gunicorn, OpenTelemetry, dompurify, react-syntax-highlighter, D3, react-markdown, remark-gfm · [Compare](https://seerepo.com/compare/apache/superset/vs/arc53/DocsGPT)
- [run-llama/llama_index](https://seerepo.com/r/run-llama/llama_index/built): pgvector, psycopg, pyarrow, pymilvus, Redis, OpenAI, Google, ElevenLabs, AIOHTTP, anyio, starlette, soupsieve, matplotlib, prompt-toolkit, Rich, SQLAlchemy, google-auth-httplib2, pyjwt, cryptography, google-auth-oauthlib, msal, transformers, torch, fastembed, MCP, tiktoken, tokenizers, filetype, lxml, markupsafe, pillow, beautifulsoup4, markdownify, defusedxml, docling, pypdf, docx2txt, jinja2, pdf2image, pdfplumber, annotated-types, docling-core, jsonschema-specifications, marshmallow, pydantic-core, referencing, Pydantic, jsonschema, opentelemetry-api, opentelemetry-semantic-conventions, psutil, boto3, OpenTelemetry · [Compare](https://seerepo.com/compare/arc53/DocsGPT/vs/run-llama/llama_index)
- [datawhalechina/hello-agents](https://seerepo.com/r/datawhalechina/hello-agents/built): Flask, pymilvus, Redis, Postgres, Hugging Face, OpenAI, Qdrant, AIOHTTP, anyio, starlette, fastmcp, uvicorn, React, Vite, react-router-dom, matplotlib, Rich, SQLAlchemy, alembic, accelerate, safetensors, transformers, torch, MCP, onnxruntime, tiktoken, tokenizers, lxml, pdfminer.six, pillow, beautifulsoup4, pypdf, jinja2, openpyxl, pdfplumber, python-docx, reportlab, annotated-types, email-validator, pydantic-core, Pydantic, jsonschema, loguru, opentelemetry-exporter-otlp-proto-grpc, OpenTelemetry, dompurify, markdown-it, Tailwind CSS, Chart.js, Mermaid, D3, react-markdown · [Compare](https://seerepo.com/compare/arc53/DocsGPT/vs/datawhalechina/hello-agents)
- [bojieli/ai-agent-book](https://seerepo.com/r/bojieli/ai-agent-book/built): Flask, pyarrow, Postgres, Hugging Face, OpenAI, Google, Anthropic, AIOHTTP, anyio, fastmcp, uvicorn, React, Vite, matplotlib, Rich, authlib, google-auth, google-auth-httplib2, google-auth-oauthlib, accelerate, faiss-cpu, transformers, torch, MCP, tiktoken, lxml, xlsxwriter, pillow, beautifulsoup4, pypdf, openpyxl, pdfplumber, python-docx, python-pptx, reportlab, Pydantic, loguru, psutil, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, react-syntax-highlighter, D3, Lucide, react-markdown, remark-gfm · [Compare](https://seerepo.com/compare/arc53/DocsGPT/vs/bojieli/ai-agent-book)
- [Significant-Gravitas/AutoGPT](https://seerepo.com/r/Significant-Gravitas/AutoGPT/built): pyarrow, Redis, Postgres, OpenAI, Google, Anthropic, ElevenLabs, AIOHTTP, uvicorn, React, prompt-toolkit, Rich, SQLAlchemy, pyjwt, cryptography, google-auth-oauthlib, gtts, tiktoken, markdown-it-py, pylatexenc, pypdfium2, pillow, beautifulsoup4, pypdf, jinja2, openpyxl, python-docx, Pydantic, jsonschema, psutil, boto3, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, cmdk, react-day-picker, react-force-graph-2d, react-markdown, remark-gfm, rehype-katex, remark-math · [Compare](https://seerepo.com/compare/arc53/DocsGPT/vs/Significant-Gravitas/AutoGPT)
- [unslothai/unsloth](https://seerepo.com/r/unslothai/unsloth/built): Hugging Face, OpenAI, anyio, fastmcp, uvicorn, React, Vite, matplotlib, Rich, pyjwt, cryptography, accelerate, safetensors, transformers, torch, tiktoken, tokenizers, lxml, markdown-it-py, mdurl, pillow, jinja2, python-docx, Pydantic, loguru, psutil, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, cmdk, react-day-picker, Lucide, unified, micromark-util-types, remend · [Compare](https://seerepo.com/compare/arc53/DocsGPT/vs/unslothai/unsloth)

## Frequently asked questions

### What language is DocsGPT written in?

DocsGPT is written in Python, with 812,848 written lines.

### What framework does DocsGPT use?

DocsGPT is built with Flask, flask-restx, AIOHTTP, asgiref, anyio, starlette, werkzeug, fastmcp, uvicorn, a2wsgi, React, Vite, and react-router-dom.

### What database does DocsGPT use?

DocsGPT stores its data in Celery, Postgres, and kombu and reaches it with SQLAlchemy and alembic.

### What does DocsGPT sign people in with?

DocsGPT signs people in with authlib, google-auth, google-auth-httplib2, itsdangerous, joserfc, oauthlib, requests-oauthlib, pyjwt, cryptography, google-auth-oauthlib, and msal.

### Does DocsGPT use AI?

Yes. DocsGPT uses AI through accelerate, faiss-cpu, rapidocr, safetensors, torchvision, transformers, torch, fastembed, gtts, mcp, onnxruntime, tiktoken, tokenizers, OpenAI, and Anthropic.

### What services does DocsGPT use?

DocsGPT connects to Google and uses amqp, Milvus, obstore, pgvector, psycopg, psycopg-binary, psycopg-pool, pyarrow, pymilvus, s3transfer, Redis, Hugging Face, ElevenLabs, and Qdrant.

The proof: [docsgpt/parser/connectors/google_drive/auth.py, line 1](https://github.com/arc53/DocsGPT/blob/dcf08f1b5a474b00d5981e00d1edb33529559571/docsgpt/parser/connectors/google_drive/auth.py#L1)

### Does DocsGPT have tests?

Yes. DocsGPT has 1,391 test files and is tested with Faker and Vitest.

### Which repos have a stack like DocsGPT'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.
