############### Getting Started ############### .. _system-requirements: System Requirements ~~~~~~~~~~~~~~~~~~~ ImputeGAP runs with Python>=3.10 (except 3.13) and Unix-compatible environment. .. _installation: Installation ~~~~~~~~~~~~ .. tabs:: .. tab:: pip To install/update the latest version of ImputeGAP, run the following command: .. code-block:: bash pip install imputegap .. tab:: source If you would like to extend the library, you can install from source: .. code-block:: bash git init git clone https://github.com/eXascaleInfolab/ImputeGAP cd ./ImputeGAP pip install -e . .. tab:: venv ImputeGAP is compatible with Python>=3.10 (except 3.13) and Unix-compatible environment. .. raw:: html
.. tabs:: .. tab:: Windows **Install WSL** To run ImputeGAP in a Unix-compatible environment on Windows, install the ``Windows Subsystem for Linux (WSL)``. 1. Search for ``WSL`` in the Start menu to check if it's already installed. 2. If not, open ``PowerShell`` as ``Administrator``. 3. Run the following command: .. code-block:: bash wsl --install 4. Restart your computer once the installation completes. .. raw:: html
**Prepare Python 3.12 Environment** To ensure a proper Python setup, we recommend creating a dedicated Python environment for the project. Python 3.12 is a suitable and supported choice. .. raw:: html
*Step 1: Check Existing Python Version* Open your terminal and check the currently installed version of Python: .. code-block:: bash python3 --version .. raw:: html
*Step 2: Install Python 3.12* If needed, install Python 3.12 on your WSL system, follow these steps: 1. Update your package list and install prerequisites: .. code-block:: bash sudo apt-get update sudo apt install -y build-essential libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev \ libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev \ tk-dev python3-tk libopenblas0 software-properties-common python3-pip 3. Add the deadsnakes PPA and update: .. code-block:: bash sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update 4. Install Python 3.12: .. code-block:: bash sudo apt-get install python3.12 python3.12-venv python3.12-dev 5. Verify the installation: .. code-block:: bash python3.12 --version .. raw:: html
**Install Python 3.12 Environment** 1. Create a virtual environment: .. code-block:: bash python3.12 -m venv imputegap_env 2. Activate the virtual environment: .. code-block:: bash source imputegap_env/bin/activate 3. Install ImputeGAP .. code-block:: bash pip install imputegap .. raw:: html

.. tab:: Linux **Prepare Python 3.12 Environment** To ensure a proper Python setup, we recommend creating a dedicated Python environment for the project. Python 3.12 is a suitable and supported choice. .. raw:: html
*Step 1: Check Existing Python Version** Open your terminal and check the currently installed version of Python: .. code-block:: bash python3 --version .. raw:: html
*Step 2: Install Python 3.12 If needed, install Python 3.12 on your system, follow these steps: 1. Update your package list and install prerequisites: .. code-block:: bash sudo apt-get update sudo apt install -y build-essential libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev \ libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev \ tk-dev python3-tk libopenblas0 software-properties-common python3-pip 3. Add the deadsnakes PPA and update: .. code-block:: bash sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update 4. Install Python 3.12: .. code-block:: bash sudo apt-get install python3.12 python3.12-venv python3.12-dev 5. Verify the installation: .. code-block:: bash python3.12 --version .. raw:: html
**Install Python 3.12 Environment** 1. Create a virtual environment: .. code-block:: bash python3.12 -m venv imputegap_env 2. Activate the virtual environment: .. code-block:: bash source imputegap_env/bin/activate 3. Install ImputeGAP .. code-block:: bash pip install imputegap .. raw:: html

.. tab:: MacOS **Prepare Python 3.12 Environment** To ensure a proper Python setup, we recommend creating a dedicated Python environment for the project. Python 3.12 is a suitable and supported choice. 1. Install Homebrew (if not already installed): .. code-block:: bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 2. Update Homebrew and install Python 3.12: .. code-block:: bash brew update brew install python@3.12 3. Verify the installation: .. code-block:: bash python3.12 --version .. raw:: html
**Install Python 3.12 Environment** 1. Create a virtual environment: .. code-block:: bash python3.12 -m venv imputegap_env 2. Activate the virtual environment: .. code-block:: bash source imputegap_env/bin/activate 3. Install ImputeGAP .. code-block:: bash pip install imputegap .. tab:: docker To install ImputeGAP as a Docker container: .. tabs:: .. tab:: Windows Launch Docker from desktop of terminal. To make sure it is running: .. code-block:: powershell docker version Pull the ImputeGAP Docker image: .. code-block:: powershell docker pull qnater/imputegap:1.1.1 Run the Docker container: .. code-block:: powershell docker run -p 8888:8888 qnater/imputegap:1.1.1 Open the following link: .. code-block:: powershell http://127.0.0.1:8888 .. tab:: Linux Launch Docker from desktop of terminal. To make sure it is running: .. code-block:: powershell docker version Pull the ImputeGAP Docker image: .. code-block:: bash docker pull qnater/imputegap:1.1.1 Run the Docker container: .. code-block:: bash docker run -p 8888:8888 qnater/imputegap:1.1.1 Open the following link: .. code-block:: powershell http://127.0.0.1:8888 .. tab:: MacOS Launch Docker from desktop of terminal. To make sure it is running: .. code-block:: powershell docker version Pull the ImputeGAP Docker image: .. code-block:: bash docker pull --platform linux/x86_64 qnater/imputegap:1.1.1 Run the Docker container: .. code-block:: bash docker run -p 8888:8888 qnater/imputegap:1.1.1 Open the following link: .. code-block:: powershell http://127.0.0.1:8888 Troubleshooting ~~~~~~~~~~~~~~~ If you face any problems, please open an issue here: https://github.com/eXascaleInfolab/ImputeGAP/issues