Skip to content

EzCompiler

PyPI version Python versions PyPI status License CI Docs uv linter type checker tests

EzCompiler Logo

EzCompiler is a Python framework for compiling projects to executables, packaging them as ZIP archives, and distributing them — through a single typed API.

🚀 Quick start

uv add ezcompiler
pip install ezcompiler
from ezcompiler import EzCompiler, CompilerConfig

config = CompilerConfig(
    version="1.0.0",
    project_name="MyApp",
    main_file="main.py",
    include_files={"files": [], "folders": []},
    output_folder="dist",
)

ezcompiler = EzCompiler(config)
ezcompiler.compile_project(compiler="PyInstaller")  # (1)!
ezcompiler.zip_compiled_project()
ezcompiler.upload(destination="./releases", structure="disk")
  1. Supported backends: "PyInstaller", "Cx_Freeze", "Nuitka".

✨ Key features

  • Multi-backend compilation: Cx_Freeze, PyInstaller, and Nuitka.
  • ZIP packaging with configurable compression.
  • Disk and HTTP server upload backends.
  • Template-based generation for config, setup, and version files.
  • Complete Python 3.11+ type hints throughout the public API.

📚 Documentation

Section Description
Getting Started Tutorial for a working setup in a few minutes.
User Guides Task-focused configuration and operational recipes.
API Reference Curated API map and auto-generated technical reference.
CLI Reference Command and option reference for the CLI.
Examples Copy-paste runnable scenarios.

📋 Requirements

  • Python >= 3.11
  • PyYAML >= 6.0
  • cx_Freeze, PyInstaller, or Nuitka (at least one backend)

⚖️ License

MIT. See LICENSE.