Skip to main content

ReproFig

ReproFig makes a scientific Scalable Vector Graphics (SVG) figure carry the exact analysis-ready comma-separated values (CSV) tables, statistics, software version, and source fingerprints needed to audit and reproduce it later. It can extract those records and create privacy-checked publication copies without altering the internal master.

python -m pip install reprofig

ReproFig requires Python 3.10 or newer. The core has no required scientific stack; install optional adapters with reprofig[matplotlib,pandas,rocrate].

Create a master figure

from reprofig import save_svg

save_svg(
    figure,
    "Figure 1.svg",
    plotted_data=dataframe,
    statistics=records,
    producer={"package": "my-analysis", "version": "1.4.0"},
    figure_profile="master",
)

A master embeds the exact CSV bytes used for the plot. This is the auditable source of truth and may contain private data or local paths, so do not upload it without checking it first. Sidecar files are optional and can be regenerated:

from reprofig import extract_figure, publish_figures

extract_figure("Figure 1.svg", "Figure 1 extracted")
publish_figures(
    "Figure 1.svg",
    output_dir="Publication",
    figure_profile="public",
    safe_columns=["condition", "value"],
)

Integrate another plotting package

Attach the plot meaning before its normal save step:

Other plotting packages can attach meaning before their normal save step:

from reprofig import attach, save_svg

attach(
    figure,
    plotted_data=analysis_rows,
    statistics=statistical_records,
    analysis={"independent_unit": "participant"},
    column_classification={
        "condition": "safe",
        "value": "safe",
        "participant_id": "private",
    },
)
save_svg(
    figure,
    "Figure.svg",
    producer={"package": "my-analysis", "package_version": "2.1.0"},
)

Make publication-safe copies

The public profile retains only explicitly approved columns and source links. The minimal_public profile retains summary statistics and provenance without row-level data. Both are one-way derivatives of the master:

reprofig publish Figure.svg --output-dir Submission \
  --profile minimal-public --safe-columns condition,value \
  --public-source dataset=https://repository.example/data.csv

The command-line interface also provides inspect, validate, extract, caption, scan, and fsb-export. ReproFig uses the reprofig/1 record schema, reads legacy pre-release records, and can import or export Figure-Statistics Bundle directories and Research Object Crates.

Develop and verify

python -m pip install --upgrade build twine
python -m build
python -m twine check dist/*

Report problems through the GitHub issue tracker. Please cite ReproFig using the metadata in CITATION.cff.

ReproFig is licensed under the BSD 3-Clause licence.

Release files for reprofig 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 reprofig 0.1.0
File Size Uploaded
reprofig-0.1.0.tar.gz 30.5 kB Details

Built distribution (wheel)

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

Total release size: 65.0 kB

Release files / reprofig-0.1.0.tar.gz

Download URL reprofig-0.1.0.tar.gz
Size 30.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e07535b69dcc496e93f81723286a4d64d1b446ae503b7c72ffcc54d6990988a1
BLAKE2b-256 checksum
How to use checksums
bbd506b10954b92a30814348593471545e6098fcefc94e61a8d1d4b4b5f9b07f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

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

Download URL reprofig-0.1.0-py3-none-any.whl
Size 34.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1a02eb23f6363e11d06532c0f3d22eecbe4345f0c97473c5587571a63f5fbac7
BLAKE2b-256 checksum
How to use checksums
d00a34e4c5061926d56270f886c4a1aa0e1f1fde5f81f55e4ce84dfe307552f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

This release

0.1.0 This release

2 release files

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