Skip to main content

Lilya Converter

Lilya

Convert web framework codebases into Lilya with deterministic rules, explicit diagnostics, and reproducible reports.

Test Suite Package version Supported Python versions


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)

Source distribution for lilya_converter 0.2.0
File Size Uploaded
lilya_converter-0.2.0.tar.gz 53.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lilya_converter 0.2.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page