Skip to main content

eggfetch

CI Crates.io Crates.io Downloads PyPI version PyPI Downloads License

eggfetch is a Rust-native HTTP client engine with Python bindings and a CLI tool. The core is async-first: a Rust engine built on tokio and hyper provides connection pooling, phase-aware timeouts, TLS configuration, streaming, and response decompression. The Python bindings expose both sync and async APIs; the sync API blocks on the async engine while releasing the GIL, and the async API integrates with asyncio. There is exactly one networking implementation, living entirely in Rust.

Features

  • HTTP/1.1, HTTP/2, HTTP/3 -- ALPN negotiation, multiplexed connections, experimental QUIC transport (bounded per-origin cache, shared connect budget with address fallback, phase-correct timeouts, keepalive-derived idle, authenticated Alt-Svc discovery with suppression/safe fallback/draining; retained experimental — see docs/architecture/core-tls-proxy-protocols.md § "Production Graduation Decision")
  • Streaming -- request and response bodies stream without eager buffering; bytes_stream() and text_lines() for incremental reads
  • HTTP trailers -- H1 chunked trailers, H2 trailing HEADERS, and H3 trailing headers captured without buffering (Response::trailers() after body EOF; H1 duplicate same-name trailers collapse upstream in hyper and are documented)
  • Response decompression -- gzip, brotli, zstd, deflate via feature-gated streaming decoders
  • Connection pooling -- semaphore-based logical in-flight request concurrency (max_in_flight_requests*, aliases max_connections* for pre-1.0) with per-origin limits, pool metrics, and separate transport observability counters
  • Transport observability -- connector/DNS/TLS attempt counters, H3 creation/eviction counts, Alt-Svc learned/expired/cleared/rejected, H3 attempted/suppressed/fallback/drain/close/reconnect, and 101 upgrade counts where observable; HTTP/3 builds also expose bounded Quinn snapshots (remote address, RTT, path counters, route generation, and sanitized close codes); Hyper socket-reuse counts intentionally absent
  • Phase-aware timeouts -- pool, connect, write, read, and total timeout phases with cancellation safety
  • TLS -- rustls with custom CA bundles, client certificates (mTLS), version policy, and verification toggle
  • Proxy -- HTTP forwarding, HTTPS CONNECT tunneling, proxy auth, per-request override, NO_PROXY bypass
  • Cookies -- RFC 6265 cookie jar with domain/path matching, cross-origin stripping
  • Authentication -- Basic and Bearer auth with credential redaction in all output paths
  • Multipart -- streaming multipart/form-data with known-length optimization
  • Retries -- policy-driven retries with exponential backoff and Retry-After support
  • Python API -- requests/HTTPX-compatible sync and async interfaces, GIL-releasing blocking I/O
  • HTTPX compatibility facade -- compatible asyncio surface targeting HTTPX 0.28.1 (eggfetch.compat.httpx)
  • Network stream exposure -- 101 Switching Protocols responses expose an owned upgraded stream through extensions["network_stream"]; direct-connector upgrades carry real local/remote addrs and TLS version/cipher/ALPN, UDS upgrades report Unix without IPs, standard opaque upgrades remain explicitly unavailable; start_tls uses the same safe TLS translation as the default client
  • Python/FFI trailer policy -- core retains trailers; Python native, HTTPX facade, FFI, and Node defer trailer exposure in this milestone (facade unchanged; HTTPX 0.28.1 has no trailers surface to compare against)
  • CLI -- full-featured HTTP client with streaming output, machine-readable formats, and shell completions
  • Node.js (experimental prototype) -- N-API binding with narrow guarantees (UTF-8 string bodies, buffered responses, unstructured errors, stub declarations); see docs/architecture/ffi-and-node.md

HTTP/3 remains experimental. See docs/architecture/core-tls-proxy-protocols.md § "Production Graduation Decision" for the graduation gate and current status.

Installation

Python:

pip install eggfetch

Rust:

[dependencies]
eggfetch-core = { version = "0.1", features = ["http1", "tls-rustls"] }

CLI:

cargo install eggfetch-cli

Usage -- Python

Quick requests

import eggfetch

r = eggfetch.get("https://httpbin.org/get")
print(r.status_code)
print(r.text)

Using a client

import eggfetch

