Rust runtime for Python AI apps. Drop-in for openai/anthropic SDKs with native SSE streaming, an agent loop with concurrent tool dispatch, and Logfire-compatible OTel emission.
Project description
f3dx
The Rust runtime your Python imports. Drop-in for openai and anthropic SDKs with native SSE streaming, an agent loop with concurrent tool dispatch, and Logfire-compatible OTel emission. PyO3 + abi3 wheels for ubuntu/macos/windows. Built for pydantic-ai.
The intellectual frame is Cruz's "AI Runtime Infrastructure" (arXiv:2603.00495, Feb 2026): a distinct execution-time layer above the model and below the application that observes, reasons over, and intervenes in agent behavior at runtime. f3dx is that layer, in Rust, for Python apps.
pip install f3dx
import f3dx
# 5x faster streaming, drop-in for openai SDK
client = f3dx.OpenAI(api_key="...", base_url="https://api.openai.com/v1")
for chunk in client.chat_completions_create_stream({"model": "gpt-4", "messages": [...]}):
print(chunk["choices"][0]["delta"].get("content", ""), end="")
# Drop-in for anthropic SDK with native Messages event handling
client = f3dx.Anthropic(api_key="...")
for event in client.messages_create_stream({"model": "claude-3-5-sonnet", "max_tokens": 1024, "messages": [...]}):
if event.get("type") == "content_block_delta":
print(event["delta"].get("text", ""), end="")
# 5-10x faster agent runtime via concurrent tool dispatch
agent = f3dx.AgentRuntime(system_prompt="...", concurrent_tool_dispatch=True)
result = agent.run(user_prompt, tools={...}, mock_responses=[...])
# Tool-call streaming reassembly: skip the accumulate-fragments boilerplate
for ev in client.chat_completions_create_stream_assembled({...}):
if ev["type"] == "tool_call":
result = dispatch(ev["name"], ev["arguments"]) # arguments is parsed dict, ready
# Validated structured output: skip accumulate-then-json.loads at end
for ev in client.chat_completions_create_stream_assembled(req, validate_json=True):
if ev["type"] == "validated_output":
process(ev["data"]) # already parsed
elif ev["type"] == "validation_error":
log.warning("model emitted invalid JSON: %s", ev["error"])
# Logfire-compatible OTel spans by default — gen_ai.* semconv
f3dx.configure_otel(
endpoint="https://logfire-api.pydantic.dev/v1/traces",
headers={"Authorization": f"Bearer {LOGFIRE_TOKEN}"},
)
# Every Agent.run + every chat_completions / messages call now emits
# spans with gen_ai.system, gen_ai.request.model, gen_ai.usage.{input,output}_tokens, etc.
Why
Compound AI systems (Zaharia BAIR 2024, Mei AIOS arXiv:2403.16971) are the dominant production pattern. The orchestration + HTTP layer is now the bottleneck, not the model. Every other AI infra layer is non-Python by 2026 (vLLM C++, TGI Rust, mistral.rs Rust, Outlines-core Rust, XGrammar C++). Orchestration is the last lane; f3dx ships it.
Bench results (reproducible from bench/)
| What | vs | Speedup |
|---|---|---|
f3dx.AgentRuntime concurrent dispatch |
pure-python sequential agent loop | 5-10x at 5-10 tools/turn |
f3dx.OpenAI streaming |
openai Python SDK |
5.10x at 1000 chunks |
f3dx.Anthropic streaming |
anthropic Python SDK |
2.9-5.2x at 50-1000 events |
| Tool-call assembled stream | raw fragment iteration | 17 chunks -> 2 events |
validate_json=True |
accumulate + json.loads + try/except | one extra event, zero user code |
All benches live under bench/, all use the stdlib mock servers in the same dir, all single-thread.
Architecture
Cargo workspace, four crates, one PyPI package:
f3dx/
crates/
f3dx-py/ PyO3 bridge cdylib (the only crate with #[pymodule])
f3dx-rt/ agent runtime + concurrent tool dispatch
f3dx-http/ LLM HTTP client (reqwest + native SSE + streaming JSON validation)
f3dx-trace/ OpenTelemetry span emission (Logfire-compatible, gen_ai.* semconv)
OpenAI-compatible endpoints (vLLM, Mistral, xAI, Groq, Together, Fireworks) all work via f3dx.OpenAI by setting base_url.
Observability
Configure once with f3dx.configure_otel(endpoint, headers, service_name, stdout). Every AgentRuntime.run emits a root span with gen_ai.system="f3dx" + gen_ai.prompt.length_chars + f3dx.{concurrent_tool_dispatch,iterations,tool_calls_executed,duration_ms,output.length_chars}.
Every chat_completions_create* / messages_create* emits a SpanKind::Client span:
gen_ai.system openai | anthropic
gen_ai.operation.name chat | messages
gen_ai.request.model from request
gen_ai.request.{temperature, top_p, max_tokens, stream}
gen_ai.response.{id, model, finish_reasons}
gen_ai.usage.{input_tokens, output_tokens}
Streaming spans hold open until terminal chunk; usage attrs land when the closing chunk carries them (auto-injects stream_options.include_usage=true for OpenAI; reads message_start.message.usage + message_delta.usage for Anthropic).
Status: Ok on success, Status::error("<msg>") on HTTP failure.
Layout
f3dx/
bench/ reproducible benches + verify scripts + stdlib mock servers
crates/ cargo workspace member crates
python/f3dx/__init__.py core Python wrapper (AgentRuntime, OpenAI, Anthropic, configure_otel)
python/f3dx/compat/ opt-in subclass shims (f3dx[openai-compat])
python/f3dx/pydantic_ai/ pydantic-ai integration (f3dx[pydantic-ai])
python/f3dx/langchain/ langchain-openai integration (f3dx[langchain])
pyproject.toml maturin build, optional extras
Cargo.toml cargo workspace root + workspace lints
rust-toolchain.toml pinned to 1.86.0 for reproducible builds
.github/workflows/ci.yml ubuntu/macos/windows + clippy gate + built-wheel install
.github/workflows/release.yml glibc/musl x86_64+aarch64 wheels + macos x86_64+aarch64 + windows + sdist + OIDC PyPI publish
What this is not
f3dx is a Python-from-Rust runtime — a Rust core that ships as a Python wheel via PyO3. If you're building a pure Rust application and want an agent framework in your binary, look at AutoAgents (Rust agent framework with role-based multi-agent), rig (provider abstraction + RAG primitives in Rust), or mistral.rs (local inference engine). Different audience, different scope.
f3dx is not an inference engine. Use vLLM, TGI, mistral.rs, llama.cpp, or any OpenAI-compatible endpoint underneath; f3dx talks to them.
f3dx is not a multi-agent orchestration framework. It is the runtime layer below frameworks like pydantic-ai, LangChain, LlamaIndex, CrewAI, AutoGen.
Sibling project
tracewright — replay-driven eval over f3dx and pydantic-ai JSONL traces. Take a recorded trace, swap the candidate model, get a per-case diff. Closes the loop from "we have observability" to "we have regression tests".
MCP client
import f3dx, json
# spawn an MCP server over stdio (npm-based, Python-based, any binary)
client = f3dx.MCPClient.stdio("npx", ["-y", "@modelcontextprotocol/server-everything"])
for tool in client.list_tools():
print(tool["name"], tool["description"])
result = client.call_tool("get-sum", json.dumps({"a": 7, "b": 35}))
# 'The sum of 7 and 35 is 42.'
f3dx-mcp is a sibling cargo crate; the rmcp Rust SDK drives the JSON-RPC handshake + stdio transport. SSE + streamable-HTTP transports + sampling callback bridge land in V0.1.
Adapter packages
# pip install f3dx[openai-compat]
from f3dx.compat import OpenAI, AsyncOpenAI # subclass openai.OpenAI / openai.AsyncOpenAI
import openai
client = OpenAI(api_key=...)
isinstance(client, openai.OpenAI) # True — passes isinstance checks in
# instructor, litellm, smolagents, langchain
out = client.chat.completions.create(...) # routes through Rust, returns
# openai.types.chat.ChatCompletion
# pip install f3dx[pydantic-ai]
from f3dx.pydantic_ai import openai_model, F3dxCapability
from pydantic_ai import Agent
cap = F3dxCapability()
agent = Agent(openai_model('gpt-4', api_key=...), capabilities=[cap])
result = await agent.run('hi') # f3dx-routed HTTP, capability counts requests
# pip install f3dx[langchain]
from f3dx.langchain import ChatOpenAI
llm = ChatOpenAI(model='gpt-4', api_key=...) # subclass of langchain_openai.ChatOpenAI
msg = llm.invoke('hi') # sync + ainvoke both routed via f3dx
What's not here yet
- Gemini adapter (Phase C.2)
f3dx.pydantic_ai.anthropic_model— needs theAsyncAnthropiccompat shim (next release)- Parent-child trace context propagation between AgentRuntime span and HTTP child spans (needs Python-side context bridge)
- jsonschema validation in
validate_jsonmode (V0 only checks parseable JSON; Pydantic schema check coming) - True fail-fast incremental JSON validation (V0 validates at terminal; V0.2 will use XGrammar as the streaming validator backend)
- Arrow trace store + parquet/DuckDB sinks (V0.1 of Phase G)
langchain-f3dxstandalone PyPI package per LangChain partner-package convention (today the integration ships as thef3dx[langchain]extra; standalone-package split happens before LangChain partner-registry submission)- Public PyPI release (gated only on PyPI trusted-publisher config — see release workflow)
License
MIT.
Project details
Release history Release notifications | RSS feed
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 f3dx-0.0.7.tar.gz.
File metadata
- Download URL: f3dx-0.0.7.tar.gz
- Upload date:
- Size: 47.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
caaf15db50df8679013bc6c1c76c7403ce2c02f15dca458b4e32fe3297bd90ca
|
|
| MD5 |
f6d18082bf623c0b4f24c642c44ccff4
|
|
| BLAKE2b-256 |
1e30ea8773c7887159654ac5bceb844c406e3b78c5cee07614e259b99f90166b
|
Provenance
The following attestation bundles were made for f3dx-0.0.7.tar.gz:
Publisher:
release.yml on smigolsmigol/f3dx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
f3dx-0.0.7.tar.gz -
Subject digest:
caaf15db50df8679013bc6c1c76c7403ce2c02f15dca458b4e32fe3297bd90ca - Sigstore transparency entry: 1393265412
- Sigstore integration time:
-
Permalink:
smigolsmigol/f3dx@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Branch / Tag:
refs/tags/v0.0.7 - Owner: https://github.com/smigolsmigol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Trigger Event:
push
-
Statement type:
File details
Details for the file f3dx-0.0.7-cp310-abi3-win_amd64.whl.
File metadata
- Download URL: f3dx-0.0.7-cp310-abi3-win_amd64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.10+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1313c678a489fac0b454df1a8968bae66a047b49cef132810fd361b7e6619b25
|
|
| MD5 |
241bebe8e25a1682013f329a7595a657
|
|
| BLAKE2b-256 |
22e1526a92f38bf8a2a8075a089ec2fc544b57daf41af1ca038c026689cbf676
|
Provenance
The following attestation bundles were made for f3dx-0.0.7-cp310-abi3-win_amd64.whl:
Publisher:
release.yml on smigolsmigol/f3dx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
f3dx-0.0.7-cp310-abi3-win_amd64.whl -
Subject digest:
1313c678a489fac0b454df1a8968bae66a047b49cef132810fd361b7e6619b25 - Sigstore transparency entry: 1393265499
- Sigstore integration time:
-
Permalink:
smigolsmigol/f3dx@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Branch / Tag:
refs/tags/v0.0.7 - Owner: https://github.com/smigolsmigol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Trigger Event:
push
-
Statement type:
File details
Details for the file f3dx-0.0.7-cp310-abi3-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: f3dx-0.0.7-cp310-abi3-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.10+, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c267d1d2100de5bca70923f93a1f888777154f9713602fbb1cc9ed2860d2e19f
|
|
| MD5 |
9e535fd2241c5b5d2b1e228162f0fe11
|
|
| BLAKE2b-256 |
312882d90adf7acfc9125b053e6dc425ff7c37b18db1f3d620ad23c22e4875e1
|
Provenance
The following attestation bundles were made for f3dx-0.0.7-cp310-abi3-musllinux_1_2_x86_64.whl:
Publisher:
release.yml on smigolsmigol/f3dx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
f3dx-0.0.7-cp310-abi3-musllinux_1_2_x86_64.whl -
Subject digest:
c267d1d2100de5bca70923f93a1f888777154f9713602fbb1cc9ed2860d2e19f - Sigstore transparency entry: 1393265703
- Sigstore integration time:
-
Permalink:
smigolsmigol/f3dx@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Branch / Tag:
refs/tags/v0.0.7 - Owner: https://github.com/smigolsmigol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Trigger Event:
push
-
Statement type:
File details
Details for the file f3dx-0.0.7-cp310-abi3-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: f3dx-0.0.7-cp310-abi3-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.10+, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
563d6f8b1166466d74cd9de7152a8ddeed2f7600a3faaf1d8b9940593c79fb0d
|
|
| MD5 |
5199685775d4c220bef08d15239a3d96
|
|
| BLAKE2b-256 |
5cbf9019658a02eebc6d6876b42b9a1a49c3d971817fe03bdc7959a4bcbfdf62
|
Provenance
The following attestation bundles were made for f3dx-0.0.7-cp310-abi3-musllinux_1_2_aarch64.whl:
Publisher:
release.yml on smigolsmigol/f3dx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
f3dx-0.0.7-cp310-abi3-musllinux_1_2_aarch64.whl -
Subject digest:
563d6f8b1166466d74cd9de7152a8ddeed2f7600a3faaf1d8b9940593c79fb0d - Sigstore transparency entry: 1393265621
- Sigstore integration time:
-
Permalink:
smigolsmigol/f3dx@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Branch / Tag:
refs/tags/v0.0.7 - Owner: https://github.com/smigolsmigol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Trigger Event:
push
-
Statement type:
File details
Details for the file f3dx-0.0.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: f3dx-0.0.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.0 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.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
164fc0afc966ca85a762eb7c8feeb551e548d9c0922d3e894021976940944d73
|
|
| MD5 |
54cd35959c0c28f5311876dc38d32a74
|
|
| BLAKE2b-256 |
0008b0a6d60b2934800307d85ebf9e3dcca2820b06519b41ec213fcfc3f1406a
|
Provenance
The following attestation bundles were made for f3dx-0.0.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on smigolsmigol/f3dx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
f3dx-0.0.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
164fc0afc966ca85a762eb7c8feeb551e548d9c0922d3e894021976940944d73 - Sigstore transparency entry: 1393265467
- Sigstore integration time:
-
Permalink:
smigolsmigol/f3dx@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Branch / Tag:
refs/tags/v0.0.7 - Owner: https://github.com/smigolsmigol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Trigger Event:
push
-
Statement type:
File details
Details for the file f3dx-0.0.7-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: f3dx-0.0.7-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34ecaa4b672ac14905430010464c057e71260ef15d7c2535c93dfcae59484208
|
|
| MD5 |
d82f2d4fbf2ddb8087c72e8dd9981886
|
|
| BLAKE2b-256 |
858f532d24815cd9a267b7fb2de16c15ae44bd8470a043cee07c2bc996d5ac22
|
Provenance
The following attestation bundles were made for f3dx-0.0.7-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
release.yml on smigolsmigol/f3dx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
f3dx-0.0.7-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
34ecaa4b672ac14905430010464c057e71260ef15d7c2535c93dfcae59484208 - Sigstore transparency entry: 1393265657
- Sigstore integration time:
-
Permalink:
smigolsmigol/f3dx@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Branch / Tag:
refs/tags/v0.0.7 - Owner: https://github.com/smigolsmigol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Trigger Event:
push
-
Statement type:
File details
Details for the file f3dx-0.0.7-cp310-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: f3dx-0.0.7-cp310-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.10+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5392ba44ac673fd9feeda4a3c2fe76fb2c949ead38eca217970b19074c6520ae
|
|
| MD5 |
555124eed1e0b191e062ec9ece0666e3
|
|
| BLAKE2b-256 |
f42cc9b81a7cb17210208c4367740b9fdaacbae707ad23dcbabeb2c0e07abf65
|
Provenance
The following attestation bundles were made for f3dx-0.0.7-cp310-abi3-macosx_11_0_arm64.whl:
Publisher:
release.yml on smigolsmigol/f3dx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
f3dx-0.0.7-cp310-abi3-macosx_11_0_arm64.whl -
Subject digest:
5392ba44ac673fd9feeda4a3c2fe76fb2c949ead38eca217970b19074c6520ae - Sigstore transparency entry: 1393265541
- Sigstore integration time:
-
Permalink:
smigolsmigol/f3dx@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Branch / Tag:
refs/tags/v0.0.7 - Owner: https://github.com/smigolsmigol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Trigger Event:
push
-
Statement type:
File details
Details for the file f3dx-0.0.7-cp310-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: f3dx-0.0.7-cp310-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.10+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fee8cd9bbd36ff51612a17cbfe5d97110cb48ff21c34a154f58b8675ac9ad28
|
|
| MD5 |
3c37e97c1f4c28bfeced6fa9d67fc3fd
|
|
| BLAKE2b-256 |
2781204902811a59f3aabecb66686a988f435398b0a7fbefe1ded9cdc9a5fe72
|
Provenance
The following attestation bundles were made for f3dx-0.0.7-cp310-abi3-macosx_10_12_x86_64.whl:
Publisher:
release.yml on smigolsmigol/f3dx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
f3dx-0.0.7-cp310-abi3-macosx_10_12_x86_64.whl -
Subject digest:
6fee8cd9bbd36ff51612a17cbfe5d97110cb48ff21c34a154f58b8675ac9ad28 - Sigstore transparency entry: 1393265578
- Sigstore integration time:
-
Permalink:
smigolsmigol/f3dx@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Branch / Tag:
refs/tags/v0.0.7 - Owner: https://github.com/smigolsmigol
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3f86b4d0ac1207e99dc078d4c5541ec12a813bfc -
Trigger Event:
push
-
Statement type: