Skip to main content

Save matplotlib figures with embedded metadata for reproducibility and profit

Project description

Remember that time where you tried to remake a figure for your paper and couldn’t seem to get the same results? We’ve all been there. Well not anymore!

This module monkey patches the savefig command from matplotlib and inserts your current git commit hash into the metadata of the saved file. Currently it supports PNG and PDF figures.


First, install the module from PyPI:

pip install savefig

or from source:

git clone
cd savefig
python install

Then in all your code just add the following lines before importing matplotlib:

from savefig import monkey_patch

To read the metadata from an existing image file, run:

python -m savefig /path/to/figure.png

which will give you something like:

git-hash: 192a639c4a9eb7523e9becd23f359fd7d96e833f
git-date: 2014-03-29 21:30:27 -0400
git-author: Dan F-M

You can also get the diff between the saved commit hash and the version used to make the figure by running:

python -m savefig /path/to/figure.png --diff


Copyright 2014 Dan Foreman-Mackey

Available under the MIT License.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for savefig, version 0.0.4
Filename, size File type Python version Upload date Hashes
Filename, size savefig-0.0.4.tar.gz (4.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page