#net #async #async-net

cyper

HTTP client library based on compio and hyper

24 releases (7 breaking)

Uses new Rust 2024

new 0.8.0 Feb 7, 2026
0.7.1 Dec 4, 2025
0.6.2 Nov 2, 2025
0.4.0 Jun 22, 2025
0.1.0-beta.1 Nov 18, 2023

#25 in HTTP client

Download history 387/week @ 2025-10-24 235/week @ 2025-10-31 982/week @ 2025-11-07 1452/week @ 2025-11-14 1123/week @ 2025-11-21 1356/week @ 2025-11-28 1312/week @ 2025-12-05 1788/week @ 2025-12-12 1444/week @ 2025-12-19 1001/week @ 2025-12-26 1014/week @ 2026-01-02 1847/week @ 2026-01-09 607/week @ 2026-01-16 1100/week @ 2026-01-23 1986/week @ 2026-01-30 1161/week @ 2026-02-06

5,290 downloads per month
Used in 7 crates (6 directly)

MIT license

130KB
2.5K SLoC

Cyper

MIT licensed crates.io docs.rs Check Test

An HTTP library based on compio and hyper.

This project references code from reqwest.

Quick start

Add compio and cyper as dependency:

compio = { version = "0.17.0", features = ["macros"] }
cyper = "0.7.0"

Then we can start a simple HTTP request:

use cyper::Client;

#[compio::main]
async fn main() {
    let client = Client::new();
    let response = client
        .get("https://www.example.com/")
        .unwrap()
        .send()
        .await
        .unwrap();
    println!("{}", response.text().await.unwrap());
}

Features

  • HTTPS - powered by compio-tls
    • native-tls
    • rustls
  • HTTP 2
  • HTTP 3 - powered by compio-quic
  • cookies
  • charset
  • serde-json
  • multipart
  • compression
    • gzip
    • brotli

Nyquest support

cyper supports nyquest experimentally. Start with registering:

cyper::nyquest::register();

Contributing

There are opportunities to contribute to Cyper at any level. It doesn't matter if you are just getting started with Rust or are the most weathered expert, we can use your help. If you have any question about Cyper, feel free to join our telegram group. Before contributing, please checkout our contributing guide.

Dependencies

~25–46MB
~782K SLoC