What problem does it solve?
Automates the tedious and error-prone process of converting large Java codebases into idiomatic, type-annotated Python 3.11 projects so teams can avoid manual rewrite and accelerate migrations.
Core Features & Use Cases
- LLM-driven file conversion: Converts every .java file listed in the project manifest using chunking for large files and reassembles into Python modules.
- Post-processing & validation: Applies Black formatting, runs flake8 lint checks, and performs syntax validation, logging warnings and marking files that need review.
- Outputs and artifacts: Writes a python_project tree, a migration_map.json for traceability, migration_state.json for pipeline state, and generates requirements.txt from dependency mappings.
- Use Case: Migrate a legacy Spring/Java microservice into an idiomatic Python FastAPI service while preserving business logic and producing a change map for reviewers.
Quick Start
Convert the Java project at https://github.com/apache/commons-lang into an idiomatic Python 3.11 package, produce output/python_project, and generate migration_map.json and requirements.txt.