AI-powered API documentation for Python projects — one command, full docs.
Project description
dinorex-py
AI-powered API documentation for Python projects — one command, full docs.
The Python sibling of dinorex.
Point it at any Python backend and get a live interactive docs UI instantly.
Supported frameworks
| Framework | Route detection | Model/schema detection |
|---|---|---|
| FastAPI | @router.get, @app.get, APIRouter |
Pydantic v1 & v2 BaseModel |
| Flask | @app.route, @bp.route, MethodView |
Marshmallow schemas |
| Django | urls.py path() / re_path(), CBVs |
Django ORM models.Model |
| DRF | ViewSet, APIView, @action |
ModelSerializer, Serializer |
| Falcon | on_get, on_post … responders |
— |
| Sanic | @app.route, @bp.route |
— |
| Litestar | @get, @post, Controller |
Pydantic / attrs |
| Starlette | Route(), Mount() |
Pydantic |
| Tornado | RequestHandler subclasses |
— |
| aiohttp | RouteTableDef, add_route |
— |
| SQLAlchemy | — | Column, mapped_column |
| Tortoise ORM | — | fields.CharField … |
Installation
pip install dinorex-py
Quick start
# Anthropic (default)
export ANTHROPIC_API_KEY=sk-ant-...
dinorex scan /path/to/your/project
# Groq (free)
export GROQ_API_KEY=gsk_...
dinorex scan /path/to/your/project --provider groq
# Custom port
dinorex scan . -p 8080
Project structure
dinorex-py/
├── src/
│ └── dinorex_py/
│ ├── __init__.py
│ ├── cli.py # Click CLI entry point
│ ├── scanner.py # File discovery for all Python frameworks
│ ├── agent.py # Anthropic Claude agent
│ ├── agent_groq.py # Groq/Llama3 agent (free tier)
│ ├── server.py # Flask server + REST API
│ ├── store.py # Persistent spec cache + diff logic
│ └── public/ # Frontend UI (shared with dinorex Node)
├── pyproject.toml
└── README.md
How it works
- Scan — discovers route files, controllers, services, and models using glob patterns tuned for every Python framework.
- Analyse — sends the source code to Claude (or Llama3 via Groq) which extracts a structured JSON spec.
- Cache — saves the spec and file hashes to
.dinorex/spec.json. Re-runs are incremental — only changed files are re-analysed. - Serve — starts a local Flask server with the interactive UI.
Environment variables
| Variable | Description |
|---|---|
ANTHROPIC_API_KEY |
Required for Anthropic provider |
GROQ_API_KEY |
Required for Groq provider |
DINOREX_PROVIDER |
Set default provider (anthropic or groq) |
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dinorex_py-0.1.1.tar.gz
(22.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dinorex_py-0.1.1.tar.gz.
File metadata
- Download URL: dinorex_py-0.1.1.tar.gz
- Upload date:
- Size: 22.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e735b4c620be0e5da7b0ec58154f84407807ae1398f928f05f17c4c0456e63ce
|
|
| MD5 |
8b6de62bd4e8726f2f3a3ecb2098acbf
|
|
| BLAKE2b-256 |
c927c5e78835246ac4c941aa2b306d5b1dcae1489a31f4c6b570a3ead3459248
|
File details
Details for the file dinorex_py-0.1.1-py3-none-any.whl.
File metadata
- Download URL: dinorex_py-0.1.1-py3-none-any.whl
- Upload date:
- Size: 36.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a69a8da2279bc0c280017e867f5d13200e0344ee8a34b58afb6e659c7074182
|
|
| MD5 |
f0a6433c5fd655df7ff1533d62cc7cad
|
|
| BLAKE2b-256 |
aeb9902d31237f1ccb87fa42e6a5a697762383f0b8992c1e89fd5fc17e1785ed
|