Metadata-Version: 2.1
Name: animate-puml
Version: 0.4.1
Summary: Simple animation of PlantUML diagrams
Home-page: https://namuan.github.io/animate-puml
License: MIT
Author: namuan
Author-email: github@deskriders.dev
Requires-Python: >=3.9.0,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Dist: pillow (>=9.4.0,<10.0.0)
Requires-Dist: py-executable-checklist (==1.4.0)
Requires-Dist: pygifsicle (>=1.0.7,<2.0.0)
Requires-Dist: pytest (>=7.2.0,<8.0.0)
Requires-Dist: python-dotenv (>=0.21.0,<0.22.0)
Requires-Dist: rich (>=13.0.0,<14.0.0)
Project-URL: Documentation, https://namuan.github.io/animate-puml
Project-URL: Repository, https://github.com/namuan/animate-puml
Description-Content-Type: text/markdown

# PlantUML Animation

[![PyPI](https://img.shields.io/pypi/v/animate-puml?style=flat-square)](https://pypi.python.org/pypi/animate-puml/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/animate-puml?style=flat-square)](https://pypi.python.org/pypi/animate-puml/)
[![PyPI - License](https://img.shields.io/pypi/l/animate-puml?style=flat-square)](https://pypi.python.org/pypi/animate-puml/)

Simple animation for PlantUML diagrams.

![](assets/security-puml.gif)

---

**Documentation**: [https://namuan.github.io/animate-puml](https://namuan.github.io/animate-puml)

**Source Code**: [https://github.com/namuan/animate-puml](https://github.com/namuan/animate-puml)

**PyPI**: [https://pypi.org/project/animate-puml/](https://pypi.org/project/animate-puml/)

---

## Pre-requisites

- [PlantUML](https://plantuml.com/)
  ```shell
  brew install plantuml
  ```

## Installation

```sh
pip install animate-puml
```

## How it works

## Sample PlantUML Document

```puml
@startuml

' scale 1000 width

!$disabled = "<color:lightgray><size:14>"

rectangle "<size:20>Client" as Client #LightCyan
rectangle "AUTH" as Auth
rectangle "API_GATEWAY" as APIG

rectangle GCP #LightCyan {
    node "ServiceA" as ServiceA
    node "ServiceB" as ServiceB
    node "ServiceC" as ServiceC
    queue "Kafka" as Queue
}

' start
Client -right[#lightgray]-> Auth : $disabled Get Token
Client -right[#lightgray]-> APIG : $disabled Pass token
APIG -up[#lightgray]-> Auth : $disabled Validate token
APIG -right[#lightgray]-> ServiceA : $disabled Pass token
ServiceA -up[#lightgray]-> Auth : $disabled Validate token
ServiceA -right[#lightgray]-> ServiceB : $disabled Pass token
ServiceB -up[#lightgray]-> Auth : $disabled Validate token
ServiceA -down[#lightgray]-> Queue : $disabled Pass token
Queue -down[#lightgray]-> ServiceC : $disabled Pass token
ServiceC -up[#lightgray]-> Auth : $disabled Validate token
' end

@enduml
```

## Acknowledgements

- [PlantUML](https://plantuml.com/)

## Development

* Clone this repository
* Requirements:
  * Python 3.7+
  * [Poetry](https://python-poetry.org/)

* Create a virtual environment and install the dependencies
```sh
poetry install
```

* Activate the virtual environment
```sh
poetry shell
```

### Validating build
```sh
make build
```

### Release process
A release is automatically published when a new version is bumped using `make bump`.
See `.github/workflows/build.yml` for more details.
Once the release is published, `.github/workflows/publish.yml` will automatically publish it to PyPI.

### Disclaimer

This project is not affiliated with PlantUML.

