Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

svg2plot

svg2plot turns a vector drawing into a drawing on paper.

A terminal interface that converts SVG files into G-code and streams them over USB to a pen plotter running GRBL. It is the interface of the Chelonograph, the in-house pen plotter of the AlICe laboratory.

📖 Documentation: https://svg2plot.readthedocs.io — tutorial, how-to guides, and an explanation of how a drawing travels from file to paper.

Install

Linux, Python 3.11 to 3.13:

uv tool install svg2plot   # or: pipx install svg2plot
svg2plot                   # optional: svg2plot <path_limit>, default 75

The user needs write access to the serial port (/dev/ttyUSB0), e.g. sudo gpasswd -a <username> uucp (dialout on Debian).

How it works

file.svg → read → check → optimise → G-code → USB stream → GRBL → motors

The conversion is equivalent to this vpype command, with a generated chelonograph profile that writes the pen pressure into the Z moves:

vpype read in.svg linesimplify reloop linemerge linesort write in_optimized.svg \
      gwrite -p chelonograph in_optimized_p07.gcode

Streaming is send-and-wait: one line, then wait for GRBL’s ok.

Development

git clone https://codeberg.org/mononym/svg2plot.git
cd svg2plot
uv sync                    # package + dev dependencies

Lint

uv run ruff check src && uv run ruff format --check src

Type check

uv run --with mypy mypy --ignore-missing-imports src/svg2plot

Docs

uv run sphinx-autobuild docs/source docs/build

Build

uv build && uvx twine check --strict dist/*

CI (Woodpecker) runs the same checks on Python 3.11, 3.12 and 3.13.

Layout:

src/svg2plot/
  tui.py                 interface, conversion and streaming
  gcode_highlighter.py   terminal colours for G-code
docs/source/             Sphinx docs (tutorial, how-to, explanation, reference)

Issues and contributions: https://codeberg.org/mononym/svg2plot/issues

Acknowledgements

Licenses

Metadata

Release files for svg2plot 0.1.0b1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for svg2plot 0.1.0b1
File Size Uploaded Provenance Actions
svg2plot-0.1.0b1.tar.gz 26.2 kB Without provenance Details for svg2plot-0.1.0b1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for svg2plot 0.1.0b1
File Interpreter ABI Platform Actions
svg2plot-0.1.0b1-py3-none-any.whl Python 3 none any Details for svg2plot-0.1.0b1-py3-none-any.whl

Total release size: 51.6 kB

Release files / svg2plot-0.1.0b1.tar.gz

Download URL svg2plot-0.1.0b1.tar.gz
Size 26.2 kB
Tags Source
SHA-256 checksum
How to use checksums
35dadc6ee470330995df1b2612b0c27c3dc197008fb7de3d01f4dd2a966ceb79
BLAKE2b-256 checksum
How to use checksums
34de548f7ca72feae5a78d5b4bf5a7dbb63eeedf9b0da3dd3c5f5b55de1f7952
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.9

Release files / svg2plot-0.1.0b1-py3-none-any.whl

Download URL svg2plot-0.1.0b1-py3-none-any.whl
Size 25.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
810e0bf05cada17bac0929b52b4ea16887a35f9aa8f8f182a5d5e21c38473b2d
BLAKE2b-256 checksum
How to use checksums
df05f6d61f1ef4dec9c685e9d2e5d07436d36e39867460ae3c9758f224822fed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.9

Security for svg2plot 0.1.0b1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page