Skip to main content

Download the ClikaRT SDK

A licensed deployment hands its members the ClikaRT release archives: the inference runtime, the clikart-cli model CLI and the C++ SDK headers and libraries, one archive per target platform, at the engine version the deployment's own benchmarks run with. The archive is CLIKA's release file, unmodified, so what you build and serve on your workstation behaves like what the platform measured.

Every member of an organization on a deployment whose platform license is active may download; the capability is runtime_sdk:download, and every built-in organization role carries it. Each download is recorded in the audit log.

The archive runs nothing on its own. The runtime starts only with the runtime license credential your project issues, which is why the download dialog shows the two side by side. Runtime licenses explains the credential; this page covers the archive.

Where the download is​

SurfaceWhere
WebYour name in the top bar, then Download ClikaRT. Or a project's Overview, where the Licenses card has Download SDK. Both open the same dialog; the Overview opens it on that project's license key.
Platform CLIclika-cli runtime-sdk list and clika-cli runtime-sdk download <dist> [dest].
MCPThe get_runtime_sdk and post_runtime_sdk_dist_download_token tools, in the benchmark-ops toolset and in full.

Pick the archive for where your program runs​

One archive is one target platform: the libraries in lib/ and the model CLI in bin/ are built for that operating system and CPU. The headers under include/ are the same in every archive.

Archivedist idRuns onBackends
Linux x86_64linux-amd64Linux workstations and serversCPU, CUDA, Vulkan
Linux arm64linux-arm64Linux on Arm, Jetson includedCPU, CUDA, Vulkan
macOS Apple silicondarwin-arm64Apple silicon MacsCPU, Metal
Windows x86_64windows-amd64Windows 10 and newerCPU, Vulkan
Android arm64android-arm64Android devices; the CLI inside runs on the device, not on your workstationCPU, Vulkan

The backends column is what each archive's own dist.json lists under capabilities.backends, and what the dialog and clika-cli runtime-sdk list print for the row. A release may ship an Android library add-on (android-arm64-aar) beside the Android archive; when it does, the dialog lists it indented under the Android row.

A program cross-built for another platform takes that platform's archive to link against and ship with, plus your workstation's archive for the tools you run while developing: fetching and converting models, serving one locally. An Android app built on Linux takes Android arm64 and Linux x86_64.

Download from the web dialog​

The dialog has three numbered sections, in the order a first run needs them.

1. Choose your target platform and build. The dialog is a chooser: the platform first, then the language (Python, C and C++, command line only, Kotlin, or the examples), then the CUDA image where the platform offers one (CPU and Vulkan only, CUDA 12, or CUDA 13; the newest CUDA image is proposed on Linux, and CPU and Vulkan only is the choice without an NVIDIA GPU), then the Python version for a Python selection. Every choice ends on one of the release's own files, as the runtime vendor published it: the platform's whole archive for C and C++ and for the command line, one wheel for a Python version (with its CUDA variant where one exists), the Maven zip or the archive for Kotlin, the Android library, or the examples archive. Nothing is assembled on the platform. The row shows the file name, the backends inside, the size and the vendor's SHA-256 with a Copy control. The runtime's languages are C++ and Python (the full API) and Kotlin (the inference API); Language bindings says what each carries.

Download asks the platform for a short-lived link and then hands that link to the browser, so the file lands in your downloads folder like any other. The link is good for ten minutes and names one file; the audit record is written when the link is minted, not when the bytes move. The organization's credits are charged once per link, at the file's whole size and the plan's rate per GB, when the link is first followed: an interrupted download costs the whole file, and a resume or retry inside the link's ten minutes costs nothing more.

2. Your license key. The newest active online license key of the project in context, with its name and key prefix. From the Overview that is the project you are looking at; from the top-bar menu it is your current project, with a project picker when you belong to several. Reveal key shows the key and offers a copy button; revealing takes the license-manager role in the project, and a member without it reads a hint instead and asks a license manager for the key. A project with no active online key says so, and offers Issue License to a member who may issue one; it opens the Licenses page with its issue dialog. Under the key, two lines hand it to the runtime, with the key filled in once revealed:

export CLIKA_RT_LICENSE=<license-key>
./bin/clikart-license-init <license-key>

The variable is for one shell; the init command stores the key under your user account so every later run finds it.

3. Start. The first commands for the archive you downloaded (or, before any download, for the platform the page is open on): unpack it, cd into it, list the devices the runtime sees, serve a model on the CPU. Under them, the CMake line to build against the runtime and the platform-CLI command that fetches the same archive.

tar -xJf ClikaRT_linux_x86_64-<version>.tar.xz
cd ClikaRT_linux_x86_64-<version> && ./bin/clikart-cli devices
./bin/clikart-cli <model> serve --device cpu --port 8129

