Skip to main content

vectrify

PyPI Python License

vectrify is a local SVG editor for turning a raster image into editable vector artwork. Load the image as a reference, trace it into shapes, then tidy and edit the result by hand or let an AI agent edit it over MCP. Every automated operation previews its result and applies it as one undoable edit.

Start

uv tool install "vectrify[all]"     # or: pipx install "vectrify[all]"
vectrify                            # open the editor in its own window
vectrify drawing.svg --reference original.png
vectrify --serve --port 8765        # or serve it to a browser

Without the desktop extra, or with --serve, vectrify serves the editor on loopback and prints the address to open.

Features

  • Drawing: pen, pencil, rectangles, ellipses and lines.
  • Point editing: handles, snapping, and Redraw outline, which redraws part of an outline along the reference's edge in one stroke.
  • Path operations: booleans, merge, combine, join, knife, and a Region tool that extracts or deletes what lies inside a shape.
  • Clipping, linear gradients edited on the canvas, an eyedropper, line ends, arrowheads and tapers.
  • Move, resize, rotate, flip, align and distribute, with snapping.
  • An object tree with visibility and locks.
  • SVG import and export, and .vectrify projects that keep the reference.
  • Reference overlay and an error view of where the drawing differs from it.

Press ? in the editor for keyboard shortcuts, or Ctrl/⌘ K to find a command. The guide walks through the editor chapter by chapter.

Tracing an image

  1. Load a PNG, JPEG or WebP image in the Reference panel. Press W to cycle between the drawing, the overlay, the reference and the error view.
  2. Choose Generate with Cel art for outlined illustrations, or Colour regions for anything else, and apply the preview.
  3. Select paths and choose Tidy to fit them to the reference and simplify them.
  4. Fix the rest by hand.
  5. Save a project, or export SVG.

Other operations are Fit colours, which fits flat fills or gradients, Clean up, which drops redundant points and merges paths, and Snap edges, which closes gaps between touching shapes. They change only the selection and respect locks. See Tracing a reference.

Agents

vectrify is also an MCP server, so an agent such as Claude Code, Codex or Claude Desktop can look at the drawing and its reference and edit it with the editor's own commands.

Turn on Agents in the editor's footer to host the server from the open window. The popover shows the command to add it to your client, for example:

claude mcp add --transport http --scope user vectrify http://127.0.0.1:8770/mcp \
  --header "Authorization: Bearer <token>"

To edit files without a window, run it over stdio:

claude mcp add vectrify -- vectrify-mcp

See Agents for the tools.

Requirements

Python 3.10 or newer and Cairo (sudo apt install libcairo2 or brew install cairo). Colour regions needs PyTorch and an NVIDIA GPU. Tidy's shape fit needs PyTorch and runs on the CPU without a GPU, except for mitered outlines. Everything else works without either.

On Linux the desktop window uses Qt. If it fails to start, install the system libraries Qt asks for (often libxcb-cursor0 and libegl1) or use --serve.

An optional CUDA extension speeds up Tidy's shape fit. Releases do not include it; build it locally with:

VECTRIFY_BUILD_CUDA_RENDERER=1 uv build --wheel --no-build-isolation
uv pip install --force-reinstall --no-deps dist/vectrify-*.whl

Metadata

Release files for vectrify 0.2.0

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

Source distribution (sdist)

Source distribution for vectrify 0.2.0
File Size Uploaded Provenance Actions
vectrify-0.2.0.tar.gz 1.1 MB Without provenance Details for vectrify-0.2.0.tar.gz

Built distribution (wheel)

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

Total release size: 1.8 MB

Release files / vectrify-0.2.0.tar.gz

Download URL vectrify-0.2.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
db8b9787cd849fc6f46cf52af4d07b2227d70b41181f4c991e07d1578ec06e89
BLAKE2b-256 checksum
How to use checksums
834d38731cfb409f4e2eabeec4fc38eac7f83a329c84ed5c70498f1bfff01ebe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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":true}

Release files / vectrify-0.2.0-py3-none-any.whl

Download URL vectrify-0.2.0-py3-none-any.whl
Size 677.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3dcd09f0fb817e62bf7fd2461b5931db3b2edbec40037fb1119bab4e72fa8aa1
BLAKE2b-256 checksum
How to use checksums
19fe1581b2b811e034be558097321da151c79c4eba42188181e29bf64c9edf55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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":true}

Security for vectrify 0.2.0

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.

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