Installation¶
Requirements¶
- Python 3.11+
- The only required runtime dependency is
uvicorn(the ASGI server).
Install from PyPI¶
That gives you the full framework, the CLI (endo), and the ORM for SQLite
(SQLite support is built on the standard library — nothing extra to install).
New to Python? Use a virtual environment
A virtual environment keeps each project's packages separate, so nothing breaks system-wide. Create and activate one first:
Optional extras¶
EndoCore keeps its core tiny; opt into what you need:
| Extra | Installs | Enables |
|---|---|---|
postgres |
psycopg |
PostgreSQL backend for the ORM |
files |
cryptography |
Encrypted FileField (AES-256-GCM at rest) |
redis |
redis |
Redis cache backend + RedisExtension |
celery |
celery |
CeleryExtension task queue integration |
pydantic |
pydantic |
Typed request bodies + richer OpenAPI schemas |
watch |
watchfiles |
In-process dev auto-reload watcher |
pip install "endocore[postgres,files,pydantic]"
# everything useful in development:
pip install "endocore[postgres,files,redis,celery,pydantic,watch]"
Verify the install¶
endo doctor prints your Python version, which optional dependencies are
present, and whether the current directory looks like an EndoCore project.
From source (development)¶
git clone https://github.com/Drakulyonok/endocore
cd endocore
pip install -e ".[postgres,files,redis,celery,pydantic,watch]"
pip install pytest
pytest -q # 1600+ tests
Windows notes¶
PowerShell: endo is a reserved keyword there, so endo dev won't parse.
Use the identical alias endo:
Broken python shim: on some setups a bare python doesn't work — use
the launcher:
Next: the Quickstart.