Installation
Prerequisites
Section titled “Prerequisites”| Tool | Version | Needed for |
|---|---|---|
| JDK | 21 | Building and running every module |
| sbt | Any recent sbt launcher; each module pins its own version (1.9.8 or 1.11.7) and sbt fetches it | Building each module |
| Apache Spark | 3.5.9 | Running a real job via spark-submit |
| Node.js | 20 | The results web UI (web/) |
| Python | 3.9 or later, with apache-beam | Only 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.
Set up
Section titled “Set up”-
Install JDK 21, then verify:
Terminal window java -version -
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 > cschmod +x cs./cs install sbt -
Install Apache Spark 3.5.9 and put
spark-submiton yourPATH: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 /optmv "/opt/spark-${SPARK_VERSION}-bin-hadoop${HADOOP_VERSION}" /opt/sparkexport SPARK_HOME="/opt/spark"export PATH="$SPARK_HOME/bin:$PATH" -
Install Node.js 20 (only needed for the results web UI).
-
Clone the repository:
Terminal window git clone https://github.com/mlltx/Invaract.gitcd Invaract
-
Clone the repository and open it in GitHub Codespaces:
Terminal window git clone https://github.com/mlltx/Invaract.gitOpen the repository on GitHub and choose Code → Codespaces → Create codespace.
-
Wait for the dev container to provision.
.devcontainer/post-create.shinstalls sbt, Apache Spark 3.5.9, and setsSPARK_HOME— about 5 minutes on first boot, and nothing further to configure. -
Confirm the toolchain is ready:
Terminal window java -versionsbt --versionspark-submit --version
Next step
Section titled “Next step”Continue to Quick Start to build every module and run a real, contract-verified Spark job.