Lauren logoLauren
← Home
Export this page

Installation

Lauren targets Python 3.11 or newer and ships with py.typed, so static analyzers like mypy and pyright pick up the full public API immediately.

Install from PyPI

bash
pip install lauren

For Pydantic-validated request bodies (Json[Model], Form[Model], response models in OpenAPI), install Pydantic v2:

bash
pip install pydantic

Install from source

bash
git clone https://github.com/your-org/lauren.git
cd lauren
pip install -e .
pip install pytest pytest-asyncio   # to run the test suite

Run the tests

Lauren ships with 252+ unit tests covering routing, DI, extractors, modules, lifecycle, middleware, guards, exception handlers, OpenAPI, the strict inheritance guard, auto-serialization, structured logging, signal handling, WebSockets, Server-Sent Events, and the Socket.IO adapter:

bash
python -m pytest tests/

Pick an ASGI server

Lauren returns a standard ASGI 3 callable from LaurenFactory.create(...). Any compliant server works:

bash
pip install "uvicorn[standard]"
uvicorn myapp:app --host 0.0.0.0 --port 8000
ToolWhy it helps
mypy or pyrightLauren's py.typed marker means type checkers see every extractor, scope, and DI signature. Catches misuse statically.
RuffThe framework's style is Black-compatible (88-char soft limit, 120 hard). Ruff's defaults align cleanly.
uvicorn --reloadHot reload during development; Lauren's startup is fast enough that reloads feel instant on most graphs.

You're ready. Head to the Quickstart to build your first app.