sPyTial: Spatial Python visualization with declarative constraints
Project description
sPyTial: Lightweight Diagrams for Structured Python Data
pip install spytial-diagramming
Docs: https://sidprasad.github.io/spytial/ — start with Getting Started for install, badges, and your first diagram.
Sometimes you just want to see your data.
You're working with a tree, a graph, a recursive object — maybe an AST, a neural network, or a symbolic term. You don't need an interactive dashboard or a production-grade visualization system. You just need a diagram that lays it out clearly so you can understand what's going on.
That's what sPyTial is for. It is designed for developers, educators, and researchers who work with structured data and need to make that structure visible — to themselves or to others — with minimal effort.
Why spatial layout
Spatial arrangement helps people understand structure: when elements are grouped, aligned, and oriented meaningfully, patterns and errors become easier to see. sPyTial gives you that layout by default — the diagram reflects how the parts are connected, not how they happen to be stored.
You get:
- a box-and-arrow diagram that shows the shape of your data
- a layout driven by declarative constraints (
orientation,align,cyclic,group) - a tool that flags when a constraint can't be satisfied
Quick start
import spytial
data = {
"name": "root",
"children": [
{"value": 1},
{"value": 2},
{"value": 3},
],
}
# Opens in a browser tab, or inline in a Jupyter notebook.
spytial.diagram(data)
# Or save to a file:
spytial.diagram(data, method="file")
For stepping through sequences of states, custom relationalizers, and annotation-driven layouts, see the docs.
Related projects
spytial-clrs— a Jupyter notebook collection that implements the data structures from the CLRS algorithms textbook (Cormen, Leiserson, Rivest, Stein) using sPyTial: heaps, linked lists, hash tables, BST / red-black / B / van Emde Boas trees, disjoint-set forests, graphs with MST and SCC views, and more. The best place to see sPyTial on realistic structures.spytial-core— the browser-side rendering engine sPyTial uses under the hood. Shared across all sPyTial language hosts (Python, Rust, Pyret, Lean). See How It Works.
License
MIT — see LICENSE.
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 spytial_diagramming-1.4.0.tar.gz.
File metadata
- Download URL: spytial_diagramming-1.4.0.tar.gz
- Upload date:
- Size: 286.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac947f0ad5f11f003e2be2ff8fb07eef5d50f23b667224711404d63608e27f68
|
|
| MD5 |
1896769bbb04f90be8f34b8112985a6b
|
|
| BLAKE2b-256 |
851784eb8bbc09594ba83f73e8e2c8837678ae6714b77f72d90ffd14f0706e20
|
File details
Details for the file spytial_diagramming-1.4.0-py3-none-any.whl.
File metadata
- Download URL: spytial_diagramming-1.4.0-py3-none-any.whl
- Upload date:
- Size: 78.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a2ec0ac89fa55e4affecddf8d737c29ad97449e2c35de4dac0c91a02e3c46d9
|
|
| MD5 |
79b49a7fcd9b3b402a3bc735b6f9c8a3
|
|
| BLAKE2b-256 |
9c3d891df1d224b31aaa923ea5ba4dd58ef8a51784b2dadb640d0867228f3ebc
|