Skip to content
Packages Examples Agents Blog Get started

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.

Terminal window
uv add "oridecon>=0.1,<0.2"
uv add "oridecon-cli>=0.1,<0.2"
# pin every extension you actually import the same way

This page is the product digest: what a visitor should know. The file-level log lives in CHANGELOG.md on branch dev of dbtinoy-/oridecon.

The architecture is the part we are not casually rewriting:

  • Extensions depend only on oridecon and oridecon-contracts, never on each other.
  • Providers register then boot. register() does not resolve.
  • Domain failures are Result[T, E]. Infrastructure failures still raise.
  • One project tree (domains/, app-root di/), grown with oridecon 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.

First public 0.1 cut. This is the line to pin.

  • Application and container. Async-first DI: create_app(), modules, YAML config, structured logging (json_format).
  • Providers. register() receives ContainerRegistrarProtocol. boot() receives BootContainerProtocol. Shutdown runs in reverse priority.
  • Result. Domain failures are Result[T, E]. Do not wrap a dead database in Result; do not unwrap() without is_ok().
  • Contracts. oridecon-contracts is zero-dependency: protocols, value types, exceptions. If two packages need the same type, it lives there.
  • Foundationoridecon, 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.
  • Toolingoridecon-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.

  • 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.

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.

Terminal window
uv add oridecon-cli
oridecon new project my-app --template web-api
cd my-app
oridecon run

Open 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.