eggfetch
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()andtext_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*, aliasesmax_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_PROXYbypass - 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-Aftersupport - 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 reportUnixwithout IPs, standard opaque upgrades remain explicitly unavailable;start_tlsuses 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
trailerssurface 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_contextand proxyssl_contextare translated through the safe rustls boundary when representable; contexts with unrepresentable cipher, ALPN, TLS-version, or client-certificate provenance fail closed withTypeError- HTTPX timeout values map to
connect,read,write, andpoolonly; the facade does not synthesize EggFetch's nativetotaldeadline - HTTPX
Timeoutpreserves 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_PROXYwithALL_PROXYfallback, lowercase forms,NO_PROXY, andtrust_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_idremains metadata-only and unavailable - Sync trace callbacks work on both
ClientandAsyncClient; coroutine trace callbacks are rejected withTypeErrorbefore dispatch because the coreTraceObserveris 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-denyconfigured indeny.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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b550e886ac84074225cb98538e656d87348b3cc1f2bedd4d4e7930b441bad44c
|
|
| MD5 |
b5697b0c4c71d40e27bc70d1ed61222b
|
|
| BLAKE2b-256 |
26f51a45d8eaee7e3ce44d87dc4c9710edaf43f694cb8e792533d7dd4f81d637
|
Provenance
The following attestation bundles were made for eggfetch-0.1.3.tar.gz:
Publisher:
pypi.yml on eggstack/eggfetch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eggfetch-0.1.3.tar.gz -
Subject digest:
b550e886ac84074225cb98538e656d87348b3cc1f2bedd4d4e7930b441bad44c - Sigstore transparency entry: 2799626191
- Sigstore integration time:
-
Permalink:
eggstack/eggfetch@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/eggstack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d90fcd5fb9c74febdfcde7ae70cbb28a38a4b766eb91d706080d0770e39d2a0
|
|
| MD5 |
e95b0eccfa5a83a6ff3e19bba44f6fc1
|
|
| BLAKE2b-256 |
fd10aa211b96dc01e2f548723b4a307ee5a6dfea9a914b392ebfbb12b91e467c
|
Provenance
The following attestation bundles were made for eggfetch-0.1.3-cp313-cp313-win_amd64.whl:
Publisher:
pypi.yml on eggstack/eggfetch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eggfetch-0.1.3-cp313-cp313-win_amd64.whl -
Subject digest:
6d90fcd5fb9c74febdfcde7ae70cbb28a38a4b766eb91d706080d0770e39d2a0 - Sigstore transparency entry: 2799626504
- Sigstore integration time:
-
Permalink:
eggstack/eggfetch@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/eggstack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file eggfetch-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: eggfetch-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a7b3322907dc6c0013493b353ce0cdfbd720ee0c772c62a900cf404f06e58cd
|
|
| MD5 |
ddd9d0410d6b18683f95cf7e7e322dc7
|
|
| BLAKE2b-256 |
eec323a5d74d9d39c549ec4908bb02634da96662d7c46eee4cbd256a0afa216e
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eggfetch-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
1a7b3322907dc6c0013493b353ce0cdfbd720ee0c772c62a900cf404f06e58cd - Sigstore transparency entry: 2799626590
- Sigstore integration time:
-
Permalink:
eggstack/eggfetch@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/eggstack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file eggfetch-0.1.3-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: eggfetch-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df7ab6104e7861f8e1c224791ff761e9599782467878d8ce9c4cdd4cbeb314a6
|
|
| MD5 |
11bf376c754293eb3b25361f06f1a5a3
|
|
| BLAKE2b-256 |
6be806be1334928bf56ee1af74a43bee74fabb06e312ae9c84598a3dd7c6fec4
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eggfetch-0.1.3-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
df7ab6104e7861f8e1c224791ff761e9599782467878d8ce9c4cdd4cbeb314a6 - Sigstore transparency entry: 2799626263
- Sigstore integration time:
-
Permalink:
eggstack/eggfetch@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/eggstack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69026077a63164c94dde32be42d19fdf5f60534f294df124c6a079bad4cfaf22
|
|
| MD5 |
5f55ee6d9fd63c0a34d7b5f1e762c611
|
|
| BLAKE2b-256 |
60833824c96d421ac34a233e10fe20a598dc5db0bc957de5dec0a6ff0b7dd14b
|
Provenance
The following attestation bundles were made for eggfetch-0.1.3-cp312-cp312-win_amd64.whl:
Publisher:
pypi.yml on eggstack/eggfetch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eggfetch-0.1.3-cp312-cp312-win_amd64.whl -
Subject digest:
69026077a63164c94dde32be42d19fdf5f60534f294df124c6a079bad4cfaf22 - Sigstore transparency entry: 2799627701
- Sigstore integration time:
-
Permalink:
eggstack/eggfetch@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/eggstack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file eggfetch-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: eggfetch-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eac5d77b8f546c9d88211f7df4fdc00b8d447452b90623fc0af9746957df1bf0
|
|
| MD5 |
3ce17fd8bee070ee171b5972a80cfe3e
|
|
| BLAKE2b-256 |
7899daec2641615569ba3f1a48a8098b74b2d9f7ad1935d5d9a206cae92dddae
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eggfetch-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
eac5d77b8f546c9d88211f7df4fdc00b8d447452b90623fc0af9746957df1bf0 - Sigstore transparency entry: 2799627393
- Sigstore integration time:
-
Permalink:
eggstack/eggfetch@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/eggstack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file eggfetch-0.1.3-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: eggfetch-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
198e030a5bd49c162f281cfe23086a66ab3bca599b432d40d35e6d6fd0678cb1
|
|
| MD5 |
2a99dee22f9d3d2759c9f50ae85749d3
|
|
| BLAKE2b-256 |
6d2edd5f245c861bbfb9842f29cf801cc8b3cfc6869f08b923eec1008acc1105
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eggfetch-0.1.3-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
198e030a5bd49c162f281cfe23086a66ab3bca599b432d40d35e6d6fd0678cb1 - Sigstore transparency entry: 2799627244
- Sigstore integration time:
-
Permalink:
eggstack/eggfetch@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/eggstack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d3e399abca310f85a053fc9033947df101360c50b001f52389942cd6a3f528a
|
|
| MD5 |
819af7ac76881dec6706c059fe303d6b
|
|
| BLAKE2b-256 |
05098568568797691d7b101358b2296ac1a81bfb7c96ab2945fd831b2911686f
|
Provenance
The following attestation bundles were made for eggfetch-0.1.3-cp311-cp311-win_amd64.whl:
Publisher:
pypi.yml on eggstack/eggfetch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eggfetch-0.1.3-cp311-cp311-win_amd64.whl -
Subject digest:
6d3e399abca310f85a053fc9033947df101360c50b001f52389942cd6a3f528a - Sigstore transparency entry: 2799627055
- Sigstore integration time:
-
Permalink:
eggstack/eggfetch@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/eggstack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file eggfetch-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: eggfetch-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4d32128b1f4ac7b8c1625eb8a94a86c6b100ea209a0fc53b69d2a33b7090753
|
|
| MD5 |
227d9e6193f0a4e5767d426e3c358f15
|
|
| BLAKE2b-256 |
5ab7aa895472dc12a636962290ffa9e023bde0ebd2b821850c1b76fc83cfe614
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eggfetch-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
a4d32128b1f4ac7b8c1625eb8a94a86c6b100ea209a0fc53b69d2a33b7090753 - Sigstore transparency entry: 2799626388
- Sigstore integration time:
-
Permalink:
eggstack/eggfetch@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/eggstack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file eggfetch-0.1.3-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: eggfetch-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19b73892c811fa757580b50db93cfcdfd8a0124aec9fb8b9c9e51291b8496431
|
|
| MD5 |
cdb576936b7263aad6b3ba33dfcd9306
|
|
| BLAKE2b-256 |
dddc1b39da353a92dd92af7f6944c398e3abf99e02d90fcf07abcd4002e48160
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eggfetch-0.1.3-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
19b73892c811fa757580b50db93cfcdfd8a0124aec9fb8b9c9e51291b8496431 - Sigstore transparency entry: 2799626700
- Sigstore integration time:
-
Permalink:
eggstack/eggfetch@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/eggstack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a449a1809d921ff248a8549f1b93a8f8563cfeefd3e9ea27cc4a1cd7eb412dd
|
|
| MD5 |
f7f7726c4931bbcf1c68b9c058ec22b0
|
|
| BLAKE2b-256 |
72297d7ff56cbe292b7c57d9464b614ce2738557a62623af8d575e0d5a28fc2b
|
Provenance
The following attestation bundles were made for eggfetch-0.1.3-cp310-cp310-win_amd64.whl:
Publisher:
pypi.yml on eggstack/eggfetch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eggfetch-0.1.3-cp310-cp310-win_amd64.whl -
Subject digest:
9a449a1809d921ff248a8549f1b93a8f8563cfeefd3e9ea27cc4a1cd7eb412dd - Sigstore transparency entry: 2799626819
- Sigstore integration time:
-
Permalink:
eggstack/eggfetch@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/eggstack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file eggfetch-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: eggfetch-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
145aed7ff234caede3fe73bbb2b138dbc082bd6cb74d1b92e7e6b4c62f649c87
|
|
| MD5 |
de199583fe0a69746e05a6ebcdf5f107
|
|
| BLAKE2b-256 |
7f4ddbf7a7a857a828c5a13b7b74d894734bd493ef70a75954e7f0ae5012bd5b
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eggfetch-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
145aed7ff234caede3fe73bbb2b138dbc082bd6cb74d1b92e7e6b4c62f649c87 - Sigstore transparency entry: 2799627570
- Sigstore integration time:
-
Permalink:
eggstack/eggfetch@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/eggstack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file eggfetch-0.1.3-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: eggfetch-0.1.3-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdc7f4a0db1287ea184d44312b529e738c9ba1b3d58a6dbcf1af22049074070a
|
|
| MD5 |
975ac4a284db58a89ff3f9be976018c0
|
|
| BLAKE2b-256 |
c92cdc5b245137ed56bf4ef9a5f04dee3f1623d4034bca95ab7356c3f075f2cf
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eggfetch-0.1.3-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
cdc7f4a0db1287ea184d44312b529e738c9ba1b3d58a6dbcf1af22049074070a - Sigstore transparency entry: 2799626938
- Sigstore integration time:
-
Permalink:
eggstack/eggfetch@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/eggstack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@445149bd2af3c3ce5c0d34daacbde1bf8de57297 -
Trigger Event:
workflow_dispatch
-
Statement type: