Skip to content

Installation ​

TypeScript ​

sh
npm install @starfish/client
sh
yarn add @starfish/client
sh
pnpm add @starfish/client

The SDK has zero runtime dependencies and ships with TypeScript declarations. The minimum supported TypeScript version is 5.0. The package is distributed as ESM only.

Browser ​

No additional setup needed — browsers provide a native WebSocket.

ts
import { StarfishClient } from "@starfish/client";

const client = new StarfishClient({
  server: "ws://localhost:4000",
});

Node.js ​

Node.js does not include a built-in WebSocket. Install the ws package and pass it as a factory:

sh
npm install ws
npm install -D @types/ws  # for TypeScript
ts
import { StarfishClient } from "@starfish/client";
import WebSocket from "ws";

const client = new StarfishClient({
  server: "ws://localhost:4000",
  webSocketFactory: (url) => new WebSocket(url),
});

Python ​

sh
pip install starfish

The Python SDK uses websockets for its WebSocket connection. It requires Python 3.10+ and uses asyncio for all async operations.

python
from starfish import StarfishClient, StarfishClientOptions

client = StarfishClient(StarfishClientOptions(server="ws://localhost:4000"))

Swift ​

Add the package to your Package.swift dependencies:

swift
dependencies: [
    .package(url: "https://github.com/driangle/starfish.git", from: "0.0.1")
]

Then add StarfishClient to your target's dependencies:

swift
.target(
    name: "MyApp",
    dependencies: [
        .product(name: "StarfishClient", package: "starfish")
    ]
)

The Swift SDK uses URLSession WebSocket support and requires Swift 5.9+ with structured concurrency.

swift
import StarfishClient

let client = StarfishClient(options: StarfishClientOptions(
    server: URL(string: "ws://localhost:4000")!
))