clutchcall artifacts

Public package host for the clutchcall SDKs & tools — artifacts.clutchcall.dev

The SDK packages now carry the native engine. For pip, Maven and NuGet you no longer download a library by hand or set CLUTCHCALL_LIB_PATH. Cargo and Go still link the engine at build time — see Native engine.

SDK pip

pip install clutchcall-sdk --extra-index-url https://artifacts.clutchcall.dev/pip/simple/

One wheel per platform: manylinux_2_31_x86_64, manylinux_2_31_aarch64, macosx_11_0_arm64, win_amd64. pip picks the right one. The aarch64 wheel is the one a Jetson or an ARM SBC needs. Versions before 1.0.2 carry no engine and are yanked; an explicit pin still installs them and says why.

packagelatest
clutchcall-sdk1.0.3
clutchcall-agents0.3.0
livekit-plugins-clutchcall0.0.11

SDK npm

# .npmrc
@clutchcall:registry=https://artifacts.clutchcall.dev/npm/

npm install @clutchcall/livekit-transport

Unscoped packages install by tarball URL:

npm install https://artifacts.clutchcall.dev/npm/tarballs/clutchcall_connect-1.0.1.tgz
packagelatest
@clutchcall/livekit-transport0.1.10
@clutchcall/agents0.3.0
@clutchcall/admin-sdk0.1.0
@clutchcall/agent-widget0.1.0
clutchcall_connect1.0.1

SDK maven

<!-- pom.xml -->
<repository><id>clutchcall</id><url>https://artifacts.clutchcall.dev/maven</url></repository>
<dependency><groupId>com.clutchcall.api</groupId><artifactId>clutchcall-sdk</artifactId><version>1.0.1</version></dependency>

The jar holds the engine at JNA's resource prefixes, so Native.load extracts it with no java.library.path. Version 1.0.0 has no engine.

SDK .NET / nuget

dotnet nuget add source https://artifacts.clutchcall.dev/nuget/index.json -n clutchcall
dotnet add package ClutchCall.SDK --version 1.0.1

The package carries runtimes/<rid>/native/ for linux-x64, osx-arm64 and win-x64. Version 1.0.0 is managed code only.

SDK cargo

# .cargo/config.toml
[registries.clutchcall]
index = "sparse+https://artifacts.clutchcall.dev/cargo/"
# Cargo.toml
clutchcall-sdk = { version = "1.0.0", registry = "clutchcall" }

Also clutchcall-agents 0.3.0. Cargo links the engine at build time — set RUSTFLAGS="-L /path/to/lib".

SDK go

GOPROXY=https://artifacts.clutchcall.dev/go,https://proxy.golang.org,direct GOSUMDB=off \
  go get github.com/clutchcall/go-sdk@v1.0.0

cgo links the engine at build time — set CGO_LDFLAGS="-L /path/to/lib".

Native engine FFI · all platforms

Only Cargo and Go need this. pip, Maven and NuGet already carry the engine inside the package. Cargo and Go bundle nothing: they resolve the library at LINK time, so you fetch it yourself and point the linker at it.

Which libraries you need. Link every one your code reaches:

libraryneeded by
clutchcall_core_ffiClutchCallClient — serde / RPC. Go links -lclutchcall_core_ffi.
clutchcall_moqt_ffiMoQT transport. Go and Rust link -lclutchcall_moqt_ffi.
clutchcall_quic_ffiNative QUIC transport.

Linux — linux-x86_64, glibc 2.31 or newer:

B=https://artifacts.clutchcall.dev/sdk/linux-x86_64
mkdir -p clutchcall-engine && cd clutchcall-engine
curl -fsSLO $B/libclutchcall_core_ffi.so
curl -fsSLO $B/libclutchcall_moqt_ffi.so
curl -fsSLO $B/libclutchcall_quic_ffi.so
curl -fsSLO https://artifacts.clutchcall.dev/sdk/clutch_moqt_ffi.h

export CGO_LDFLAGS="-L$PWD"                       # go
export RUSTFLAGS="-L$PWD"                         # rust
export LD_LIBRARY_PATH="$PWD:$LD_LIBRARY_PATH"    # at run time

Linux on ARM — linux-aarch64, glibc 2.31 or newer. This is the Jetson / ARM SBC target:

B=https://artifacts.clutchcall.dev/sdk/linux-aarch64
mkdir -p clutchcall-engine && cd clutchcall-engine
curl -fsSLO $B/libclutchcall_core_ffi.so
curl -fsSLO $B/libclutchcall_moqt_ffi.so
curl -fsSLO $B/libclutchcall_quic_ffi.so

