Skip to content

Reference implementation of QUIC-LY transport protocol (which is QUIC without encryption) using the Python Trio framework.

License

Notifications You must be signed in to change notification settings

SRI-CSL/trio-quicly

Repository files navigation

trio-quicly

Reference implementation of QUIC-LY transport protocol (which is QUIC without encryption) using the Python Trio framework.

QUIC-LY

QUIC-LY stands for QUIC Lean Yet-reliable — a minimalist, unencrypted variant of the QUIC transport protocol. Built for Python, QUIC-LY emphasizes simplicity, ordered delivery, and congestion control with as little overhead as possible.


🚀 Overview

QUIC-LY is designed for use cases where encryption is not required, but reliability and efficiency still matter — such as controlled environments, internal RPC systems, or research/prototyping.

It trims down the original QUIC protocol by removing TLS, reducing metadata, and focusing on just what you need:
Reliable delivery, congestion control, and stream multiplexing — without the crypto baggage.

QUIC-LY is a simplified version of QUIC for educational and experimental purposes.
It omits encryption, focusing on core transport functionality.

QUIC v1 was standardized in May 2021 in RFC 9000 and accompanied by RFC 9002 ("QUIC Loss Detection and Congestion Control").


✨ Features

  • 🚫 No encryption — Designed for trusted networks
  • Reliable, ordered delivery
  • 📦 Stream multiplexing (QUIC-style)
  • 📉 Built-in congestion control
  • 🧠 Simple, readable Python 3 codebase
  • 🛠️ Extensible for experimentation and research

Design Goals

  • Easy to understand and modify
  • Based on Python and the Trio async framework
  • Close adherence to the IETF QUIC transport specification (minus TLS) including Loss Detection and Congestion Control.

Project Layout

  • quicly/ — Core protocol logic
  • examples/ — Sample client/server apps
  • tests/ — Unit tests

Requirements

Getting Started

Install Poetry if you don't have it

curl -sSL https://install.python-poetry.org | python3 -

Install project dependencies

poetry install

Activate the virtual environment and run examples

poetry run python examples/server.py
poetry run python examples/client.py

About

Reference implementation of QUIC-LY transport protocol (which is QUIC without encryption) using the Python Trio framework.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages