DEV.co
AI Coding Agents · rgerum

pylustrator

Pylustrator is a Python tool that lets you interactively edit and finalize matplotlib visualizations for publication without external design software. You drag, resize, and annotate plots in a GUI, then export the changes as reproducible Python code that regenerates the exact figure.

Source: GitHub — github.com/rgerum/pylustrator
892
GitHub stars
40
Forks
Python
Primary language
GPL-3.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryrgerum/pylustrator
Ownerrgerum
Primary languagePython
LicenseGPL-3.0 — OSI-approved
Stars892
Forks40
Open issues13
Latest releasev1.3.0 (2023-02-28)
Last updated2026-06-17
Sourcehttps://github.com/rgerum/pylustrator

What pylustrator is

GPL-3.0 licensed Python package providing a matplotlib-integrated GUI editor for figure composition, subplot manipulation, and annotation. Changes are codified as Python statements and injected into the source script, ensuring reproducibility and version control compatibility.

Quickstart

Get the pylustrator source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/rgerum/pylustrator.gitcd pylustrator# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Academic publication workflows

Prepare camera-ready figures for peer-reviewed journals with reproducible edits tracked in version control alongside data and analysis code.

Multi-panel figure composition

Arrange and align multiple matplotlib subplots interactively, then export layout and positioning as code rather than manual alignment in external tools.

Iterative figure refinement in Jupyter/IPython

Prototype and finalize plots during interactive analysis sessions, capturing styling and layout decisions as code for reuse and documentation.

Implementation considerations

  • Requires matplotlib and Python interactive environment (IPython/Jupyter); GUI backend compatibility (Qt/Tk/etc.) must match deployment OS.
  • Generated code is injected into source files as comments; version control diffs may be noisy; code review workflows need adaptation.
  • Learning curve for GUI workflow; existing matplotlib expertise does not eliminate need for tool familiarization.
  • Figure reproducibility depends on identical matplotlib, numpy, and data versions; no built-in environment specification or lock-file generation.
  • GPL-3.0 copyleft applies to any modifications or bundled distributions; proprietary tool integrations require separate licensing review.

When to avoid it — and what to weigh

  • Commercial software licensing required — GPL-3.0 mandates derivative works and distributed modifications remain open-source; closed-source commercial products embedding this code require legal review.
  • Non-matplotlib visualization stacks — Pylustrator is tightly coupled to matplotlib; it does not natively support plotly, altair, ggplot2, or other plotting libraries.
  • Real-time collaborative editing — No built-in multi-user or cloud sync; designed for individual interactive workflow, not team-based concurrent figure editing.
  • Minimal maintenance tolerance — Latest release is from Feb 2023 with modest community engagement (13 open issues, 40 forks); adoption of breaking matplotlib versions may lag.

License & commercial use

GPL-3.0 (GNU General Public License v3.0). This is a strong copyleft license requiring that any distributed derivative work or modification remain open-source under the same license. Linking or bundling in commercial closed-source products is not permitted without explicit dual licensing or separate proprietary version.

Using pylustrator to prepare figures for internal analysis or publication is permissible. However, embedding, modifying, or redistributing the code in a commercial tool, SaaS, or closed-source product requires separate licensing negotiation with the copyright holder. Consult legal counsel before commercial deployment.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceModerate
DocumentationAdequate
License clarityClear
Deployment complexityLow
DEV.co fitPossible
Assessment confidenceMedium
Security considerations

Code injection via generated Python statements into source files carries risk if user-supplied data or untrusted plot specifications are fed into the GUI; sanitization of input is unknown. Generated code is not cryptographically signed. No known CVEs reported in metadata. Assess risk based on data origin and code review practices.

Alternatives to consider

Matplotlib GUI editors (e.g., Matplotlib widget in Spyder IDE)

Built-in IDE figure editing avoids external tool; however, less specialized for publication workflows and code generation.

Plotly or Altair (Python wrappers)

Interactive web-based plotting with native export; suitable for web publication, but different coding paradigm and fewer publication-specific features.

Adobe Illustrator or Inkscape (post-export design)

Industry-standard for final figure polish; manual process breaks reproducibility and requires external toolchain, but offers maximum control.

Software development agency

Build on pylustrator with DEV.co software developers

Our team can assess integration, licensing risk, and alternatives for your publication workflow. Let's discuss your use case.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

pylustrator FAQ

Can I use pylustrator in a proprietary tool or SaaS?
Only with separate licensing. GPL-3.0 forbids closed-source distribution. Contact the copyright holder (rgerum) for dual-licensing options.
Does pylustrator work with plotly or altair?
No. It is tightly integrated with matplotlib only. For other libraries, explore native interactive editors or export → post-process workflows.
How is the generated code stored?
As Python code comments and statements injected into the original script. The figure script becomes self-contained and reproducible.
What matplotlib versions are supported?
Not explicitly stated in provided data. Consult README or PyPI for version compatibility matrix; test on target matplotlib before production use.

Software developers & web developers for hire

DEV.co helps companies turn open-source tools like pylustrator into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your ai coding agents stack.

Need custom visualization tooling or GPL-3.0 license compliance review?

Our team can assess integration, licensing risk, and alternatives for your publication workflow. Let's discuss your use case.