Orionis foundations
Build your application with the tools in Orionis. Choose what you need to develop and start with its guide.
Also included mailcache and locksvalidationtestingtranslations.
Build your application from the official skeleton, then add the features your project needs. You do not need to implement Application, a kernel, or a container to start developing: the generated bootstrap/app.py connects those components.
Your first development session
Section titled “Your first development session”- Install and create a project: prepare uv and Git, choose Blank or SSR, and create the application’s environment.
- Start the application: run the server from the project root and check the welcome page.
- Configure the application: use
.envfor deployment values andconfig/for typed settings. - Add your first HTTP route, then choose templates or a JSON API.
- Write and run a test before adding persistence, authentication, background jobs, Realtime, or MCP.
Commands in the application guides use uv run python -B reactor ... from the generated project root. This selects that project’s environment. The separate uvx --from orionis-installer ... invocation creates a new project.
Overview
Section titled “Overview”Application extends the dependency-injection Container and is the object exported from orionis. It is simultaneously the bootstrap coordinator, ASGI/RSGI entry point, CLI dispatcher, configuration repository, path registry, provider loader, and lifecycle owner.
Foundation also defines frozen configuration entities for every major subsystem, immutable core metadata, the Directory path service, runtime/lifespan enums, and startup/shutdown presentation. Most applications configure it in bootstrap/app.py, call create(), and let the HTTP server or Reactor drive runtime startup.
Requirements
Section titled “Requirements”- Python 3.14 or newer; construction rejects older interpreters.
- An application root represented by
strorpathlib.Path. - Valid frozen dataclass configuration modules under the configured
configpath. - Route files that exist and import their required facade when registered.
- One event loop per application worker; mutable runtime state is not designed for cross-loop or cross-thread sharing.
Module learning path
Section titled “Module learning path”- Application lifecycle and resource ownership
- Typed configuration and runtime values
- Deployment, diagnostics, and Application reference
- Creating and starting an application
- Directories and bootstrap caching
Continue with: environment · container · http · console.