export CGO_LDFLAGS="-L$PWD"
export RUSTFLAGS="-L$PWD"
export LD_LIBRARY_PATH="$PWD:$LD_LIBRARY_PATH"

macOS — darwin-arm64 (Apple silicon), macOS 11 or newer:

B=https://artifacts.clutchcall.dev/sdk/darwin-arm64
mkdir -p clutchcall-engine && cd clutchcall-engine
curl -fsSLO $B/libclutchcall_core_ffi.dylib
curl -fsSLO $B/libclutchcall_moqt_ffi.dylib
curl -fsSLO $B/libclutchcall_quic_ffi.dylib
curl -fsSLO $B/libclutchcall_h3_ffi.dylib         # HTTP/3, macOS only

export CGO_LDFLAGS="-L$PWD"
export RUSTFLAGS="-L$PWD"
export DYLD_LIBRARY_PATH="$PWD:$DYLD_LIBRARY_PATH"

Windows — windows-x86_64. Take BOTH files per library. The .dll is what loads at run time; the .lib is the import library, and a Windows linker cannot link a .dll without it. Ship the .dll beside your executable.

$B = "https://artifacts.clutchcall.dev/sdk/windows-x86_64"
mkdir clutchcall-engine; cd clutchcall-engine
foreach ($f in "core","moqt","quic") {
  Invoke-WebRequest "$B/clutchcall_${f}_ffi.dll" -OutFile "clutchcall_${f}_ffi.dll"
  Invoke-WebRequest "$B/clutchcall_${f}_ffi.lib" -OutFile "clutchcall_${f}_ffi.lib"
}

$env:CGO_LDFLAGS = "-L$PWD"                       # go
$env:RUSTFLAGS   = "-L$PWD"                       # rust
Versioning. These files track the current SDK release. They are not versioned in the path, so pin a build by copying them into your own artifact store if you need a fixed one. Every library on this page comes from the same build, and the release gate refuses to publish unless Linux, macOS and Windows are present together.

The engine also ships inside each platform wheel, if you would rather take it from a versioned artifact:

pip download clutchcall-sdk==1.0.3 --no-deps --only-binary=:all: \
  --platform macosx_11_0_arm64 --python-version 3.12 \
  --index-url https://artifacts.clutchcall.dev/pip/simple/ -d .
unzip -j clutchcall_sdk-1.0.3-py3-none-macosx_11_0_arm64.whl 'clutchcall/*.dylib' -d engine/

ROS 2 RMW apt · Jazzy/Noble

curl -fsSL https://artifacts.clutchcall.dev/apt/clutchcall-archive-keyring.asc | sudo gpg --dearmor -o /usr/share/keyrings/clutchcall.gpg
echo "deb [signed-by=/usr/share/keyrings/clutchcall.gpg] https://artifacts.clutchcall.dev/apt noble main" | sudo tee /etc/apt/sources.list.d/clutchcall.list
sudo apt-get update && sudo apt-get install ros-jazzy-rmw-clutchcall-cpp
# then: export RMW_IMPLEMENTATION=rmw_clutchcall_cpp

Helm charts kubernetes

helm repo add clutchcall https://artifacts.clutchcall.dev/charts
helm repo update
helm install clutch-serve clutchcall/clutch-serve   # 0.1.0
helm install clutch-model clutchcall/clutch-model   # 0.1.0

VPN client desktop · linux · macOS

Desktop app, CLI and the privileged daemon in one installer. A TUN device needs CAP_NET_ADMIN, so the app cannot open the tunnel itself: clutch-vpnd owns it and the app drives it over a local socket. The installer registers that daemon as a service, which is why this is a .deb and a .pkg rather than an archive.

# Linux — Debian / Ubuntu, amd64
curl -fsSLO https://artifacts.clutchcall.dev/vpn/clutchcall-vpn_1.0.0_amd64.deb
sudo apt-get install ./clutchcall-vpn_1.0.0_amd64.deb

# macOS
curl -fsSLO https://artifacts.clutchcall.dev/vpn/clutchcall-vpn-1.0.0.pkg
sudo installer -pkg clutchcall-vpn-1.0.0.pkg -target /

Installs clutchcall-vpn (the app), clutch-vpn (CLI) and clutch-vpnd (daemon). Get your server address and join token from the VPN section of the portal. Windows is not released yet.

rnp tunnel CLI any OS/arch

curl -fsSL https://artifacts.clutchcall.dev/rnp/install.sh | sh