Skip to content

Installation

ToolVersionNeeded for
JDK21Building and running every module
sbtAny recent sbt launcher; each module pins its own version (1.9.8 or 1.11.7) and sbt fetches itBuilding each module
Apache Spark3.5.9Running a real job via spark-submit
Node.js20The results web UI (web/)
Python3.9 or later, with apache-beamOnly for Beam Python pipelines

You don’t need to install these by hand if you use Codespaces — its dev container provisions all of them automatically.

See Engine Version Support for the full range of Spark 3.5.x patches and Beam releases actually verified, not just these defaults. If you only need Beam, you can skip Spark: see Use Invaract with Apache Beam or Beam Python pipelines.

  1. Install JDK 21, then verify:

    Terminal window
    java -version
  2. Install sbt via Coursier:

    Terminal window
    curl -fsSL https://github.com/coursier/coursier/releases/download/v2.1.9/cs-x86_64-pc-linux.gz \
    | gzip -d > cs
    chmod +x cs
    ./cs install sbt
  3. Install Apache Spark 3.5.9 and put spark-submit on your PATH:

    Terminal window
    SPARK_VERSION="3.5.9"
    HADOOP_VERSION="3"
    wget "https://archive.apache.org/dist/spark/spark-${SPARK_VERSION}/spark-${SPARK_VERSION}-bin-hadoop${HADOOP_VERSION}.tgz"
    tar -xzf "spark-${SPARK_VERSION}-bin-hadoop${HADOOP_VERSION}.tgz" -C /opt
    mv "/opt/spark-${SPARK_VERSION}-bin-hadoop${HADOOP_VERSION}" /opt/spark
    export SPARK_HOME="/opt/spark"
    export PATH="$SPARK_HOME/bin:$PATH"
  4. Install Node.js 20 (only needed for the results web UI).

  5. Clone the repository:

    Terminal window
    git clone https://github.com/mlltx/Invaract.git
    cd Invaract

Continue to Quick Start to build every module and run a real, contract-verified Spark job.