Nodelace
Nodelace renders polished architecture, flow, and sequence diagrams from a small text language. Rendering is deterministic and entirely local: the base package has no runtime dependencies, AI calls, network requests, telemetry, Graphviz, browser, or Node.js requirement.
python -m pip install nodelace
Create system.diagram:
architecture "Small Web Service"
direction left-to-right
Browser -> API: HTTPS
API -> Database: query
highlight API
Then validate and render it:
nodelace check system.diagram
nodelace render system.diagram
The default artifact is system.svg. Standalone HTML is also available:
nodelace render system.diagram --format html -o system.html
The Python API accepts source text or an immutable parsed model:
from nodelace import parse_diagram, render
diagram = parse_diagram('flow "Two Steps"\nStart -> Finish')
svg = render(diagram)
Nodelace provides:
- architecture, flow, and basic sequence diagrams;
- deterministic layered and participant-lane layout;
- orthogonal connectors, cycles, flat groups, and focal highlights;
- accessible SVG title and description metadata;
- self-contained offline SVG/HTML with bundled OFL-1.1 fonts and notices;
- a strict, non-executable UTF-8 language with bounded input limits;
- a dependency-free Python 3.11+ runtime and typed public API.
Current limits include flat groups only, Latin coverage in the bundled fonts, no full UML sequence fragments, a 50-node safety ceiling, and SVG/HTML output only. Other Unicode text remains valid and selectable but may use a viewer's installed fallback font.
The source distribution contains the complete language and architecture
references under docs/, plus ten source examples, byte-verified SVGs, and an
offline gallery under examples/.
Nodelace code is MIT licensed. Instrument Serif, Geist, and Geist Mono remain under the SIL Open Font License 1.1; their complete notices ship in the package and in artifacts that embed the fonts.
The design goals were inspired by Kathryn Lavery's diagram-design work. Nodelace is an independent deterministic implementation and does not package or invoke that AI-oriented skill.
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 nodelace-0.1.0.tar.gz.
File metadata
- Download URL: nodelace-0.1.0.tar.gz
- Upload date:
- Size: 2.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9aa38ce4bfa493320026aa53a26100af22366a2e34757df8ad4cf5764480eea5
|
|
| MD5 |
caa9531efbac134bb5842d0fe2120111
|
|
| BLAKE2b-256 |
df2c7156066c7f8ac444c966b4487b4216337bd8aaf629d0cdf0b125a980cce7
|
Provenance
The following attestation bundles were made for nodelace-0.1.0.tar.gz:
Publisher:
publish.yml on 1aifanatic/nodelace
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nodelace-0.1.0.tar.gz -
Subject digest:
9aa38ce4bfa493320026aa53a26100af22366a2e34757df8ad4cf5764480eea5 - Sigstore transparency entry: 2472316151
- Sigstore integration time:
-
Permalink:
1aifanatic/nodelace@c727ec6ff5205d9774a07ef709c27cc8d2705203 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/1aifanatic
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c727ec6ff5205d9774a07ef709c27cc8d2705203 -
Trigger Event:
release
-
Statement type:
File details
Details for the file nodelace-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nodelace-0.1.0-py3-none-any.whl
- Upload date:
- Size: 241.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbef7301e7dd8efb43f8b5a78cf82e77628e0b57f9426b3c119317c9bd1b0db4
|
|
| MD5 |
03c82b921dd5ac3f5cc5aeecf091fd35
|
|
| BLAKE2b-256 |
594e57156d235327d51a4f65c68b46a42928e19935837a82a7df90aeb5d6830c
|
Provenance
The following attestation bundles were made for nodelace-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on 1aifanatic/nodelace
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nodelace-0.1.0-py3-none-any.whl -
Subject digest:
cbef7301e7dd8efb43f8b5a78cf82e77628e0b57f9426b3c119317c9bd1b0db4 - Sigstore transparency entry: 2472316167
- Sigstore integration time:
-
Permalink:
1aifanatic/nodelace@c727ec6ff5205d9774a07ef709c27cc8d2705203 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/1aifanatic
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c727ec6ff5205d9774a07ef709c27cc8d2705203 -
Trigger Event:
release
-
Statement type: