SDGym has been developed and tested on Python 3.6, 3.7, 3.8 and 3.9
Also, although it is not strictly required, the usage of a virtualenv is highly recommended in order to avoid interfering with other software installed in the system where SDGym is run.
The easiest and recommended way to install SDGym is using pip:
pip install sdgym
This will pull and install the latest stable release from PyPi.
SDGym can also be installed using conda:
conda install -c sdv-dev -c conda-forge sdgym
This will pull and install the latest stable release from Anaconda.
If you want to install SDGym from source you need to first clone the repository
and then execute the make install
command inside the stable
branch. Note that this
command works only on Unix based systems like GNU/Linux and macOS:
git clone https://github.com/sdv-dev/SDGym
cd SDGym
git checkout stable
make install
If you intend to modify the source code or contribute to the project you will need to
install it from the source using the make install-develop
command. In this case, we
recommend you to branch from master
first:
git clone [email protected]:sdv-dev/SDGym
cd SDGym
git checkout master
git checkout -b <your-branch-name>
make install-develp
For more details about how to contribute to the project please visit the Contributing Guide.
Some of the third party synthesizers that SDGym offers, like the PrivBN
, require
dependencies written in C++ that need to be compiled before they can be used.
In order to be able to use them, please do:
- Clone or download the SDGym repository to your local machine:
git clone [email protected]:sdv-dev/SDGym.git
cd SDGym
- make sure to have installed all the necessary dependencies to compile C++. In Linux distributions based on Ubuntu, this can be done with the following command:
sudo apt-get install build-essential
- Trigger the C++ compilation:
make compile
- Add the path to the created
privBayes.bin
binary to thePRIVBAYES_BIN
environment variable:
export PRIVBAYES_BIN=$(pwd)/privBayes.bin
We support using Docker to run SDGym. For more information on how to do so, check the DOCKER.md
file.