Skip to content

EngraphaEngrapha Engrapha

Beautiful PDFs from Python or Markdown


Get Started Browse Gallery GitHub


Why Engrapha?

  • 13 Diagram Types

    Flowcharts · ER · Sequence · Network · Architecture · C4 · AWS · State Machine · Git · Stack · Timing · Class · Schema

  • 10 Themes

    Dark · Light · Ocean · Forest · Sunset · Midnight · Sepia · Catppuccin Latte/Mocha

  • Multi-Format Export

    PDF · HTML · PPTX · Anki APKG / CSV / JSON from the same source

  • Markdown CLI

    Engrapha notes.md --theme catppuccin-mocha — no Python required

  • Zero Dependencies

    No LaTeX · No Java · No Node · No internet. Just Python + pip.

  • Vector-Native

    Every diagram is ReportLab vector graphics. No PNG rasters. No missing fonts.


Quick Start

import engrapha_notes as en
import engrapha_diagrams as ed

en.set_theme(en.OCEAN_DARK)
en.footer(left="Intro to Algorithms", show_page_num=True)

en.part_box("Unit I: Basic Algorithms")
en.chap_box("1.1 Sorting Fundamentals")
en.section("Insertion Sort")
en.body("Insertion Sort builds a sorted array one item at a time.")
en.tip("Time complexity: O(N²) worst case, O(N) best case.")

fc = ed.Flowchart(width=en.CW, height=180, caption="Fig 1: Loop invariant step")
fc.terminal("start", "START").process("step", "Compare").terminal("end", "END")
fc.edge("start", "step").edge("step", "end")

en.add(fc.as_flowable())
en.build_doc("quickstart.pdf")

Ecosystem

  • engrapha_notes

    Semantic layout · Theming engine · Typography · ReportLab Platypus

  • engrapha_diagrams

    Vector-native diagram library · No external compilers · Theme-matched


Feature Matrix

Capability Engrapha ReportLab Mermaid Pandoc LaTeX
Themed PDF notes Partial
Vector diagrams Partial Partial
HTML export
PPTX export
Flashcards / Anki
Zero external tools
Markdown CLI
Python API Partial



For a semantic overview of all documentation, see sitemap.md.

For an index of all available documentation, see llms.txt.


License

MIT — see LICENSE.