Lilya Converter
Convert web framework codebases into Lilya with deterministic rules, explicit diagnostics, and reproducible reports.
Documentation: https://lilya-converter.dymmond.com 📚
Source Code: https://github.com/dymmond/lilya-converter 💻
lilya_converter is a modular CLI for converting source framework projects into Lilya.
Supported Sources
| Source | Key | Notes |
|---|---|---|
| FastAPI | fastapi |
Default source, backwards-compatible behavior |
| Flask | flask |
Blueprint and route conversion |
| Django | django |
URLConf conversion + management command path remap |
| Litestar | litestar |
Decorator/route_handlers conversion |
| Starlette | starlette |
Route/Mount conversion |
Architecture
- framework-agnostic core orchestration,
- explicit adapter registry,
- framework-specific adapters,
- shared filesystem utilities,
- deterministic report and diagnostic models.
Installation
pip install lilya-converter
Optional framework extras (useful when you also want local framework packages installed):
pip install "lilya-converter[fastapi]"
pip install "lilya-converter[flask]"
pip install "lilya-converter[django]"
pip install "lilya-converter[litestar]"
pip install "lilya-converter[starlette]"
Install with all supported framework extras:
pip install "lilya-converter[fastapi,flask,django,litestar,starlette]"
For local development:
pip install -e .
CLI entrypoint:
lilya-converter --help
Usage
FastAPI remains the default source:
lilya-converter analyze ./my-fastapi-app
lilya-converter convert ./my-fastapi-app ./my-lilya-app --dry-run --diff
Select another framework explicitly:
lilya-converter analyze ./my-django-app --source django
lilya-converter convert ./my-flask-app ./my-lilya-app --source flask
lilya-converter convert ./my-litestar-app ./my-lilya-app --source litestar
lilya-converter convert ./my-starlette-app ./my-lilya-app --source starlette
lilya-converter verify ./my-lilya-app --source django --report ./reports/verify.json
Full source-key matrix:
lilya-converter convert ./my-fastapi-app ./my-lilya-app
lilya-converter convert ./my-flask-app ./my-lilya-app --source flask
lilya-converter convert ./my-django-app ./my-lilya-app --source django
lilya-converter convert ./my-litestar-app ./my-lilya-app --source litestar
lilya-converter convert ./my-starlette-app ./my-lilya-app --source starlette
Commands
lilya-converter analyze SOURCE [--source SOURCE_KEY] [--json] [--output REPORT.json]
lilya-converter convert SOURCE TARGET [--source SOURCE_KEY] [--dry-run] [--diff] [--report REPORT.json]
lilya-converter scaffold SOURCE TARGET [--source SOURCE_KEY] [--dry-run]
lilya-converter map rules [--source SOURCE_KEY]
lilya-converter map applied REPORT.json
lilya-converter verify TARGET [--source SOURCE_KEY] [--report REPORT.json]
Run lilya-converter convert --help to see supported source keys in deterministic order.
Adapter Extension Guide
See Adding a New Adapter for:
- adapter package skeleton,
- explicit registry registration,
- test expectations,
- typing, docstring, and error-handling conventions.
Testing
Run full test suite:
hatch run test:test -q
Building docs
hatch run docs:build
Metadata
Release files for lilya_converter 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lilya_converter-0.2.0.tar.gz | 53.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lilya_converter-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 131.1 kB
Release files / lilya_converter-0.2.0.tar.gz
| Download URL | lilya_converter-0.2.0.tar.gz |
|---|---|
| Size | 53.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2609e37c19bf642d59f14b5204a52f06f387729396cd52dae12ffde95a020ba9
|
|
BLAKE2b-256 checksum How to use checksums |
e7d0f9a0143fb2992d8680352852cb9bbad61917be36194f3f4ef269ae0ac8bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.16.5 cpython/3.10.19 HTTPX/0.28.1
|
Release files / lilya_converter-0.2.0-py3-none-any.whl
| Download URL | lilya_converter-0.2.0-py3-none-any.whl |
|---|---|
| Size | 77.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fb4597d8f66ebfb4a30163209b6760af66c735a75fcb118361ed897d3fe79613
|
|
BLAKE2b-256 checksum How to use checksums |
b62ec37da95fdbc1e3558080c6ee963d88cbec72483e4dd65adf49a903b22d1b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.16.5 cpython/3.10.19 HTTPX/0.28.1
|