Installation

ReproZip is available as open source, released under the Revised BSD License. Please visit ReproZip’s website to find links to our PyPI packages or our GitHub repository.

Software Requirements

ReproZip is comprised of two components: reprozip (for the packing step) and reprounzip (for the unpack step). Additional plugins are also provided for reprounzip: reprounzip-vagrant, which unpacks the experiment in a Vagrant virtual machine, and reprounzip-docker, which unpacks the experiment in a Docker container. More plugins may be developed in the future (and of course, you are free to roll your own).

These are all standard Python packages that you can install using pip. However, the reprozip component only works on Linux and needs a C compiler recognized by distutils since it includes a C extension module that will be built during installation.

The operating system compatibility for the ReproZip components is as follows:

Component Linux Mac OS X Windows
reprozip Yes No No
reprounzip Yes Yes [1] Yes [1]
reprounzip-docker Yes Yes Yes
reprounzip-vagrant Yes Yes Yes
[1](1, 2) By installing additional unpackers; the default bundled unpackers only work on Linux.

Python 2.7.3 or greater [4] is required to run ReproZip. If you don’t have it yet on your machine, you can get it from python.org; you should prefer a 2.x releases to 3.x [2]. Besides, depending on the component or plugin to be used, some additional software packages are also required, as described below:

Component / Plugin Required Software Packages
reprozip SQLite [2], Python headers [2], a working C compiler
reprounzip None
reprounzip-vagrant pycrypto [3], Vagrant, VirtualBox
reprounzip-docker Docker
[2](1, 2, 3) On Debian and Debian-based, these are provided by python, python-dev, and libsqlite3-dev.
[3]Building PyCrypto on POSIX will require a C compiler and the Python development headers (python-dev package on Debian and derived). For installation on Windows without building from source, please see here.
[4]This is because of Python bug 13676 related to sqlite3.

Obtaining the Software

In ReproZip, the components must be installed separately as they fulfill different purposes (and typically, you will use them on different machines). First, you will need Python and pip, as mentioned before. Then, to install a ReproZip component, simply run the following command:

$ pip install reprozip
$ # or:
$ pip install reprounzip

The additional plugins for reprounzip can also be installed using the same command:

$ pip install reprounzip-vagrant
$ pip install reprounzip-docker

Alternatively, you can install reprounzip with all the available plugins using:

$ pip install reprounzip[all]