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.0.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.0-py3-none-any.whl (70.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: muxws-0.3.0.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.0.tar.gz
Algorithm Hash digest
SHA256 edc7e8f0bcccd543aeb5e1cc7fde3280e38955981b76356bbaab768da162c8d4
MD5 7f9a4c331b1c7edf5635a969caa8fe0f
BLAKE2b-256 49926dbe9188c59922c21b2f4bd6e028596e5f3f102b3b4b241b6c08babf41d0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: muxws-0.3.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f9539f32a4b8f92b4ddbd477a7484b5fad9d8e1512f67ada0857153e508282fb
MD5 323615b66306e7096723ca792c9f9e4c
BLAKE2b-256 073528b879445d7ab8f414e38e9b7b300b0c53a7178fc323c054505d9c98080c

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.1

2 files

This release

0.3.0 This release

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