Skip to content

Architecture — Layer Dependency Graph

Import dependency graph generated by grimp from the live ezpl 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
    cli["cli/<br/>(CLI Entry Point)"]
    core["core/<br/>(Public API)"]
    handlers["handlers/<br/>(Printer + Logger)"]
    config["config/<br/>(Configuration)"]
    types["types/<br/>(Enums + Protocols)"]
    utils["utils/<br/>(Utilities)"]

    cli --> config
    cli --> core
    handlers --> core
    handlers --> types
    handlers --> utils
    config --> core
    types --> core

    style cli fill:#4A90D9,color:#fff,stroke:#2C5F8A
    style core fill:#5BA85A,color:#fff,stroke:#3A6B39
    style handlers fill:#E8922A,color:#fff,stroke:#A3621B
    style config fill:#9B59B6,color:#fff,stroke:#6C3483
    style types fill:#E74C3C,color:#fff,stroke:#A93226
    style utils fill:#7F8C8D,color:#fff,stroke:#566573

Layer Import Matrix

Layer Imports from
cli config, core
core
handlers core, types, utils
config core
types core
utils

Layer Responsibilities

Layer Responsibility
cli Public entry point — Click CLI (ezpl command)
core Main API (Ezpl singleton, get_printer, get_logger)
handlers Concrete output handlers (EzPrinter, EzLogger, RichWizard)
config Configuration management (ConfigManager, schema validation)
types Type definitions — enums (LogLevel, Pattern), protocols, exceptions
utils Pure utility functions (safe_str_convert, sanitize_for_file, …)