with eggfetch.Client(headers={"User-Agent": "my-app/1.0"}) as client:
    # Buffered response
    r = client.get("https://httpbin.org/get")
    print(r.json())

    # POST with JSON body
    r = client.post("https://httpbin.org/post", json={"key": "value"})
    print(r.status_code)

    # Streaming response
    with client.stream("GET", "https://httpbin.org/stream-bytes/10000") as r:
        for chunk in r.iter_bytes():
            print(f"chunk: {len(chunk)} bytes")

Async client

import asyncio
import eggfetch

async def main():
    async with eggfetch.AsyncClient() as client:
        r = await client.get("https://httpbin.org/get")
        print(r.status_code)

        # Concurrent requests
        responses = await asyncio.gather(
            client.get("https://httpbin.org/get"),
            client.get("https://httpbin.org/ip"),
        )
        for resp in responses:
            print(resp.json())

asyncio.run(main())

Configuration

import eggfetch

client = eggfetch.Client(
    timeout=10.0,
    headers={"User-Agent": "my-app/1.0"},
    limits=eggfetch.Limits(max_connections=100),
    verify="/path/to/ca-bundle.pem",        # custom CA bundle
    cert=("/path/to/cert.pem", "/path/to/key.pem"),  # mTLS
    proxy="http://proxy:8080",
    http2=True,
)

HTTPX-compatible facade

from eggfetch.compat.httpx import Client, AsyncClient

# HTTPX 0.28.1 asyncio-compatible facade
client = Client()
response = client.get("https://example.com")

See docs/python/guide.md for the full Python API reference.

Usage -- Rust

Basic requests

use eggfetch_core::Client;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Client::new();

    // GET request
    let resp = client.get("https://httpbin.org/get").send().await?;
    println!("Status: {}", resp.status());
    println!("Body: {}", resp.text().await?);

    // POST with JSON
    let resp = client
        .post("https://httpbin.org/post")
        .header("Content-Type", "application/json")
        .body(r#"{"key": "value"}"#)
        .send()
        .await?;
    println!("Status: {}", resp.status());

    Ok(())
}

Builder pattern

use eggfetch_core::{Client, Timeout};

let client = Client::builder()
    .timeout(Timeout::from_secs(30))
    .follow_redirects(true)
    .max_redirects(5)
    .user_agent("my-app/1.0")
    .automatic_decompression(true)
    .build();

let resp = client
    .get("https://httpbin.org/get")?
    .header("accept", "application/json")
    .query("page", "1")
    .send()
    .await?;

Streaming

use eggfetch_core::Client;
use futures_util::StreamExt;

let mut resp = client.get("https://httpbin.org/stream/3").send().await?;
let mut stream = resp.bytes_stream()?;

while let Some(chunk) = stream.next().await {
    let chunk = chunk?;
    println!("chunk: {} bytes", chunk.len());
}

Feature flags

[dependencies]
eggfetch-core = { version = "0.1", features = [
    "http1",          # HTTP/1.1 (default)
    "http2",          # HTTP/2 via ALPN
    "tls-rustls",     # TLS via rustls (default)
    "cookies",        # RFC 6265 cookie jar
    "proxy",          # HTTP proxy and CONNECT tunneling
    "compression-gzip",
    "compression-brotli",
    "compression-zstd",
    "compression-deflate",
    "multipart",      # streaming multipart/form-data
] }

See docs/rust/guide.md for the full Rust API reference.

Usage -- CLI

# GET request
eggfetch https://httpbin.org/get

# POST JSON
eggfetch -X POST https://httpbin.org/post --json '{"key": "value"}'

# With authentication
eggfetch --auth user:pass https://httpbin.org/basic-auth/user/pass

# Streaming download
eggfetch --output file.bin https://httpbin.org/stream-bytes/10000

# Machine-readable output
eggfetch --json-output https://httpbin.org/get

See docs/cli/guide.md for the full CLI reference.

HTTPX Compatibility

eggfetch provides two versioned, independent compatibility facades over the single Rust engine. They coexist and never mutate each other.

HTTPX 0.28.1 (eggfetch.compat.httpx)

An asyncio-compatible facade targeting HTTPX 0.28.1. See compat/httpx/0.28.1/profile.toml for the pinned compatibility profile.

