Skip to main content

svg++ reference renderer

Project description

diagramagic

svg++ reference renderer for humans and LLMs. Feed it svg++ input and it emits plain SVG—no runtime, no exotic format. What is "svg++"? Just something we made up here: it's simply svg plus a few additions to support text layout and templates.

Quick Start

  • Spec + motivation: PROJECTSPEC.md
  • Agent cheat sheet: AGENTS.md
  • CLI: diagramagic input.svg++ > output.svg
  • Tests/fixtures: python tests/run_tests.py
  • Library use: from diagramagic import diagramagic (module lives in src/).

svg++ basics: wrap your document in <diag:diagram> with the diag: namespace, use <diag:flex> for layout, and diag:wrap="true" on <text> to wrap. Everything compiles to pure SVG 1.1.

Need reusable pieces? Define <diag:template name="card">…</diag:template> once, then drop <diag:instance template="card"> wherever you need consistent cards or packets.

Example:

<diag:diagram xmlns="http://www.w3.org/2000/svg"
              xmlns:diag="https://example.com/diag"
              width="300" height="160">
  <style>
    .card { fill:#fff; stroke:#999; rx:10; ry:10; }
    .title { font-size:16; font-weight:600; }
    .body { font-size:12; }
  </style>

  <diag:flex x="20" y="20" width="260" padding="14" gap="8" background-class="card">
    <text class="title" diag:wrap="false">Hello svg++</text>
    <text class="body" diag:wrap="true">
      This paragraph wraps to the flex width automatically.
    </text>
  </diag:flex>
</diag:diagram>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diagramagic-0.1.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

diagramagic-0.1.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file diagramagic-0.1.0.tar.gz.

File metadata

  • Download URL: diagramagic-0.1.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for diagramagic-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0864f36d361f0a6b55c175bccf44352f48179198d81fc1a20a064534c689994c
MD5 426c61d32a008d2cdb43681f585d2882
BLAKE2b-256 0f1cc13b09958bf6dfe92741d468e7a5a7948e42e5fffe364f06dd8a2216f999

See more details on using hashes here.

File details

Details for the file diagramagic-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: diagramagic-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for diagramagic-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ea76f1d3203787951ad61b0674f8b1c55f7b2b804b9b24007333ceef357ddc30
MD5 96493bac9126434a31c6f8c5d4b9f94e
BLAKE2b-256 ae2ef09cfc68c857449c7c01fa831719c60a91e6bcdfc0feed1579be0e76e10c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page