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
    interfaces --> utils
    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, utils
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)