Skip to main content

muxws

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. 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

0.1.0, alpha - the first release. 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.2.0.tar.gz (82.3 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.2.0-py3-none-any.whl (68.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for muxws-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a0cf8f414af35b60d5326b50fcc5e476eef8c080717e6c22d03e0b10e43fbbb0
MD5 9574bd11af214a6e317731a70bc56ad7
BLAKE2b-256 959574b8578c46063890d8a2805f390128b4a187310f92312c83395957926aaa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: muxws-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 68.8 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc4bb7191d1f10a68095118ff7e295192638ea4ea648ab9d6fd2e4c2b605742d
MD5 409f51a11ec44684c8c88d1a4ea0c196
BLAKE2b-256 cd85e887298d35d899a819165547af7802592f890622a0838b7964d1e5c94ec6

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.1

2 files

0.3.0

2 files

This release

0.2.0 This release

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