Key differences from HTTPX:

  • Trio/AnyIO not supported (asyncio only, tokio-based)
  • Python 3.8/3.9 not supported (requires 3.10+)
  • ssl_context and proxy ssl_context are translated through the safe rustls boundary when representable; contexts with unrepresentable cipher, ALPN, TLS-version, or client-certificate provenance fail closed with TypeError
  • HTTPX timeout values map to connect, read, write, and pool only; the facade does not synthesize EggFetch's native total deadline
  • HTTPX Timeout preserves omitted versus explicitly disabled (None) phase values; Timeout() without a scalar or all four phases raises as in HTTPX
  • Core proxy configuration is explicit; the HTTPX compatibility facade honors scheme-specific HTTP_PROXY/HTTPS_PROXY with ALL_PROXY fallback, lowercase forms, NO_PROXY, and trust_env=False
  • Redirects with buffered retained bodies replay correctly; arbitrary one-shot body iterators are rejected before the next hop
  • Request-local cookies and explicit Cookie headers are preserved within the facade jar model
  • Response streaming is asyncio-compatible and supports incremental text decoding and chunk-size control
  • Proxy(headers=...) is forwarded on the proxy leg only and is never sent through a CONNECT tunnel or to the origin; sensitive values are redacted in diagnostic representations
  • HTTP/2-only works for direct TLS, cleartext prior knowledge, the SNI override route, the SOCKS HTTPS route, and the specialized direct/UDS paths. HTTP CONNECT proxy origin framing remains HTTP/1.1, and HTTP/2 stream_id remains metadata-only and unavailable
  • Sync trace callbacks work on both Client and AsyncClient; coroutine trace callbacks are rejected with TypeError before dispatch because the core TraceObserver is synchronous

Remaining differences are documented in compat/httpx/0.28.1/allowed-differences.toml; the compatibility claim is limited to the pinned HTTPX 0.28.1 profile and the supported asyncio surface.

HTTPX2 2.12.0 (eggfetch.compat.httpx2)

A sibling facade for the maintained httpx2==2.12.0 line, pinned in compat/httpx2/2.12.0/ with its own reference manifest and allowed-difference ledger. It reuses the same Rust engine and shared compatibility helpers where semantics are identical; HTTPX2-specific semantics live behind explicit profile boundaries and never leak into eggfetch.compat.httpx.

from eggfetch.compat.httpx2 import Client, AsyncClient

client = Client()  # httpx2 2.12.0 surface: FunctionAuth, Origin, QUERY, SSE, optional WS

New surface vs 0.28.1: FunctionAuth, Origin + URL.origin, QUERY (query top-level + Client.query/AsyncClient.query), Headers merge operators (|/|=), alias_httpx() (explicit opt-in only), truststore OS-trust default, RFC 9110 status renames, plus SSE (EventSource over streamed responses) and optional WebSocket (wsproto framing over the existing 101 network_stream — no second socket/TLS stack, pip install httpx2[ws] for WS support). Python 3.10–3.13 distribution scope.

HTTPX 1.0 preview (no compatibility promise)

compat/httpx/1.0-preview/ tracks the HTTPX 1.0 redesign as reconnaissance only. No dev release is a supported contract; see that directory for the observed version, delta notes, and entry criteria.

101 Switching Protocols and network_stream

When a request upgrades (e.g. WebSocket via Connection: Upgrade), the response carries a live owned NetworkStream exposed through response.extensions["network_stream"]. The wrapper type follows the caller's API mode: sync Client.stream() and Client.request() 101 responses expose the sync NetworkStream; async AsyncClient.stream() and AsyncClient.request() 101 responses expose the async wrapper. For ordinary pooled HTTP/1.1 and HTTP/2 connections, network_stream is None; the connection is returned to the pool and not user-writable. Internal HTTPS proxy CONNECT tunnels are also classified as None — the canonical access path is the body iterator, not the upgraded stream.

The NetworkStream object supports read, write, close, is_upgraded, get_extra_info, and start_tls(ssl_context=..., server_hostname=..., timeout=...). start_tls uses the same safe TLS policy as the default client; it is rejected for Hyper-opaque adapter streams and for streams that are already TLS-wrapped. Leading bytes written immediately after the 101 headers are returned by the first reads from the upgraded stream.

