plantuml-sequence


Nameplantuml-sequence JSON
Version 0.3.0 PyPI version JSON
download
home_pagehttps://github.com/jonasehrlich/plantuml-sequence
SummaryCreate PlantUML sequence charts programmatically from Python
upload_time2023-04-11 19:50:24
maintainer
docs_urlNone
authorJonas Ehrlich
requires_python>=3.10
licenseMIT
keywords plantuml charts
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # plantuml-sequence

Create PlantUML sequence charts programmatically from Python

The basic example of the [PlantUML Documentation](https://plantuml.com/sequence-diagram) can be implemented with the
following Python script:

``` python
from plantuml_sequence import Diagram

with open("my-diagram.puml", "w") as file, Diagram(file) as sequence:
    (
        sequence.message("Alice", "Bob", "Authentication Request")
        .message("Bob", "Alice", "Authentication Response", arrow_style="-->")
        .blank_line()
        .message("Alice", "Bob", "Another authentication Request")
        .message("Alice", "Bob", "Another authentication Response", arrow_style="<--")
    )

```

Its output inside *my-diagram.puml* is:

``` puml
@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request
Alice <-- Bob: Another authentication Response
@enduml
```

This file be compiled to an image using the `plantuml` command-line or a online server. See the
[PlantUML documentation](https://plantuml.com/starting) for more details.

---

**[Read the documentation on ReadTheDocs!](https://plantuml-sequence.readthedocs.io/)**

---

## Installation and supported Python versions

```sh
pip install plantuml-sequence
```

Python 3.10+ is supported

## Supported PlantUML features

Not all of the features of message sequence charts are supported yet. See the list of implemented features below.

### General

* [x] Use *teoz* renderer

### Participants

* [x] Declaring participants
* [ ] Multiline participants
* [ ] Create participant with message
* [x] Lifeline activation / deactivation
* [ ] Lifeline auto-activate
* [x] Participants encompass (Box around participants)
* [x] Remove foot boxes

### Messages

* [x] Messages
* [x] Basic `autonumber` message numbering
* [ ] Advanced auto numbering
  * [ ] `autonumber` formats
  * [ ] `autonumber` sequence increments
* [x] Hide unlinked participants
* [ ] Mainframe

### Notes

* [x] Different note shapes (`note`, `hnote`, `rnote`)
* [x] Notes on messages
* [x] Notes over / left / right of lifelines
* [x] Notes across all participants
* [ ] Multiple notes at the same level

### Flow

* [ ] Basic message grouping
* [ ] `alt` / `else` groups
* [x] Divider
* [ ] Reference
* [x] Delay
* [x] Space

### Styling

* [ ] Colored groups
* [x] Arrow style change
  * [x] Standard arrow styles
  * [x] Short arrows
* [ ] Slanted arrows
* [ ] Styling changes using the [`skinparam`](https://plantuml.com/skinparam) command

### Preprocessing

> Currently no preprocessing features are planned to be supported

* [ ] Variable definition
* [ ] Boolean expression
* [ ] Conditions
* [ ] While loops
* [ ] Procedures & functions blocks
* [ ] Include directive
* [ ] Memory dump
* [ ] Assertions

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jonasehrlich/plantuml-sequence",
    "name": "plantuml-sequence",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "plantuml,charts",
    "author": "Jonas Ehrlich",
    "author_email": "jonas.ehrlich@gmail.com",
    "download_url": "",
    "platform": null,
    "description": "# plantuml-sequence\n\nCreate PlantUML sequence charts programmatically from Python\n\nThe basic example of the [PlantUML Documentation](https://plantuml.com/sequence-diagram) can be implemented with the\nfollowing Python script:\n\n``` python\nfrom plantuml_sequence import Diagram\n\nwith open(\"my-diagram.puml\", \"w\") as file, Diagram(file) as sequence:\n    (\n        sequence.message(\"Alice\", \"Bob\", \"Authentication Request\")\n        .message(\"Bob\", \"Alice\", \"Authentication Response\", arrow_style=\"-->\")\n        .blank_line()\n        .message(\"Alice\", \"Bob\", \"Another authentication Request\")\n        .message(\"Alice\", \"Bob\", \"Another authentication Response\", arrow_style=\"<--\")\n    )\n\n```\n\nIts output inside *my-diagram.puml* is:\n\n``` puml\n@startuml\nAlice -> Bob: Authentication Request\nBob --> Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml\n```\n\nThis file be compiled to an image using the `plantuml` command-line or a online server. See the\n[PlantUML documentation](https://plantuml.com/starting) for more details.\n\n---\n\n**[Read the documentation on ReadTheDocs!](https://plantuml-sequence.readthedocs.io/)**\n\n---\n\n## Installation and supported Python versions\n\n```sh\npip install plantuml-sequence\n```\n\nPython 3.10+ is supported\n\n## Supported PlantUML features\n\nNot all of the features of message sequence charts are supported yet. See the list of implemented features below.\n\n### General\n\n* [x] Use *teoz* renderer\n\n### Participants\n\n* [x] Declaring participants\n* [ ] Multiline participants\n* [ ] Create participant with message\n* [x] Lifeline activation / deactivation\n* [ ] Lifeline auto-activate\n* [x] Participants encompass (Box around participants)\n* [x] Remove foot boxes\n\n### Messages\n\n* [x] Messages\n* [x] Basic `autonumber` message numbering\n* [ ] Advanced auto numbering\n  * [ ] `autonumber` formats\n  * [ ] `autonumber` sequence increments\n* [x] Hide unlinked participants\n* [ ] Mainframe\n\n### Notes\n\n* [x] Different note shapes (`note`, `hnote`, `rnote`)\n* [x] Notes on messages\n* [x] Notes over / left / right of lifelines\n* [x] Notes across all participants\n* [ ] Multiple notes at the same level\n\n### Flow\n\n* [ ] Basic message grouping\n* [ ] `alt` / `else` groups\n* [x] Divider\n* [ ] Reference\n* [x] Delay\n* [x] Space\n\n### Styling\n\n* [ ] Colored groups\n* [x] Arrow style change\n  * [x] Standard arrow styles\n  * [x] Short arrows\n* [ ] Slanted arrows\n* [ ] Styling changes using the [`skinparam`](https://plantuml.com/skinparam) command\n\n### Preprocessing\n\n> Currently no preprocessing features are planned to be supported\n\n* [ ] Variable definition\n* [ ] Boolean expression\n* [ ] Conditions\n* [ ] While loops\n* [ ] Procedures & functions blocks\n* [ ] Include directive\n* [ ] Memory dump\n* [ ] Assertions\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Create PlantUML sequence charts programmatically from Python",
    "version": "0.3.0",
    "split_keywords": [
        "plantuml",
        "charts"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4014fc95f743585db569e6a078f268eb1aa4ed9b51a10368c6a7501902935789",
                "md5": "f800f93fa75bb6e0d3677b940bfb813c",
                "sha256": "462f8665df902869681c69eedbcee4816034a48b4c23e8479765fc1e75f84aec"
            },
            "downloads": -1,
            "filename": "plantuml_sequence-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f800f93fa75bb6e0d3677b940bfb813c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 9635,
            "upload_time": "2023-04-11T19:50:24",
            "upload_time_iso_8601": "2023-04-11T19:50:24.942090Z",
            "url": "https://files.pythonhosted.org/packages/40/14/fc95f743585db569e6a078f268eb1aa4ed9b51a10368c6a7501902935789/plantuml_sequence-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-11 19:50:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "jonasehrlich",
    "github_project": "plantuml-sequence",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "plantuml-sequence"
}
        
Elapsed time: 0.98462s