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.4.tar.gz
(23.4 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.4.tar.gz.
File metadata
- Download URL: dinorex_py-0.1.4.tar.gz
- Upload date:
- Size: 23.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e213b28e44865be8cfe0edfdd6d5ba805cab397957fa432cbb6782ba71e837e
|
|
| MD5 |
9121b3a2a9e745e9e58e31ffa4419f93
|
|
| BLAKE2b-256 |
e7c4367fd161b0da529f98c95363d0f761a342a87252c5aeda9bc664ac81db7c
|
File details
Details for the file dinorex_py-0.1.4-py3-none-any.whl.
File metadata
- Download URL: dinorex_py-0.1.4-py3-none-any.whl
- Upload date:
- Size: 37.9 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 |
ea740dab2fc53e2c9f25940766f97c16880f82bd882519a63a84fd8eb502caf8
|
|
| MD5 |
65c9434b0b88740df84a43f2488607e9
|
|
| BLAKE2b-256 |
59f63b26ea654cb1a169a83c9c6b80726ffbe76dcdb35c37de01216edc8e22a0
|