Skip to main content

Diagram-as-code DSL — declarative architecture diagrams to animated SVG/WebP

Project description

kymo

Diagram-as-code DSL — declarative architecture diagrams to animated SVG / WebP.

NVIDIA AIQ replica — animated

Install

pip install kymostudio
# or
uv tool install kymostudio

Usage

kymo path/to/diagram.diagram             # → path/to/diagram.svg
kymo path/to/diagram.diagram --animate   # → path/to/diagram-animated.svg
kymo path/to/diagram.diagram --figma     # → path/to/diagram.figma.js
kymo path/to/diagram.diagram --excalidraw # → path/to/diagram.excalidraw

See samples/ for complete example .diagram files.

Python API

from kymo import parse, layout, resolve_alignments, render

diagram, layout_spec, external = parse(open("diagram.diagram").read())
if layout_spec:
    layout(diagram, layout_spec, external)
resolve_alignments(diagram)
svg = render(diagram, animate=True)

JavaScript / npm

A browser/Node port of the shared data model + icon library (the DSL parser, layout engine and SVG renderer remain Python-only):

npm install kymostudio
import { makeComponent, makeEdge, anchor, ICONS, getIcon } from "kymostudio";

License

Apache License 2.0 — see LICENSE.

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

kymostudio-0.1.1.tar.gz (36.5 MB view details)

Uploaded Source

Built Distribution

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

kymostudio-0.1.1-py3-none-any.whl (64.9 kB view details)

Uploaded Python 3

File details

Details for the file kymostudio-0.1.1.tar.gz.

File metadata

  • Download URL: kymostudio-0.1.1.tar.gz
  • Upload date:
  • Size: 36.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kymostudio-0.1.1.tar.gz
Algorithm Hash digest
SHA256 82ab27c0df1f1ba1c71ee2d21cab347d1c75f24437d85a866f1798853ef758a0
MD5 13f2cecb4b68a934902c86a527253ece
BLAKE2b-256 7425515883694334a5b031538d07216d86656d2b530b186ca35b60b245bd942d

See more details on using hashes here.

Provenance

The following attestation bundles were made for kymostudio-0.1.1.tar.gz:

Publisher: release-pypi.yml on kymostudio/kymostudio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kymostudio-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: kymostudio-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 64.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kymostudio-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 efa5c147173392b725aa08fe1af72991eae3c66beb5348a56ec863600e6d32f2
MD5 25df843633fde95993f33787c164b4e7
BLAKE2b-256 356070e920672609903c2c917ea933577ed4fe1dc7d1db0886c6b5d0084b1114

See more details on using hashes here.

Provenance

The following attestation bundles were made for kymostudio-0.1.1-py3-none-any.whl:

Publisher: release-pypi.yml on kymostudio/kymostudio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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