Pen plotter graphics software
Pen plotters support any kind of vector graphics, but these are the software tools I've found that create graphics primarily for plotters.
canvas-sketch is a JavaScript API for plotter graphics by Matt DesLauriers.
Penplotter.js is a pen plotter-oriented generative art API in JavaScript with options to generate G-code.
SwiftGraphics is Emory Dunn's Swift framework for pen plotter artwork, with a ray tracer.
Toodle Studio is an animated Lisp canvas for drawing with turtle graphics.
Turtletoy is a turtle graphics plotting environment in JavaScript, run by Reinder Nijhoff.
Vsketch is a Python API for generating graphics suitable for plotting.
Art-specific
Flow Lines (source) generates contour lines in the same direction.
revdancatt's pen plotter page has several SVG tools, including Perlin circles, snowflakes, and spokes and circles.
Sandify is purpose-built for magnetic sand plotter robots.
Sketch is an exploration of cross-hatching and engraving techniques for 3D models.
SuperformulaSVG is a shape generator.
Tinkersynth is a Joy Division cover generator.
3D
three-plotter-renderer is a 3D renderer for SVG with hatch marks.
plotter.vision is an online STL to SVG converter with anaglyph (red-blue perspective shift for "3D" glasses) support, written in JavaScript.
3D objects to plottable SVGs workflow describes Maks Surguy's use of Blender and a few Python libraries for two primary art styles: sliced layers of models and polygon wireframes.
Utilities
vpype is a command line tool for rescaling and modifying SVG for pen plotters
svg2gcode is a web tool for converting SVG files to g-code instructions for 2D CNC machines.
Optimization
Optimizing Plots with a TSP Solver outlines a process to speed up the physical process of plotting.
General-purpose
Cuttle is a system for controlling cutting machines.
Apparatus is an earlier iteration of Cuttle with many of its interactive design features.
D3 is a data-driven visualization system that can generate SVGs.
nannou is a Rust framework for generative graphics and audio.
p5.js and Sandpit.js provide the classic Processing environment in JavaScript.
Paper.js is a library for manipulating vector art.
Patternodes is a commercial, node-based art creation app for macOS.
Quil is a Clojure (or JavaScript) library for interactive animations.
Rune.js is a JavaScript SVG generation system.
Urpflanze is a JavaScript SVG generation system, too.
Plugins
Grasshopper is a plugin for Rhino with a node-based system, and described in Generative Art with Grasshopper3D .
Looper is a plugin for Sketch to Create generative art without coding.
Sverchok is a plugin for Blender to generate art using a node-based workflow.
Lists
Clever Someday's Online SVG Tools is a large list of utilities for 2D cutting machines that may have some overlap with pen plotting.
Inactive
Chiplotle is an early Python library for interfacing with plotters that use HP-GL, HP's plotter control language.
fart is a local art creation system for pen plotting that regenerates artwork when code changes and offers UI elements to control tuneables in Rust.
Generative Art with Elm is an environment for creating plotter artwork and can communicate with an AxiDraw pen plotter.
Go Play Space is a turtle graphics API for Go.
ln from Michael Fogleman is a Go 3D renderer that targets SVG and inspired ln.js and linea, both in TypeScript.
madison_axi is an inactive Python API for teaching using an AxiDraw, by JR Heard.
Penkit is Paul Butler's well-documented Python API for plotter graphics.
penplot is Matt DesLauriers' old JavaScript API.
PenPlots.jl is a Julia API for plotter graphics, also by Paul Butler.
plottertools are assorted utilities for working with plotters.
scenelib, scenic, and vecdraw are Paul Butler's older Rust-based 3D libraries for pen plotting.
SNEK is Anders Hoff's old Common Lisp API.
weir is Anders Hoff's Common Lisp API for plotter graphics.
yyz is DesLauriers' unstable API for pen plotting, using a React-like interface for SVG creation.