The visual identity used across the README and the book. PyFly is the green firefly of the Firefly Framework family — the same firefly-in-the-dark language as the Java / .NET / Rust siblings, recolored to Python green (the logo's green-yellow sparkles are the family's fireflies).
| File | What it is |
|---|---|
pyfly-logo.png |
The master logo — the green Python snake on a leaf-wing + the pyFly wordmark (RGBA, 1648×748). Source of brand truth. |
banner.svg |
README hero banner (1280×320). Dark cosmic sky, green fireflies + light trails, the actual snake (cropped from the logo, embedded) and a Maven Pro pyFly wordmark vectorized to paths. |
architecture.svg |
"Architecture at a glance" — front door → five layers → async core. |
hexagonal.svg |
Ports & adapters: an application core, Protocol ports, swappable adapters. |
auto-configuration.svg |
Entry-point discovery → conditional guards → bind / fall back / skip. |
request-lifecycle.svg |
An HTTP request flowing through filters → controller → service → port → adapter → DB. |
distributed-patterns.svg |
A saga DAG with reverse-order compensation + Saga / Workflow / TCC cards. |
ecosystem.svg |
The Firefly family constellation (Java · .NET · PyFly · Rust · Go · Angular · GenAI). |
- Typeface: Maven Pro for the
wordmark (also the book's typeface). System sans /
ui-monospacefor diagram text. - Green palette: lime
#7ed321· primary#4cbb2f·#43b02a/#3a9e23· mid#2c8a1c· deep#1f5e16· body text#33402e· muted#7c876f· card stroke#dfe7d4· panel#f4f9ee. Firefly glow#9bd24a → #c2e85f → #dff58a. - Banner sky:
#07110b → #0a1410 → #0c1a0fwith a green radial ambient. - Motifs: firefly motes, a green title rule, deep-green numbered badges, monospace module lists, and brand icons (Simple Icons).
- GitHub-safe: every SVG is self-contained — no
<script>, no external resource references, no web fonts (the wordmark is vector paths); diagrams use opaque light cards so they read in both light and dark mode.
Everything is generated by one self-contained script:
# needs fontTools + Pillow (the book virtualenv has both); Maven Pro is fetched & cached
book/.venv/bin/python assets/tools/build_brand_assets.pyIt crops the snake from pyfly-logo.png, vectorizes the Maven Pro wordmark,
draws the six diagrams from the shared kit (measured text → guaranteed fit, plus an
automatic overlap check that prints WARNINGS: none), and writes all seven SVGs.
The brand icons are vendored in tools/icons.py so the build is
network-free except for the one-time Maven Pro download.
SVGs render faithfully (exactly as GitHub shows them) with resvg:
npx -y @resvg/resvg-js-cli assets/banner.svg /tmp/banner.png # exact-size PNGThe book cover (book/art/cover.svg) shares this identity and is produced by
book/build/gen_cover.py, which vectorizes the same
Maven Pro wordmark.