Skip to content

Installation

Requirements

  • Python 3.11+
  • The only required runtime dependency is uvicorn (the ASGI server).

Install from PyPI

pip install endocore

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:

python -m venv .venv
# Windows:
.venv\Scripts\activate
# Linux / macOS:
source .venv/bin/activate

pip install endocore

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 --version         # EndoCore 1.0.0
endo doctor            # environment, dependencies, project checks

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:

endo --version
endo dev

Broken python shim: on some setups a bare python doesn't work — use the launcher:

py -3 -m pip install endocore
py -3 -m endocore --version     # equivalent to `endo --version`

Next: the Quickstart.