Skip to main content

Linux tool enabling reproducible experiments (unpacker)

Project description

ReproZip is a tool aimed at scientists using Linux distributions, that simplifies the process of creating reproducible experiments from programs.

It uses the ptrace facilities of Linux to trace the processes and files that are part of the experiment and build a comprehensive provenance graph for the user to review.

Then, it can pack these files in a package to allow for easy reproducibility elsewhere, either by unpacking and running on a compatible machine or by creating a virtual machine through Vagrant.

http://vida-nyu.github.io/reprozip/

Quickstart

Packing

On the machine where the experiment is setup, install reprozip:

$ pip install reprozip

Then run your experiment under reprozip’s monitoring (simply prefix reprozip trace):

$ reprozip trace ./myexperiment -my --options inputs/somefile.csv other_file_here.bin

This leaves you with a .reprozip directory, in which you’ll find the config.yml configuration file. In it, you can edit the command-line and environment variables, and choose which files are to be packed.

If you are using one of the supported Linux distributions (currently Debian and Ubuntu), these files are organized by package, plus an other_files: section at the end. You can add or remove files, or choose not to include a package by changing packfiles: true to packfiles: false; this allows you to make a smaller packs, since reprounzip can get these files from the package manager easily (however versions might differ).

Once done editing .reprozip/config.yml, or if you left everything as-is, simply run the packer: (note that you should review the configuration to be sure not to include sensitive information)

$ reprozip pack my_experiment.rpz

Unpacking

$ pip install reprounzip

# Installing the packages on the host machine
$ reprounzip installpkgs my_experiment.rpz
# Unpacking in a directory
$ reprounzip directory my_experiment.rpz mydirectory
$ mydirectory/script.sh
# Building a chroot environment
$ reprounzip chroot my_experiment.rpz mychroot
$ sudo mychroot/script.sh

# Building a virtual machine (requires Vagrant)
$ pip install reprounzip-vagrant
$ reprounzip vagrant --use-chroot my_experiment.rpz mytemplate
$ cd mytemplate; vagrant up
$ vagrant ssh
vagrant@vm$ sh /vagrant/script.sh

Project details


Download files

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

Source Distribution

reprounzip-0.2.1.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

reprounzip-0.2.1-py2.py3-none-any.whl (20.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file reprounzip-0.2.1.tar.gz.

File metadata

  • Download URL: reprounzip-0.2.1.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for reprounzip-0.2.1.tar.gz
Algorithm Hash digest
SHA256 10c6e109c7340ae05b25d75d0c6fee2ff316a26ebf06a3607fd9da87e190ef86
MD5 cc096624217aec3e4506a48455dad909
BLAKE2b-256 9ad8737048880af1ec6966f1b2209aaee050ff43b23f7f1addd63049bf9348b0

See more details on using hashes here.

File details

Details for the file reprounzip-0.2.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for reprounzip-0.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0149ed7f7847e4745020f43d0e2c88a8e75626d11c46648fc33b8053a7819403
MD5 a3c350c9cb19acf65c454e307f100876
BLAKE2b-256 72ac59300987158de617e1a4a9e76e9518b0d2ef929c4b1a58b12d389b24a8ac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page