On-device ML inference monitoring for Python. Tracks latency, errors, and model metadata without any code modifications.
Pre-release: The API is unstable and may change between versions. Semantic versioning will apply from the first stable release.
uv add wildedge-sdkDrop 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.pyValidate your environment before deploying:
wildedge doctor --integrations all --network-checkUseful 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 |
Fail if a requested integration can't be loaded |
--no-propagate |
Don't pass WildEdge env vars to child processes |
import wildedge
client = wildedge.init(
dsn="...", # or WILDEDGE_DSN env var
integrations=["transformers"],
hubs=["huggingface"],
)
# models loaded after this point are tracked automaticallyIf no DSN is configured, the client becomes a no-op and logs a warning.
init(...) is a convenience wrapper for WildEdge(...) + instrument(...).
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 |
|---|---|
openai |
openai_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.
| 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) |
For advanced options (batching, queue tuning, dead-letter storage), see Configuration.
| Name | Link |
|---|---|
| agntr | github.com/pmaciolek/agntr |
| (your project here) | - |
Using WildEdge in your project? Open a PR to add it to the list.
Report security & priact issues to: wildedge@googlegroups.com.