Metadata-Version: 2.4
Name: ewoksdraw
Version: 0.0.1
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Requires-Dist: defusedxml
Requires-Dist: ewokscore==5.1.0rc4
Requires-Dist: reportlab
Requires-Dist: typing-extensions ; python_full_version < '3.11'
Requires-Dist: xmltodict
Requires-Dist: ewoksdraw[test] ; extra == 'dev'
Requires-Dist: ruff>=0.16.0 ; extra == 'dev'
Requires-Dist: mypy ; extra == 'dev'
Requires-Dist: sphinx>=4.5 ; extra == 'doc'
Requires-Dist: sphinx-autodoc-typehints>=1.16 ; extra == 'doc'
Requires-Dist: pydata-sphinx-theme ; extra == 'doc'
Requires-Dist: pytest>=7 ; extra == 'test'
Provides-Extra: dev
Provides-Extra: doc
Provides-Extra: test
License-File: LICENSE.md
License-File: THIRD_PARTY_NOTICES.md
License-File: LICENSES/elk-rs/LICENSE
License-File: LICENSES/elk-rs/NOTICE
Summary: Render Ewoks workflows as SVG
Author-email: ESRF <dau-pydev@esrf.fr>
License-Expression: MIT AND EPL-2.0
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Project-URL: Changelog, https://github.com/ewoks-kit/ewoksdraw/-/blob/main/CHANGELOG.md
Project-URL: Documentation, https://ewoksdraw.readthedocs.io/
Project-URL: Homepage, https://github.com/ewoks-kit/ewoksdraw/
Project-URL: Issues, https://github.com/ewoks-kit/ewoksdraw/issues/
Project-URL: Repository, https://github.com/ewoks-kit/ewoksdraw/

# ewoksdraw

[![Pipeline](https://github.com/ewoks-kit/ewoksdraw/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/ewoks-kit/ewoksdraw/actions/workflows/test.yml)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![License](https://img.shields.io/github/license/ewoks-kit/ewoksdraw)](https://github.com/ewoks-kit/ewoksdraw/blob/main/LICENSE.md)

A library to generate SVG mock-ups out of Ewoks workflows.

## Quick start

Using pip:
```bash
pip install "git+https://github.com/ewoks-kit/ewoksdraw.git"
```
Using pixi:
```bash
pixi add --pypi "ewoksdraw @ git+https://github.com/ewoks-kit/ewoksdraw.git"
```

> **Note:** the layout engine is a Rust extension. Prebuilt wheels are provided for Linux (x86_64, aarch64), Windows (x64) and macOS (Intel, arm64). Installing from Git, or on any other platform, builds it from source and requires a [Rust toolchain](https://rustup.rs) and network access to GitHub.

### Python

```python
from ewoks import load_graph
from ewoksdraw import graph_to_svg

# Load a graph with `ewoks.load_graph`
graph = load_graph(...)

# Generate the SVG
graph_to_svg(graph, output_path="my_workflow.svg")
```

## License

The ewoksdraw code and Rust binding use the [MIT license](LICENSE.md). The
bundled elk-rs layout engine uses EPL-2.0; see
[third-party notices](THIRD_PARTY_NOTICES.md) for its license, attribution, and
corresponding source code.

