Installation
Requirements
- Python 3.12+
- uv
Install EVOID
uv add evoid
Optional Dependencies
Install extras for specific features. Core EVOID has minimal required dependencies.
Built-in Extras
# ASGI server (starlette + uvicorn)
uv add "evoid[asgi]"
# Pydantic schema engine
uv add "evoid[pydantic]"
# SQLite storage
uv add "evoid[sqlite]"
# Loguru logging
uv add "evoid[loguru]"
# TOML config support
uv add "evoid[toml]"
# Testing WebUI
uv add "evoid[testing]"
# Everything
uv add "evoid[full]"
| Extra | Packages | Use When |
|---|---|---|
asgi | starlette, uvicorn | Running HTTP APIs |
pydantic | pydantic | Schema validation with Pydantic models |
sqlite | aiosqlite | SQLite database storage |
loguru | loguru | Beautiful structured logging |
toml | tomli, tomli_w | TOML config support |
testing | starlette | Test dashboard WebUI |
full | All above | Everything enabled |
Using evo install
evo install sqlite # Install SQLite storage
evo install full # Install all optional deps
Plugins (Advanced)
Need Redis, PostgreSQL, or advanced features? Install plugins from PyPI:
# Short names — evo maps them to full package names automatically
evo plug install redis # → evoid-redis
evo plug install postgresql # → evoid-postgresql
evo plug install di # → evoid-di
evo plug install auth # → evoid-auth
# Some plugins need full package names (no short name available)
evo plug install evoid-scheduler # Priority scheduler
evo plug install evoid-cluster # Multi-node clustering
evo plug install evoid-godot # Godot game hosting
# Search for plugins
evo plug search cache
# List installed
evo plug list
Verify Installation
evo version
Expected output:
evo 0.6.6
Create Your First Project
evo init my-api
cd my-api
evo service new users
evo run
evo init creates a gateway (port 8000). evo service new users creates a service (port 8001). evo run starts both.
Test the gateway:
curl http://localhost:8000/health
# {"status":"healthy","service":"gateway"}
Next
Your project is ready. Learn the core concepts — Quick Start.