ML inference monitoring for Python: on-device and remote models. Tracks latency, tokens, errors, and model metadata with no code changes, plus traces for agent pipelines.
Install
uv add wildedge-sdk
Without a DSN everything is a silent no-op, so dev and CI need no configuration.
CLI
Drop wildedge run in front of your existing command. WildEdge instruments the runtime before your code starts. No SDK calls required in user code.
WILDEDGE_DSN="https://<secret>@ingest.wildedge.dev/<key>" \
wildedge run --integrations timm -- python app.py
Validate your environment before deploying. --send-test-event proves the
whole pipeline end to end by sending one span event and reporting the ingest
response (exit codes: 0 pass, 1 config failure, 2 connectivity failure):
wildedge doctor --integrations all --send-test-event
Useful flags:
| Flag | Description |
|---|---|
--integrations |
Comma-separated list of integrations to activate (or all) |
--hubs |
Hub trackers to activate: huggingface, torchhub |
--print-startup-report |
Print per-integration status at startup |
--strict-integrations |
Exit (code 121) if a requested integration can't be instrumented |
--strict |
Exit (120 config, 122 internal) instead of running untracked when bootstrap fails |
--attachments |
Enable opt-in raw input/output attachment upload |
--no-propagate |
Don't pass WildEdge env vars to child processes |
SDK
Use the SDK when you can't wrap the process, or when you want traces and spans
around your own code. wildedge run covers everything else.
import wildedge
from openai import OpenAI
from transformers import pipeline
wildedge.init(integrations=["transformers", "openai"]) # optional under `wildedge run`
local = pipeline("text-generation", model="HuggingFaceTB/SmolLM2-360M-Instruct")
remote = OpenAI()
with wildedge.trace(run_id="run-1"):
with wildedge.span(kind="agent_step", name="draft"):
draft = local(prompt)[0]["generated_text"]
with wildedge.span(kind="agent_step", name="refine"):
remote.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": draft}],
)
See Deployment for client lifecycle and the full contract.
Supported integrations
On-device
| Integration | Example |
|---|---|
transformers |
transformers_example.py |
mlx |
mlx_example.py |
timm |
timm_example.py |
gguf |
gguf_example.py |
onnx |
onnx_example.py |
ultralytics |
- |
tensorflow |
tensorflow_example.py |
torch |
pytorch_example.py |
keras |
keras_example.py |
Remote models
| Integration | Example |
|---|---|
anthropic |
anthropic_example.py |
openai |
openai_example.py |
Fireworks, Together, Baseten, xAI, Mistral, Groq and other OpenAI-compatible hosts
work through the openai integration — pass their base_url. See
Providers
for every recognized endpoint.
Using httpx, requests or urllib directly instead of the openai / anthropic
client libraries? Wrap the call in
wildedge.llm_api()
to get the same events:
llm_api_example.py.
Hub tracking
Pass hubs= to track model download provenance. Hubs are framework-agnostic and can be combined with any integration.
| Hub | Tracks |
|---|---|
huggingface |
Downloads via huggingface_hub |
torchhub |
Downloads via torch.hub |
For unsupported frameworks, see Manual tracking.
Configuration
| Parameter | Default | Description |
|---|---|---|
dsn |
- | https://<secret>@ingest.wildedge.dev/<key> (or WILDEDGE_DSN). If unset, the client is a no-op. |
app_version |
None |
Your app's version string |
app_identity |
<project_key> |
Namespace for offline persistence. Set per-app in multi-process workloads (or WILDEDGE_APP_IDENTITY) |
enable_offline_persistence |
true |
Persist unsent events to disk and replay on restart |
sampling_interval_s |
30.0 |
Seconds between background hardware snapshots. Set to 0 or None to disable (or WILDEDGE_SAMPLING_INTERVAL_S) |
attachments_enabled |
false |
Opt-in upload of raw inference inputs/outputs (or WILDEDGE_ATTACHMENTS_ENABLED). See Attachments |
For advanced options (batching, queue tuning, dead-letter storage, attachments), see Configuration.
Projects using this SDK
| Name | Link |
|---|---|
| outfitstudio.app | https://outfitstudio.app/ |
| agntr | github.com/pmaciolek/agntr |
| demo-app | github.com/wild-edge/demo-app |
| (your project here) | - |
Using WildEdge in your project? Open a PR to add it to the list.
Security & Privacy
By default the SDK transmits only anonymized telemetry, never raw model inputs
or outputs. The one exception is opt-in attachments
(attachments_enabled), which upload raw bytes you explicitly pass in.
Report security and privacy issues to: support@wildedge.dev
Links
Each GitHub release ships llms.txt and llms-full.txt: the full
documentation for that exact version in one file, built for AI assistants.
Metadata
Release files for wildedge-sdk 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wildedge_sdk-0.2.2.tar.gz | 186.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wildedge_sdk-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 316.1 kB
Release files / wildedge_sdk-0.2.2.tar.gz
| Download URL | wildedge_sdk-0.2.2.tar.gz |
|---|---|
| Size | 186.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3f18e44d7ed22b50482c33d1f397d6a045351bb41e57b4ad0b5e824709efeef1
|
|
BLAKE2b-256 checksum How to use checksums |
872de233d9f649e13b55b44d3214409105fbf4d98656d3826b4a3bab2055d5c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logRelease files / wildedge_sdk-0.2.2-py3-none-any.whl
| Download URL | wildedge_sdk-0.2.2-py3-none-any.whl |
|---|---|
| Size | 130.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a38b7817f37262fbe967f883fe163f69dc97c9b54a8a4bcf36a0a9171f0a6a68
|
|
BLAKE2b-256 checksum How to use checksums |
1bd9663d32d6a1449b40a4edb8e7fb7b473dd766a641de619ff6c11c61a19f5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency log