figscribe
A lean desktop GUI for scientific plots: build and fine-tune figures interactively, and get clean, standalone Python code (Matplotlib) as the result instead of a proprietary project file.
Intended for scientists and engineers who find Origin unwieldy but don't want to hand-write every detail of a Matplotlib figure just to fine-tune it.
Status
Very early — planning stage. Nothing usable has been implemented yet; the PyPI entry is a placeholder release that reserves the name.
The full project plan lives in plan/.
Design principle
The declarative plot model is the single source of truth:
Plot model (typed, JSON-serializable)
├──> Renderer: model -> Matplotlib figure (GUI preview AND export)
├──> Code generator: model -> standalone Python script
└──> Persistence: model <-> JSON project file
The GUI only ever reads and mutates the model, through commands with undo/redo — it never manipulates Matplotlib objects directly. Preview and export share the same renderer, so what you see is what you get. The generated code reproduces the same figure and runs without figscribe installed.
Scope
Planned for the MVP: data import (CSV, HDF5, NPY/NPZ), line/scatter/errorbar
plots, histograms, 2D images and color meshes, curve fitting via
scipy.optimize.curve_fit, multi-panel layouts with shared axes, LaTeX labels,
undo/redo, export to PDF/SVG/PNG at exact millimeter sizes, and Matplotlib style
templates for journal-column widths.
Deliberately out of scope: spreadsheet-style data editing, a statistics suite, a custom scripting language, and reading generated or third-party Python code back in.
Stack
Python >= 3.11, PySide6, Matplotlib, NumPy, SciPy, h5py.
License
MIT, see LICENSE.
Metadata
Release files for figscribe 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| figscribe-0.0.1.tar.gz | 6.0 kB | Without provenance | Details for figscribe-0.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| figscribe-0.0.1-py3-none-any.whl | Python 3 | none | any | Details for figscribe-0.0.1-py3-none-any.whl |
Total release size: 9.2 kB
Release files / figscribe-0.0.1.tar.gz
| Download URL | figscribe-0.0.1.tar.gz |
|---|---|
| Size | 6.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b09f95f7e6f5e2960b129e39f9f954314ccaedae00b543093ec711cd5cfd44ed
|
|
BLAKE2b-256 checksum How to use checksums |
38290befc8a258f58b711643f323942d209491b621a1fc158f111c6779125cd8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / figscribe-0.0.1-py3-none-any.whl
| Download URL | figscribe-0.0.1-py3-none-any.whl |
|---|---|
| Size | 3.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e337d639a19c1c8d60fdc4b27b393092490a40ca4ae4bb7df94f3a492a80062b
|
|
BLAKE2b-256 checksum How to use checksums |
6add30bd8d8178172fe763b260f372dee5ef1fff4d6167612b7cf42f02d0afea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Security for figscribe 0.0.1
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.