Skip to content

Latest commit

 

History

History

README.md

PyFly brand assets

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).

Assets

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).

Design system

  • Typeface: Maven Pro for the wordmark (also the book's typeface). System sans / ui-monospace for 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 → #0c1a0f with 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.

Regenerating

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.py

It 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.

Previewing / verifying

SVGs render faithfully (exactly as GitHub shows them) with resvg:

npx -y @resvg/resvg-js-cli assets/banner.svg /tmp/banner.png   # exact-size PNG

The 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.