lcl-fastapi¶
Business routes in. A managed FastAPI service out.
A lightweight Python framework combining FastAPI with LCL configuration,
contextual logging, and Snowflake request IDs. Supply your routes, a trusted
.lclcfg file, and an optional async lifespan; the framework owns worker
startup, health sampling, local operations, and bundled offline Swagger UI.
Start here¶
Follow Build a service: catalog, directory monitor and LCL playground to go from an empty directory to a validated API with logs, HTTP checks, and deployment configuration.
Install from PyPI in a Python 3.14 virtual environment:
python -m pip install lcl-fastapi==0.5.0
Follow the quick start
to run your first route, inspect /health, and open /docs. Then explore the
independent minimal service
or composed application
with Routers, business configuration, and lifespan resources.
Build and operate¶
| Your next step | Read |
|---|---|
| Compose routes and own startup resources | Application and lifespan |
| Run managed work outside the API loop | Background workers |
| Configure the service and public origin | Configuration |
| Trace requests through business logs | Request logging |
| Inspect service and worker observations | Health and CLI |
| Run native workers | Windows or Linux |
| Prepare deployment files | Nginx and systemd |
| Understand cleanup and state | Runtime ownership |
Know the boundaries¶
The initial validation matrix is CPython 3.14 on Windows and Linux. Deployment supports one service per machine. Windows uses Uvicorn with Winloop; Linux uses Gunicorn. Configuration is trusted and requires a complete restart for consistent changes. Python hot reload with configurable watch directories is available for development. Authentication and automatic deployment are outside the framework's scope. See the implemented features for evidence and limitations.
Follow the project¶
Source and issues · PyPI · Changelog · Wiki
These pages are built from the repository's canonical docs/ Markdown.
Use Edit on GitHub to view a page's source and propose improvements.
Contributors can start with engineering and the
development plan.