Skip to main content

muxws

HTTP/2 and HTTP/3 stream semantics over a WebSocket. Many independent, cancellable, bidirectional streams on one socket, either end able to open one - the model HTTP/2 and HTTP/3 already settled, without needing QUIC or an HTTP/3 stack. The wire format is the product; Python and TypeScript are the two ports that exist today, and SPEC.md plus conformance/ are what a third is written from.

The mimicry is of semantics, not transport: one TCP connection means one global message order and no per-stream loss recovery - the rationale says what is and is not copied, and the comparison accounts for it frame by frame. muxws is not a router, not a serializer of domain objects, not an authentication mechanism, not a durable store and not an RPC framework.

Install

pip install muxws                       # extras: [starlette], [websockets], [msgpack]
npm install muxws                       # optional peers: ws, @msgpack/msgpack

Documentation

docs.velis.si/muxws is the manual - or build it yourself with npm run docs:dev.

Server and client in three files Getting started
Every public symbol, both languages API reference
The normative rules, and the fixtures a third port is written from SPEC.md, conformance/

Status

Alpha - the first releases. Two versions that move independently: the wire is already at its first generation and frozen there (muxws.v1.<codec> is the subprotocol, and v1 stays until a breaking change earns a new one), while the package carries a leading zero because none of this has been through a real deployment yet. 1.0 is what the first confirmed production use earns. Python package muxws (PyPI); npm package muxws, browser entry plus the muxws/node and muxws/msgpack subpaths.

Licence

MIT. Copyright © 2025 Jure Erznožnik.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

muxws-0.3.1.tar.gz (85.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

muxws-0.3.1-py3-none-any.whl (70.4 kB view details)

Uploaded Python 3

File details

Details for the file muxws-0.3.1.tar.gz.

File metadata

  • Download URL: muxws-0.3.1.tar.gz
  • Upload date:
  • Size: 85.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.2

File hashes

Hashes for muxws-0.3.1.tar.gz
Algorithm Hash digest
SHA256 458a9db0140baa1283aba8b360c996de8353823a5954d00d7e9438a2024bb7b6
MD5 ff373e83c158bc48160b3c3eec198ad9
BLAKE2b-256 200e48fe223849a840df1806f606228188024aa5d24606cfd2c2b736fba34cec

See more details on using hashes here.

File details

Details for the file muxws-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: muxws-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 70.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.2

File hashes

Hashes for muxws-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 61da59b1089462e1d294ed7b6479c3f059653c1074e81ba38fd97a28c72f5722
MD5 042a52b8ede14fe3ca184cdb579185a6
BLAKE2b-256 fc8dada2c7dd25d0d36744c7b38042173a6af791ee1059a850c8760ec76189e0

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 files

0.3.0

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page