Registry / http-networking / replit-river

replit-river

JSON →
library0.17.20pypypi✓ verified 85d ago

Replit River is a Python toolkit for building reliable, bidirectional communication channels (RPC, streaming, etc.) between services, primarily used in the Replit environment. Current version 0.17.19 requires Python 3.12+ and is under active development with frequent releases.

pip install replit-river
INSTALL
IMPORT
SIG · REPLIT-RIVER
R
replit-river
http-networkingpythonv0.17.20
Install
6.1s avg
Import
Disk
68MB
Pass rate
6/ 10
Env Coverage6 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.17.11 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✕ build_error
✕ build_error
py 3.11
✓ —
✓ 6.8s
py 3.12
✓ —
✓ 5.5s
py 3.13
✓ —
✓ 6.1s
py 3.9
✕ build_error
✕ build_error
68MB installed
● package 68MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Client
from replit_river import Client
from replit_river.client import RiverClient
Server
from replit_river import Server
GenericRpcHandlerBuilder
from replit_river import GenericRpcHandlerBuilder

Minimal client example: create RiverClient with WebSocket transport, call a remote procedure.

import asyncio from replit_river.client import RiverClient async def main(): client = RiverClient(url='https://your-service.com', transport='ws') # Example: call a remote method result = await client.call('greet', {'name': 'World'}) print(result) asyncio.run(main())
Debug
Known issues
breakingPython 3.12 minimum: river requires Python >=3.12 (as of 0.17.x). Install may fail on older versions.
fix
Upgrade Python to 3.12 or higher.
affects: 0.17.0+
gotchaRiverClient and RiverServer are not top-level exports: importing from `replit_river` directly does not expose them. Must import from the respective submodules.
fix
Use `from replit_river.client import RiverClient` and `from replit_river.server import RiverServer`.
affects: all
breakingTransport parameter change: in early 0.16.x versions, the transport was specified via `scheme` argument. As of 0.17.x, it's `transport` with values 'ws' or 'http'.
fix
Use `transport='ws'` instead of `scheme='ws'`.
affects: 0.17.0+
Upgrade
Version history
0.17.20latest on PyPI · released May 22, 2026
Audit
Dependencies
aiohttprequiredHTTP transport for river
orjsonrequiredFast JSON serialization
Agent activity
4 hits · last 30 days
node
4
Resources