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.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | rgerum/pylustrator |
| Owner | rgerum |
| Primary language | Python |
| License | GPL-3.0 — OSI-approved |
| Stars | 892 |
| Forks | 40 |
| Open issues | 13 |
| Latest release | v1.3.0 (2023-02-28) |
| Last updated | 2026-06-17 |
| Source | https://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.
Get the pylustrator source
Clone the repository and explore it locally.
git clone https://github.com/rgerum/pylustrator.gitcd pylustrator# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
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.
| Signal | Assessment |
|---|---|
| Maintenance | Moderate |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Possible |
| Assessment confidence | Medium |
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.
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.coRelated 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?
Does pylustrator work with plotly or altair?
How is the generated code stored?
What matplotlib versions are supported?
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.