Diagram as Code — with interactive web editor and headless PNG export
Project description
diagrams-editor
Fork of mingrammer/diagrams — Diagram as Code with an interactive web editor and headless PNG export included out of the box.
Note: installs under the
diagramsPython namespace and replaces the originaldiagramspackage. Do not install both in the same virtualenv.
Install
uv add diagrams-editor
That's it. The web editor, the headless PNG export, and all dependencies come in one command.
Usage
Open the web editor
uv run diagrams editor
Opens http://localhost:8888 in your browser. Drag nodes from the palette, draw edges, group into clusters — the Python code is generated live in the sidebar.
From there you can:
- 📥 Import .py — load an existing diagrams file for visual editing
- 💾 Save .py — download the generated Python code (Ctrl+S)
- ⬇ Export PNG — download a screenshot of the canvas
Export PNG from the command line
Useful for CI pipelines and AI agents — no browser needed.
uv run diagrams export architecture.py architecture.png
One-off, without adding to the project
uv run --with diagrams-editor diagrams editor
uv run --with diagrams-editor diagrams export architecture.py architecture.png
Write diagrams in Python
from diagrams import Diagram, Cluster, Edge
from diagrams.aws.compute import ECS, Lambda
from diagrams.aws.database import RDS
from diagrams.aws.network import ALB
with Diagram("Web Service", direction="LR"):
with Cluster("App"):
svc = ECS("Service")
fn = Lambda("Worker")
ALB("Load Balancer") >> svc >> RDS("Database")
Providers
Full node list: diagrams.mingrammer.com/docs/nodes/aws
Examples
The examples/ folder contains ready-to-import .py files:
| File | Description |
|---|---|
examples/web_app.py |
Three-tier web application |
examples/ecommerce_platform.py |
Full e-commerce platform (34 nodes, 11 clusters) |
License
MIT — fork of mingrammer/diagrams, original copyright retained.
Project details
Release history Release notifications | RSS feed
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 diagrams_editor-0.26.0.tar.gz.
File metadata
- Download URL: diagrams_editor-0.26.0.tar.gz
- Upload date:
- Size: 33.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb0bc0ea66992863a25d2ffcd15b329c9359bbc2f651ae9d5f23e4633ff3c977
|
|
| MD5 |
296f40d635de9fe771094b1195e2d364
|
|
| BLAKE2b-256 |
5dbee056006bbfd1c53ea29fab9e08092dd26504517b54b32091aa1add8a8584
|
File details
Details for the file diagrams_editor-0.26.0-py3-none-any.whl.
File metadata
- Download URL: diagrams_editor-0.26.0-py3-none-any.whl
- Upload date:
- Size: 34.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7831472805bb62bbd9108af17ffe6346df57739d674716bba55861c2040edf0
|
|
| MD5 |
b9e5bc0a790f0ab2ac9c9c42c322cfb5
|
|
| BLAKE2b-256 |
a583843c89fc6bebe4b70151ad6611ac7e75b17898ea5e02929a73aa881176e9
|