See docs/reference/compatibility.md for the full feature matrix.

Documentation

Section Description
getting-started/ Installation and quickstart guide
concepts/ Architecture, lifecycle, timeouts, streaming, cookies, auth, proxy, TLS
rust/guide.md Rust API guide with examples
python/guide.md Python sync/async API guide
cli/guide.md CLI reference and usage guide
migration/ Migration guides from requests and HTTPX
cookbook/ Practical runnable examples
reference/ Compatibility matrix, feature matrix, error reference
security/ Security guidelines and troubleshooting
architecture/ Internal architecture documentation
ffi/ C ABI and FFI binding guide

Security

eggfetch follows a security-hardening program covering dependencies, TLS, redirects, auth, cookies, proxies, decompression, multipart, retries, and protocol handling.

  • Dependency auditing: cargo-deny configured in deny.toml
  • Secret redaction: All Debug/Display/error output redacts credentials, cookies, bearer tokens, and proxy passwords
  • Threat model: See docs/architecture/threat-model.md
  • Vulnerability reporting: See SECURITY.md

License

eggfetch is licensed under the MIT License.

MSRV

The minimum supported Rust version is 1.80, declared in workspace.package.rust-version and checked in extended validation. rust-toolchain.toml pins the stable channel for development.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eggfetch-0.1.3.tar.gz (661.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

eggfetch-0.1.3-cp313-cp313-win_amd64.whl (4.0 MB view details)

Uploaded CPython 3.13Windows x86-64

eggfetch-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

eggfetch-0.1.3-cp313-cp313-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

eggfetch-0.1.3-cp312-cp312-win_amd64.whl (4.0 MB view details)

Uploaded CPython 3.12Windows x86-64

eggfetch-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

eggfetch-0.1.3-cp312-cp312-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

eggfetch-0.1.3-cp311-cp311-win_amd64.whl (4.0 MB view details)

Uploaded CPython 3.11Windows x86-64

eggfetch-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

eggfetch-0.1.3-cp311-cp311-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

eggfetch-0.1.3-cp310-cp310-win_amd64.whl (4.0 MB view details)

Uploaded CPython 3.10Windows x86-64

eggfetch-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

eggfetch-0.1.3-cp310-cp310-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file eggfetch-0.1.3.tar.gz.

File metadata

  • Download URL: eggfetch-0.1.3.tar.gz
  • Upload date:
  • Size: 661.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for eggfetch-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b550e886ac84074225cb98538e656d87348b3cc1f2bedd4d4e7930b441bad44c
MD5 b5697b0c4c71d40e27bc70d1ed61222b
BLAKE2b-256 26f51a45d8eaee7e3ce44d87dc4c9710edaf43f694cb8e792533d7dd4f81d637

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggfetch-0.1.3.tar.gz:

Publisher: pypi.yml on eggstack/eggfetch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggfetch-0.1.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: eggfetch-0.1.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for eggfetch-0.1.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6d90fcd5fb9c74febdfcde7ae70cbb28a38a4b766eb91d706080d0770e39d2a0
MD5 e95b0eccfa5a83a6ff3e19bba44f6fc1
BLAKE2b-256 fd10aa211b96dc01e2f548723b4a307ee5a6dfea9a914b392ebfbb12b91e467c

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggfetch-0.1.3-cp313-cp313-win_amd64.whl:

Publisher: pypi.yml on eggstack/eggfetch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggfetch-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eggfetch-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1a7b3322907dc6c0013493b353ce0cdfbd720ee0c772c62a900cf404f06e58cd
MD5 ddd9d0410d6b18683f95cf7e7e322dc7
BLAKE2b-256 eec323a5d74d9d39c549ec4908bb02634da96662d7c46eee4cbd256a0afa216e

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggfetch-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi.yml on eggstack/eggfetch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggfetch-0.1.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eggfetch-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 df7ab6104e7861f8e1c224791ff761e9599782467878d8ce9c4cdd4cbeb314a6
MD5 11bf376c754293eb3b25361f06f1a5a3
BLAKE2b-256 6be806be1334928bf56ee1af74a43bee74fabb06e312ae9c84598a3dd7c6fec4

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggfetch-0.1.3-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: pypi.yml on eggstack/eggfetch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggfetch-0.1.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: eggfetch-0.1.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for eggfetch-0.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 69026077a63164c94dde32be42d19fdf5f60534f294df124c6a079bad4cfaf22
MD5 5f55ee6d9fd63c0a34d7b5f1e762c611
BLAKE2b-256 60833824c96d421ac34a233e10fe20a598dc5db0bc957de5dec0a6ff0b7dd14b

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggfetch-0.1.3-cp312-cp312-win_amd64.whl:

Publisher: pypi.yml on eggstack/eggfetch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggfetch-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eggfetch-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eac5d77b8f546c9d88211f7df4fdc00b8d447452b90623fc0af9746957df1bf0
MD5 3ce17fd8bee070ee171b5972a80cfe3e
BLAKE2b-256 7899daec2641615569ba3f1a48a8098b74b2d9f7ad1935d5d9a206cae92dddae

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggfetch-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi.yml on eggstack/eggfetch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggfetch-0.1.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eggfetch-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 198e030a5bd49c162f281cfe23086a66ab3bca599b432d40d35e6d6fd0678cb1
MD5 2a99dee22f9d3d2759c9f50ae85749d3
BLAKE2b-256 6d2edd5f245c861bbfb9842f29cf801cc8b3cfc6869f08b923eec1008acc1105

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggfetch-0.1.3-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: pypi.yml on eggstack/eggfetch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggfetch-0.1.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: eggfetch-0.1.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for eggfetch-0.1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6d3e399abca310f85a053fc9033947df101360c50b001f52389942cd6a3f528a
MD5 819af7ac76881dec6706c059fe303d6b
BLAKE2b-256 05098568568797691d7b101358b2296ac1a81bfb7c96ab2945fd831b2911686f

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggfetch-0.1.3-cp311-cp311-win_amd64.whl:

Publisher: pypi.yml on eggstack/eggfetch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggfetch-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eggfetch-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a4d32128b1f4ac7b8c1625eb8a94a86c6b100ea209a0fc53b69d2a33b7090753
MD5 227d9e6193f0a4e5767d426e3c358f15
BLAKE2b-256 5ab7aa895472dc12a636962290ffa9e023bde0ebd2b821850c1b76fc83cfe614

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggfetch-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi.yml on eggstack/eggfetch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggfetch-0.1.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eggfetch-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 19b73892c811fa757580b50db93cfcdfd8a0124aec9fb8b9c9e51291b8496431
MD5 cdb576936b7263aad6b3ba33dfcd9306
BLAKE2b-256 dddc1b39da353a92dd92af7f6944c398e3abf99e02d90fcf07abcd4002e48160

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggfetch-0.1.3-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: pypi.yml on eggstack/eggfetch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggfetch-0.1.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: eggfetch-0.1.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for eggfetch-0.1.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9a449a1809d921ff248a8549f1b93a8f8563cfeefd3e9ea27cc4a1cd7eb412dd
MD5 f7f7726c4931bbcf1c68b9c058ec22b0
BLAKE2b-256 72297d7ff56cbe292b7c57d9464b614ce2738557a62623af8d575e0d5a28fc2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggfetch-0.1.3-cp310-cp310-win_amd64.whl:

Publisher: pypi.yml on eggstack/eggfetch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggfetch-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eggfetch-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 145aed7ff234caede3fe73bbb2b138dbc082bd6cb74d1b92e7e6b4c62f649c87
MD5 de199583fe0a69746e05a6ebcdf5f107
BLAKE2b-256 7f4ddbf7a7a857a828c5a13b7b74d894734bd493ef70a75954e7f0ae5012bd5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggfetch-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi.yml on eggstack/eggfetch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eggfetch-0.1.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eggfetch-0.1.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cdc7f4a0db1287ea184d44312b529e738c9ba1b3d58a6dbcf1af22049074070a
MD5 975ac4a284db58a89ff3f9be976018c0
BLAKE2b-256 c92cdc5b245137ed56bf4ef9a5f04dee3f1623d4034bca95ab7356c3f075f2cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for eggfetch-0.1.3-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: pypi.yml on eggstack/eggfetch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.4

13 files

This release

0.1.3 This release

13 files

0.1.1

13 files

0.1.0

13 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