Metadata-Version: 2.4
Name: kymostudio
Version: 0.3.5
Summary: Type it. See it appear. Watch it animate.
Project-URL: Homepage, https://github.com/kymostudio/kymostudio
Project-URL: Repository, https://github.com/kymostudio/kymostudio
Project-URL: Issues, https://github.com/kymostudio/kymostudio/issues
Author-email: rain1024 <anhv.ict91@gmail.com>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: animation,architecture,diagram,diagram-as-code,dsl,svg
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Multimedia :: Graphics :: Presentation
Classifier: Topic :: Software Development :: Documentation
Requires-Python: >=3.10
Requires-Dist: cairosvg>=2.9.0
Provides-Extra: webp
Requires-Dist: pillow>=10.0; extra == 'webp'
Description-Content-Type: text/markdown

# kymostudio

**Type it. See it appear. Watch it animate.**

## Install

```bash
pip install kymostudio
# or
uv tool install kymostudio
```

## Convert (CLI)

```bash
kymo path/to/diagram.kymo              # → path/to/diagram.svg
kymo path/to/diagram.kymo --animate    # → path/to/diagram-animated.svg
kymo path/to/diagram.kymo --figma      # → path/to/diagram.figma.js
kymo path/to/diagram.kymo --excalidraw # → path/to/diagram.excalidraw
kymo path/to/process.bpmn                 # → path/to/process.svg (BPMN 2.0)
kymo lint path/to/process.bpmn            # report BPMN structural + import issues
```

See [`samples/`](https://github.com/kymostudio/kymostudio/tree/main/samples) for complete example `.kymo` and
`.bpmn` files.

### BPMN 2.0 import

A standard `.bpmn` file (from bpmn.io / Camunda Modeler / Signavio …) renders
to SVG using the geometry in the file's Diagram-Interchange section — no
layout pass runs. See [`docs/formats/bpmn/`](https://github.com/kymostudio/kymostudio/blob/main/docs/formats/bpmn)
for the BPMN 2.0.2 normative reference and the element mapping (import + export).

```python
from kymo import parse_bpmn, render

diagram = parse_bpmn(open("process.bpmn").read())
svg = render(diagram)
```

## Python API

```python
from kymo import parse, layout, resolve_alignments, render

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

## Develop

```bash
uv run --group dev python -m pytest -q       # run the test suite
```

## License

Apache License 2.0 — see [`LICENSE`](https://github.com/kymostudio/kymostudio/blob/main/packages/python/LICENSE).
