Installation instructions#

This guide will help you set up Tumult Core on your local machine.

Prerequisites#

Tumult Core is built in Python, so a Python installation is required to use it. It is compatible with Python 3.8 through 3.11 (Python 3.9 and above on Apple silicon), and has experimental support for Python 3.12. Because Tumult Analytics uses PySpark for computation, it also requires Java 8 or 11, or Java 17 if PySpark 3.4 or later is used.

Tumult Core supports the x86_64 processor architecture, as well as Apple silicon.

Below are instructions for installing these prerequisites on several common platforms. If none of these apply to you, install Python 3 and Java from your OS package manager. If you encounter any issues during the installation process, please let us know!

Python and pip, Python’s package manager, are likely already installed. If they are not, install them with:

apt install python3 python3-pip

Java may already be installed as well. If it is not, install the Java Runtime Environment with:

apt install default-jre-headless

Python and pip, Python’s package manager, may already be installed. On some releases, Python 2 may be installed by default, but not Python 3. To install Python 3, run:

yum install python3 python3-pip

To install Java, run:

yum install java-1.8.0-openjdk-headless

Note that despite the package name, this will install Java 8.

The below instructions assume the use of Homebrew for managing packages. If you do not already have Homebrew, it can be installed with:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Python may be installed with:

brew install python@3.11

And Java may be installed with:

brew install openjdk@11

For the system Java wrappers to find this JDK you may need to symlink it by following the instructions that Homebrew provides upon installation. The command will look similar to the following, but will differ depending on your CPU architecture:

sudo ln -sfn /opt/homebrew/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk

If you have more than one Java version installed on your system, use Java 11 by setting JAVA_HOME to $(/usr/libexec/java_home -v11). This can be done by, for example, adding export JAVA_HOME=$(/usr/libexec/java_home -v11) to .bashrc and then restarting your shell.

The only supported way to install Tumult Core on Windows is using the Windows Subsystem for Linux (WSL). Once you have installed your preferred Linux distribution with WSL, follow the corresponding Linux installation instructions to get Tumult Core set up.

Installation#

Once the above prerequisites are installed, Tumult Core can be installed using pip3 with:

pip3 install tmlt.core

This will automatically install all of its Python dependencies as well.

It is recommended, though not required, to install Tumult Core in a virtual environment to minimize interactions with your system Python environment.