Rust WebTransport library for native and WASM
  • Rust 59.4%
  • Python 32.4%
  • TypeScript 5.4%
  • JavaScript 2.4%
  • Just 0.3%
  • Other 0.1%
Find a file
github-actions[bot] 465b01d033
chore: release (#208)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-07 09:05:03 -07:00
.cargo Check all feature combinations (#102) 2025-10-04 06:24:16 -07:00
.github/workflows Add Python bindings for web-transport-quinn via PyO3 (#216) 2026-03-26 16:54:04 -07:00
dev Initial web-transport-quiche support (#118) 2025-11-14 01:47:21 +00:00
js Add comprehensive README for @moq/web-transport package (#218) 2026-04-02 20:56:16 +00:00
py/web-transport Add Python bindings for web-transport-quinn via PyO3 (#216) 2026-03-26 16:54:04 -07:00
rs chore: release (#208) 2026-04-07 09:05:03 -07:00
.editorconfig Set max line length to 72 for commit messages (#106) 2025-10-13 13:18:30 +00:00
.envrc Use NIX for CI (#113) 2025-10-20 17:30:49 +00:00
.gitignore Add Python bindings for web-transport-quinn via PyO3 (#216) 2026-03-26 16:54:04 -07:00
.release-plz.toml Auto upgrade. (#49) 2024-12-01 06:26:02 -08:00
biome.jsonc Fix the example for guest. (#126) 2025-11-17 17:04:54 +00:00
bun.lock Hide NAPI bindings from @moq/web-transport public API (#221) 2026-04-02 19:44:40 +00:00
Cargo.toml Add Python bindings for web-transport-quinn via PyO3 (#216) 2026-03-26 16:54:04 -07:00
CLAUDE.md Split monorepo into rs/ and js/ top-level directories (#202) 2026-03-16 13:23:38 -07:00
flake.lock Add NapiClient.disableVerify() and use NAPI tokio runtime (#205) 2026-03-17 02:46:58 +00:00
flake.nix Add Python bindings for web-transport-quinn via PyO3 (#216) 2026-03-26 16:54:04 -07:00
justfile Add Python bindings for web-transport-quinn via PyO3 (#216) 2026-03-26 16:54:04 -07:00
LICENSE-APACHE Some more documentation. (#34) 2024-08-15 11:20:14 -07:00
LICENSE-MIT Some more documentation. (#34) 2024-08-15 11:20:14 -07:00
package.json Debug ci (#211) 2026-03-17 18:28:54 -07:00
README.md Add web-transport-noq crate (#187) 2026-03-11 19:37:44 +00:00
release-plz.toml Add Python bindings for web-transport-quinn via PyO3 (#216) 2026-03-26 16:54:04 -07:00

crates.io docs.rs discord

WebTransport

WebTransport is a new web API that allows for low-level, bidirectional communication between a client and a server. It's available in the browser as an alternative to HTTP and WebSockets.

WebTransport is layered on top of HTTP/3 which is then layered on top of QUIC. This library hides that detail and tries to expose only the QUIC API, delegating as much as possible to the underlying QUIC implementation.

QUIC provides two primary APIs:

Streams

QUIC streams are ordered, reliable, flow-controlled, and optionally bidirectional. Both endpoints can create and close streams (including an error code) with no overhead. You can think of them as TCP connections, but shared over a single QUIC connection.

Datagrams

QUIC datagrams are unordered, unreliable, and not flow-controlled. Both endpoints can send datagrams below the MTU size (~1.2kb minimum) and they might arrive out of order or not at all. They are basically UDP packets, except they are encrypted and congestion controlled.

Crates

This project is broken up into quite a few different crates: