A (quite) simple that helps creating on-the-fly Mermaid diagrams
Project description
Python-Mermaid
This modules aims to implement a simple way for developers/admin-sys/devops to create on-the-fly Mermaid diagrams.
✅ Use of this module when:
- keeping up-to-date diagrams about systems that can can be discovered with automated scripts :
- architecture of a server (packages, services,...)
- architecture of a folder (files and subfolders,...)
- keeping up-to-date diagrams about a data-visualization tool (like Metabase, Lightdash etc.)
- list of collections and indicators with their links for modification
❌ Do not use this module for
- making a single instance diagram that doesn't need to be updated : documentation, presentation etc.
Installation
pip install python_mermaid
How to use
All examples are available here
Run the script below to see diagram generation
# Creating a simple flowchart diagram
from python_mermaid.diagram import (
MermaidDiagram,
Node,
Link
)
# Family members
meg = Node("Meg")
jo = Node("Jo")
beth = Node("Beth")
amy = Node("Amy")
robert = Node("Robert March")
the_march_family = [meg, jo, beth, amy, robert]
# Create links
family_links = [
Link(robert, meg),
Link(robert, jo),
Link(robert, beth),
Link(robert, amy),
]
chart = MermaidDiagram(
title="Little Women",
nodes=the_march_family,
links=family_links
)
print(chart)
Returns the following
---
title: Little Women
---
graph TD
meg["Meg"]
jo["Jo"]
beth["Beth"]
amy["Amy"]
robert_march["Robert March"]
robert_march ---> meg
robert_march ---> jo
robert_march ---> beth
robert_march ---> amy
which results can be seen here
Roadmap
Available features
- Create basic flowcharts and statecharts
Roadmap
See issues
Development
- Requirements: install Poetry. Here is the official method below. ⚠️ Please consider getting a look at Poetry's documentation if it doesn't work. ⚠️
curl -sSL https://install.python-poetry.org | python3 -
- All-in-one command below to clone and install dependencies
curl -sSL https://install.python-poetry.org | python3 -
git clone https://github.com/Dynnammo/python_mermaid
cd python_mermaid
poetry shell
poetry install --with dev
Quick commands
- Launch tests:
poetry run pytest - Check linting:
poetry run ruff check . - Check typing:
poetry run mypy python_mermaid
To check linting:
```shell
poetry run flake8
This project comes with a tool called pre-commit that checks if your code is correctly linted.
If you want to use it, run the following
pre-commit install
Contribute
Wanna help ? Find a bug ?
- Do not hesitate to fork the repository and send PRs with your changes
- No time to code ? Send a bug/feature issue here
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_mermaid-0.1.6.tar.gz.
File metadata
- Download URL: python_mermaid-0.1.6.tar.gz
- Upload date:
- Size: 17.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.13.3 Linux/6.12.28-1-MANJARO
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
496fc9b7e3ebd1cf6205b9219c5a5ae313621b611571902a8d70b927a0fef96d
|
|
| MD5 |
5c24e66dfdae8ff73c1ae97c412c7abb
|
|
| BLAKE2b-256 |
76ddf0fb6af68b7ef662ea7ba076ae7bf55ecbc7d8eca1085e3b258a135f7045
|
File details
Details for the file python_mermaid-0.1.6-py3-none-any.whl.
File metadata
- Download URL: python_mermaid-0.1.6-py3-none-any.whl
- Upload date:
- Size: 19.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.13.3 Linux/6.12.28-1-MANJARO
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b20cb081eab31fa765d5a5a6f126a8d98c3bfe0fd20163425fd025565b1a0cc
|
|
| MD5 |
0dbc799b353b05f6c8d2476745397fb4
|
|
| BLAKE2b-256 |
fdc5218c0fd79f15735ba6bd2f96983b3756256e3a15425eeed0a8523749e236
|