Convert your existing projects into a Lilya application with ease
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lilya_converter-0.2.0.tar.gz.
File metadata
- Download URL: lilya_converter-0.2.0.tar.gz
- Upload date:
- Size: 53.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.5 cpython/3.10.19 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2609e37c19bf642d59f14b5204a52f06f387729396cd52dae12ffde95a020ba9
|
|
| MD5 |
2740d60fd352d1d08b1986a98dbeaf57
|
|
| BLAKE2b-256 |
e7d0f9a0143fb2992d8680352852cb9bbad61917be36194f3f4ef269ae0ac8bb
|
File details
Details for the file lilya_converter-0.2.0-py3-none-any.whl.
File metadata
- Download URL: lilya_converter-0.2.0-py3-none-any.whl
- Upload date:
- Size: 77.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.5 cpython/3.10.19 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb4597d8f66ebfb4a30163209b6760af66c735a75fcb118361ed897d3fe79613
|
|
| MD5 |
f76a84f6fae0a0f34b5d45ff1d724abd
|
|
| BLAKE2b-256 |
b62ec37da95fdbc1e3558080c6ee963d88cbec72483e4dd65adf49a903b22d1b
|