Skip to main content

Convert your existing projects into a Lilya application with ease

Project description

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lilya_converter-0.2.0.tar.gz (53.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lilya_converter-0.2.0-py3-none-any.whl (77.3 kB view details)

Uploaded Python 3

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

Hashes for lilya_converter-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2609e37c19bf642d59f14b5204a52f06f387729396cd52dae12ffde95a020ba9
MD5 2740d60fd352d1d08b1986a98dbeaf57
BLAKE2b-256 e7d0f9a0143fb2992d8680352852cb9bbad61917be36194f3f4ef269ae0ac8bb

See more details on using hashes here.

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

Hashes for lilya_converter-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb4597d8f66ebfb4a30163209b6760af66c735a75fcb118361ed897d3fe79613
MD5 f76a84f6fae0a0f34b5d45ff1d724abd
BLAKE2b-256 b62ec37da95fdbc1e3558080c6ee963d88cbec72483e4dd65adf49a903b22d1b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page