Official SDK monorepo for Restless Stream: https://restlessapi.stream
Restless Stream turns REST APIs into live Server-Sent Events and WebSocket streams. This repository contains the client packages, shared protocol logic, examples, and API contracts used to integrate Restless Stream from TypeScript, React, Node.js, and Python applications.
| Package | Runtime | Documentation | Use it for |
|---|---|---|---|
@restless-stream/core |
TypeScript and browser-compatible runtimes | packages/typescript/core/README.md |
Framework-neutral REST clients, shared types, runtime URL builders, SSE helpers, and browser-compatible WebSocket helpers. |
@restless-stream/node |
Node.js | packages/typescript/node/README.md |
Server-side Node helpers, including WebSocket subscriptions with handshake headers and Bearer-token auth. |
@restless-stream/react |
React | packages/typescript/react/README.md |
React context and hooks for consuming Restless Stream SSE URLs in components. |
restless-stream |
Python | packages/python/core/README.md |
Sync and async Python clients for REST management, SSE subscriptions, WebSocket subscriptions, typed models, and HMAC helpers. |
Packages are grouped by language first and framework or runtime second:
contracts/
streams.openapi.json
packages/
typescript/
core/
node/
react/
examples/
python/
core/
examples/
The TypeScript workspace lives under packages/typescript and contains the core, Node.js, and React npm packages. The Python package lives under packages/python/core. Examples are kept next to their language package family.
The language core packages own shared protocol behavior. Runtime-specific packages depend on the relevant core package instead of duplicating REST, URL, or event-streaming logic.
@restless-stream/coreis the foundation for TypeScript packages.@restless-stream/nodere-exports the TypeScript core SDK and adds Node-specific streaming transports.@restless-stream/reactbuilds React provider and hook APIs on top of the TypeScript core SDK.restless-streamprovides the Python implementation of equivalent REST and streaming concepts.
- Restless Stream integrations require a Restless Stream account and API key.
- TypeScript package development uses Node.js
>=24and pnpm. - Python package development uses Python
>=3.14. - Live tests are opt-in and require
RESTLESS_API_BASE_URLandRESTLESS_API_KEYenvironment variables.
See the package READMEs for exact install commands, runtime requirements, authentication guidance, and examples.