Changelog
Oridecon is alpha (0.1.x). The public release is 0.1.1. Pin what you import — public APIs may still move before 1.0.
uv add "oridecon>=0.1,<0.2"uv add "oridecon-cli>=0.1,<0.2"# pin every extension you actually import the same wayThis page is the product digest: what a visitor should know. The file-level log lives in CHANGELOG.md on branch dev of dbtinoy-/oridecon.
What is stable enough to build on
Section titled “What is stable enough to build on”The architecture is the part we are not casually rewriting:
- Extensions depend only on
orideconandoridecon-contracts, never on each other. - Providers
registerthenboot.register()does not resolve. - Domain failures are
Result[T, E]. Infrastructure failures still raise. - One project tree (
domains/, app-rootdi/), grown withoridecon new module. Templates add packages, not a different shape.
Expect names, extra kwargs, and experimental packages (CLI, admin, UI, most of AI and multimedia) to keep moving.
[0.1.1] — 2026-04-22
Section titled “[0.1.1] — 2026-04-22”First public 0.1 cut. This is the line to pin.
Runtime
Section titled “Runtime”- Application and container. Async-first DI:
create_app(), modules, YAML config, structured logging (json_format). - Providers.
register()receivesContainerRegistrarProtocol.boot()receivesBootContainerProtocol. Shutdown runs in reverse priority. - Result. Domain failures are
Result[T, E]. Do not wrap a dead database inResult; do notunwrap()withoutis_ok(). - Contracts.
oridecon-contractsis zero-dependency: protocols, value types, exceptions. If two packages need the same type, it lives there.
Packages
Section titled “Packages”- Foundation —
oridecon,oridecon-contracts. - Web — ASGI controllers, OpenAPI, GraphQL, outbound HTTP, webhooks.
- Data — SQL (Postgres / MySQL / SQLite), NoSQL, cache, object storage, search. Async drivers only.
- Security — auth (JWT, OAuth2, RBAC, guards), secrets.
- Events — domain events / CQRS, queues, notifications.
- Infra — tasks, workflows, tenancy, resilience, monitor, audit, vectors, graph, feature flags.
- AI platform (experimental) — 17 packages: LLM, RAG, agents, memory, MCP, skills, sessions, workers, and the rest of the
oridecon-ai-*graph. Orchestrator discovers them; they do not import each other. - Multimedia (experimental) — image, video, TTS, music, beat, upscale, interpolate.
- Tooling —
oridecon-testing; CLI, admin, and UI are experimental.
The catalog is 54 packages. Install what you need. Day one is oridecon new project, not the whole shelf.
Tooling and distribution
Section titled “Tooling and distribution”- CLI.
oridecon new project,oridecon new module,oridecon add,oridecon run. - Import linter. Six architectural contracts. A cross-extension import that type-checks still fails CI.
- Multi-backend. SQL, cache, queue, storage, search, vectors — swap behind a protocol. No vendor lock-in in application code.
- Integration stack. Docker Compose for Postgres, Redis, Kafka, MongoDB, Elasticsearch, MinIO, Qdrant, Neo4j.
- PyPI. The 0.1 line is installable. Pin
>=0.1,<0.2. - Audit. Tests, quality, security, protocols — shipped as docs, not a slide.
Project tree
Section titled “Project tree”One layout. Feature types live in domains/. App providers live in app-root di/. Modules still have provider.py. There is no models/ directory and no second “pattern 2 / pattern 3” tree.
See Project Structure.
How to take 0.1.1
Section titled “How to take 0.1.1”uv add oridecon-clioridecon new project my-app --template web-apicd my-apporidecon runOpen http://127.0.0.1:8000/docs for OpenAPI. Walkthrough: Your First App.
Coding agents should start at For coding agents, then /llms.txt and /agents.md.
For security reports see SECURITY.md — do not open a public issue.
- Installation —
uv add oridecon-cli - Your First App
- Migrating from FastAPI
- Blog — notes on building the framework