eggfetch-cli-0.2.2 is not a library.
eggfetch
eggfetch is a Rust-native async HTTP client engine (tokio + hyper) with Python bindings and a CLI. All networking lives in eggfetch-core; the Python sync API blocks on the async engine while releasing the GIL, and the async API integrates with asyncio.
Features
- HTTP/1.1, HTTP/2, and experimental HTTP/3 with ALPN negotiation
- Streaming request and response bodies with backpressure, plus trailers
- Pooling and phase-aware timeouts (pool/connect/write/read/total) with transport metrics
- TLS via rustls: additive or replacement CA roots, mTLS, version policy (TLS)
- Proxy: HTTP forwarding, HTTPS CONNECT, proxy auth,
NO_PROXY, SOCKS5 (proxy) - Cookies, auth, multipart, compression: RFC 6265 jar, Basic/Bearer, streaming uploads, gzip/brotli/zstd/deflate
- Retries and redirects: backoff with
Retry-After, replayable-body redirect handling - Python: requests/HTTPX-compatible sync and async APIs plus versioned
eggfetch.compat.httpx(0.28.1) andeggfetch.compat.httpx2(2.12.0) facades (compatibility) - CLI with streaming output, machine-readable formats, and shell completions (guide)
Installation
[]
= "0.2" # Rust (MSRV 1.89)
See installation for wheels, feature recipes, and platform support.
Quickstart
=
=
= await
use ;
use StreamExt;
async
Examples
Runnable starting points (each takes an optional base URL, default https://httpbin.org):
cargo run -p eggfetch-core --example quickstart— configured GET/POST, timeout override, auth, streamingpython examples/python_sync.py— sync client, JSON POST, streaming downloadpython examples/python_async.py— async client with concurrent requests
More patterns are in docs/cookbook/.
Documentation
- Getting started — installation and first requests
- Rust guide · Python guide · CLI guide
- Migration from HTTPX/requests · Compatibility · C ABI / FFI
Security
All Debug/Display/error output redacts credentials, cookies, and tokens. See SECURITY.md to report a vulnerability.
License
eggfetch is licensed under the MIT License.