robodraw is an ergonomic and programmatic drawing library for python. It is a
wrapper around matplotlib that provides a more intuitive way to specifically
create drawings and diagrams, including in pseudo-3d. It provides the backend
for the drawing functionality in quimb and
cotengra.
Some useful features include:
- no boilerplate to get a simple drawing.
- plot limits automatially expand to fit all drawn elements.
- style presets: reuse style across elements.
- diagram primitives like
zigzag,curve(draw a smooth line through an arbitrary set of points exactly), andpatch_around(draw a smooth shape highlighting an arbitrary set of points). - pseudo-3d drawing, with automatic perspective and occlusion handling.
- squared paper grid to help you with placement.
- output or use existing matplotlib figure and axis.
- basic colors tools
- ... and more!
A quick example:
import robodraw
d = robodraw.Drawing(
presets={
"node": {"radius": 0.2, "linewidth": 0.5},
"edge": {"color": (0, 0.3, 1, .8), "width": 0.04, "shorten": 0.2}
},
projection=(25, 25),
)
center = (0, 0, 0)
corners = [(1, 1, 1), (1, -1, -1), (-1, 1, -1), (-1, -1, 1)]
# nodes
for c in corners:
color = robodraw.hash_to_color(str(c))
d.circle(c, preset='node', color=color)
# center
d.circle(center, preset='node', radius=0.15, color="black")
d.text(center, "$\\psi$", color="yellow")
# edges to center
for c in corners:
d.zigzag(c, center, preset="edge")
d.patch_around(corners, radius=0.5)
d.grid3d()
The full documentation can be found at: robodraw.readthedocs.io. Contributions of any sort are very welcome - please see the contributing guide. Issues and pull requests are hosted on github. For other questions and suggestions, please use the discussions page.
Metadata
Release files for robodraw 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| robodraw-0.1.0.tar.gz | 4.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| robodraw-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.5 MB
Release files / robodraw-0.1.0.tar.gz
| Download URL | robodraw-0.1.0.tar.gz |
|---|---|
| Size | 4.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f022fe98f055cc20488cf05177f1649e98d8c9383a5ff900649ce0f13a9acd1b
|
|
BLAKE2b-256 checksum How to use checksums |
4ab9cf6a4c4c5ab62d6c920f5ad3502ab646e22375ea5ccf8a2460f5f5432e91
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 16, 2026.
Transparency logRelease files / robodraw-0.1.0-py3-none-any.whl
| Download URL | robodraw-0.1.0-py3-none-any.whl |
|---|---|
| Size | 23.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cf9024b9773a5f04f507e44f234cb6d5769bb756afae5adcdb246241522b0b6c
|
|
BLAKE2b-256 checksum How to use checksums |
a64efdf7754444233dd5100ee30d6741025da0f112bdb9ee852f299ded51cda0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 16, 2026.
Transparency log