Skip to main content

figio

Declarative build orchestrator for reproducible scientific figures.

Distribution name: figio Import package: figio CLI: figio

figio coordinates existing plotting libraries (Matplotlib, Vega-Lite, etc.) through a YAML manifest (FigureSpec) that describes panels, layout, annotations, and style tokens — then assembles them into a single, validated SVG suitable for journal submission.

figio is an orchestration system, not a rendering engine. Panels are opaque — figio doesn't reach inside them. It coordinates their output into a composed figure with validated positioning, annotations, and journal compliance checks.

Install

pip install figio                # core orchestrator
pip install "figio[mpl]"         # + Matplotlib adapter
pip install "figio[export]"      # + PDF/PNG export via CairoSVG
pip install "figio[all]"         # everything

Quick start

# Scaffold a figure spec
figio init

# Build a figure from spec
figio build figures/fig1.yaml

# Validate against journal target
figio validate figures/fig1.yaml --target nature

# Inspect spec metadata
figio inspect figures/fig1.yaml

Architecture

FigureSpec (YAML) → Adapters → Panel SVGs → Composer → Composed SVG → Export (PDF/PNG)
Layer What it does
Schema Pydantic models: FigureSpec, PanelSpec, LayoutSpec, AnnotationSpec
Targets Built-in journal profiles (Nature, default) with size/font constraints
Adapters Protocol + backends: Matplotlib renders panels to SVG
Composer Grid solver, constraint application, SVG assembly, annotation placement
Validate Checks against target profile (width, height, font size, overflow)
Export SVG → PDF/PNG via CairoSVG (optional dependency)
Cache SHA-256 content hashing for incremental rebuilds

Part of the projio ecosystem

figio integrates with projio as the figure orchestration layer. When used through projio's MCP server, it exposes tools for AI-assisted figure authoring: figio_build, figio_inspect, figio_validate, figio_edit_spec, figio_query_output.

License

MIT

Metadata

Release files for figio-tools 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for figio-tools 0.1.0
File Size Uploaded Provenance Actions
figio_tools-0.1.0.tar.gz 40.2 kB Without provenance Details for figio_tools-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for figio-tools 0.1.0
File Interpreter ABI Platform Actions
figio_tools-0.1.0-py3-none-any.whl Python 3 none any Details for figio_tools-0.1.0-py3-none-any.whl

Total release size: 71.6 kB

Release files / figio_tools-0.1.0.tar.gz

Download URL figio_tools-0.1.0.tar.gz
Size 40.2 kB
Tags Source
SHA-256 checksum
How to use checksums
944cc5e769dc1bbdf957c17fe058527fe30f979392aa7f0b6b606835577d4da8
BLAKE2b-256 checksum
How to use checksums
16683bf82021561747d129c3d78102b6d83a25a5e2ced35c00d132e6b008fb29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.13

Release files / figio_tools-0.1.0-py3-none-any.whl

Download URL figio_tools-0.1.0-py3-none-any.whl
Size 31.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3156d4d3838fdbc7c38b49dd5d6ac87e4693d1c703598a3d865b900f67f722b8
BLAKE2b-256 checksum
How to use checksums
a360728df6c6e5be19cfb4b472e04d81721cd19677974e082e978f1b35ee4077
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.13

Security for figio-tools 0.1.0

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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page