The first line follows the file: tar -xJf for a .tar.xz archive, unzip for the Windows .zip archive, and pip install for a Python wheel (the dialog's start block creates a virtual environment first). The Kotlin Maven zip is added to a build, not unpacked by hand. The release's README-Modelverse.md inside an archive describes what the archive carries.

To build against the runtime from CMake (C++17 or newer):

find_package(ClikaRT CONFIG REQUIRED)

and link ClikaRT::ClikaRT. The archive's own README.md covers the build in detail, and its examples/ directory holds a walkthrough per topic. ClikaRT is the runtime's documentation.

Download with the platform CLI​

runtime-sdk is a hand-written group on clika-cli, beside the generated resource groups. The API key it runs under needs runtime_sdk:download.

clika-cli runtime-sdk list

One row per file: the dist id that download takes (the platform's id for the whole archive, as in linux-amd64; a language and Python-version suffix for a wheel, as in linux-amd64-python-cp312, with -cu12 or -cu13 for its CUDA variant; android-arm64-aar for the Android library; examples for the examples archive), the platform and architecture, the file kind, the backends inside, the size, and, in the JSON output, whether the file is staged on this deployment (staged; the table omits the column). In table mode the engine version prints as a notice line on standard error, so a piped table stays a table; -o json and -o yaml print the whole listing with the version inside it.

clika-cli runtime-sdk download linux-amd64 ./

download <dist> [dest] asks the platform for the download link, streams the archive to disk while hashing it, and compares the digest with the one the platform announced. dest defaults to the current directory; an existing directory keeps the release file name inside it, and any other path is the file to write. On success the command prints the path written and the verified SHA-256. On a mismatch it removes the file and exits non-zero naming both digests, so a corrupt archive is never left where the next step could unpack it.

Two refusals have their own advice. A dist the deployment offers no archive for points you at runtime-sdk list; an archive that is listed but not yet staged says so and names your platform administrator as the person to ask.

Download through MCP​

The two tools are the listing and the link mint. get_runtime_sdk answers the archives with their dist ids, file names, sizes, digests and backends; post_runtime_sdk_dist_download_token takes a dist and answers a link with the file name, size and SHA-256 to verify against. The url is a path on the platform (prefix the platform's address), and the link works only for the account or API key that minted it: send the same Authorization header the mint used, or the platform answers 403 RUNTIME_SDK_TOKEN_INVALID. It honors Range requests so an interrupted download resumes, and stops working ten minutes after it was minted; mint another when it has expired. An assistant hands the link and the header to a download tool rather than reading the bytes itself. Using with AI (MCP) covers connecting an assistant.

Verify what you downloaded​

The dialog shows the file's SHA-256 beside its download button, with the line that verifies the file on your platform; the CLI and the MCP listing carry the same digest.

Linux:

echo "<sha256> <file>" | sha256sum -c

macOS:

echo "<sha256> <file>" | shasum -a 256 -c

Windows (PowerShell):

(Get-FileHash <file>).Hash -eq "<sha256>"

Every file's digest is the runtime vendor's own, the one published beside the file, because the platform serves the release's files as they are. The platform CLI runs this check itself and refuses a file that does not match.

Troubleshooting​

A row is listed with no size and a disabled Download. The deployment's installer did not stage that archive. The listing comes from the installed benchmark data bundle, which names every archive of the release; the bytes are staged separately. Ask your platform administrator.

The link answers that it is invalid or has expired. Links live ten minutes. Mint a new one from the dialog, the CLI or the tool.

The link is refused after the deployment was updated. A link delivers exactly the bytes it was minted for. When the deployment has moved to another build in between, the old link is refused; list the archives again and mint a new one.

The model commands fail with LICENSE_FAILED. The runtime found no valid runtime license credential. Set CLIKA_RT_LICENSE or run clikart-license-init with the key from section 2 of the dialog, or from the project's Licenses page. License the runtime covers every placement. The message names the cause, and every one ends by naming CLIKA_RT_LICENSE and the init tool even when the variable is set:

MessageMeaning
no ClikaRT license is configured for this processNeither the variable nor an installed license was found.
LICENSE_STATE_BLOCKED: runtime key revokedThe license was revoked or rotated on the platform; copy the current one from the project's Licenses page.
ENTITLEMENT_DENIED: this license does not permit running on a virtual machineThe license's entitlements exclude this machine; issue one with the grant.
PHONE_HOME_STALLED: cannot reach the license serverAn Online license could not reach the platform; check the network, or use an Offline license.

A licensed run prints nothing about its license. clikart-license-init prints the kind of credential it installed, and for an Offline bundle the project and the expiry with it; an Online key is validated by the platform on its first use, so the tool prints no project for one.