A command-line Swiss Army knife for plotter vector graphics, enabling layout, optimization, generation, and multi-layer processing.
vpype is a command-line tool and Python library for processing vector graphics tailored for pen plotters. It allows users to build pipelines of commands to layout, optimize, generate, and manipulate SVG files, converting curves to lines for plotter compatibility. It solves the need for specialized tools to prepare and enhance vector art for physical plotting.
Plotter artists, generative art creators, and developers working with vector graphics for pen plotters or vintage HPGL devices. It's ideal for those who need to automate SVG processing, optimize plotting time, or create multi-layer artwork.
Developers choose vpype for its pipeline-based CLI flexibility, extensive optimization commands for faster plots, and strong extensibility via plug-ins. Its focus on plotter-specific workflows and multi-layer support makes it unique compared to general vector graphics software.
The Swiss-Army-knife command-line tool for plotter vector graphics.
The CLI allows chaining commands like 'read', 'linemerge', and 'write' for automated, complex workflows, enabling batch processing and generative art creation from scratch.
Commands such as 'linesort' minimize pen-up travel and 'reloop' randomizes seams, directly reducing plotting time and artifacts for physical plotters, as highlighted in the examples.
Supports creating, modifying, and exporting multi-layer SVG files with per-layer properties, essential for multi-color plots and layer-specific processing via commands like 'forlayer'.
A well-documented Python API and active plug-in ecosystem (e.g., for pixel art or half-toning) allow users to expand functionality, making it adaptable to niche plotter art needs.
Converts all curves to segmented lines, which can degrade quality for non-plotter uses and breaks strict SVG compliance, as admitted in the 'What vpype isn't?' section.
Lacks a graphical interface, requiring command-line proficiency that may deter artists accustomed to tools like Inkscape, and the 'show' command has dependencies that are hard to install on some platforms.
Does not fully maintain SVG metadata such as stroke and fill colors, limiting its utility in standard vector workflows where design consistency across software is needed.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.