Skip to content
Packages Examples Agents Blog Get started
Terminal window
uv add oridecon-web

oridecon (core) and oridecon-contracts are pulled in automatically.


A single-file prototype with the quickstart app:

main.py
from oridecon.web import app, get, singleton
@singleton
class Greeter:
def hello(self, name: str) -> str:
return f"Hello, {name}"
@get("/hello/{name}")
async def hello(name: str, greeter: Greeter) -> dict:
return {"message": greeter.hello(name)}

Run with any ASGI server:

8000/hello/world
uv run uvicorn main:app

The app object is a standard ASGI application. OpenAPI docs are auto-generated at /docs (Swagger UI) and /redoc.


Use Application + WebProvider for explicit control:

app.py
from oridecon import Application
from oridecon.web import WebProvider
def create_app() -> Application:
app = Application(name="my-api")
app.add_provider(WebProvider())
return app
Terminal window
uv run uvicorn app:create_app --factory

  • Your First App — the full walkthrough with DI, controllers, and Result types
  • Guide — mental model, workflows, best practices
  • How-Tos — task-oriented recipes
  • Configuration — every config key