Skip to content

Architecture — Layer Dependency Graph

Import dependency graph generated by grimp from the live ezcompiler source tree.

Auto-generated

This page is regenerated at each documentation build from the actual source code. It reflects the real import graph, not a manually maintained diagram.

To regenerate locally:

PYTHONPATH=src python .scripts/dev/generate_architecture_graph.py

Dependency Graph

graph TD
    interfaces["interfaces/<br/>(CLI + Python API)"]
    services["services/<br/>(Business Logic)"]
    adapters["adapters/<br/>(Compilers + Uploaders)"]
    shared["shared/<br/>(Config + Exceptions)"]
    utils["utils/<br/>(Utilities + Validators)"]
    assets["assets/<br/>(Templates)"]

    interfaces --> services
    interfaces --> shared
    services --> adapters
    services --> assets
    services --> shared
    services --> utils
    adapters --> shared
    adapters --> utils
    utils --> shared
    assets --> utils

    style interfaces fill:#4A90D9,color:#fff,stroke:#2C5F8A
    style services fill:#5BA85A,color:#fff,stroke:#3A6B39
    style adapters fill:#E8922A,color:#fff,stroke:#A3621B
    style shared fill:#9B59B6,color:#fff,stroke:#6C3483
    style utils fill:#E74C3C,color:#fff,stroke:#A93226
    style assets fill:#7F8C8D,color:#fff,stroke:#566573

Layer Import Matrix

Layer Imports from
interfaces services, shared
services adapters, assets, shared, utils
adapters shared, utils
shared
utils shared
assets utils

Layer Responsibilities

Layer Responsibility
interfaces Public entry points — CLI (cli_interface) and Python API (EzCompiler)
services Business logic and pipeline orchestration (CompilerService, PipelineService, …)
adapters Concrete compiler and uploader implementations (CxFreezeCompiler, DiskUploader, …)
shared Cross-layer data structures and exceptions (CompilerConfig, CompilationResult, …)
utils Pure utility functions and validators (ZipUtils, FileUtils, validators, …)
assets Static templates consumed by TemplateService (config, setup, version files)