Skip to main content

sparrow-engine (Python)

Camera-trap ML inference engine — Python API. sparrow-engine loads ONNX models and runs detection, classification, and audio inference.

This package ships the Python API only (import sparrow_engine). The command-line binaries (spe / spe-gpu) and the HTTP server are distributed separately (Homebrew, the system installer, or the GitHub Release tarball) — pip install does not place them on your PATH.

Install

pip install sparrow-engine        # CPU build (depends on onnxruntime)
pip install sparrow-engine-gpu    # GPU/CUDA build (depends on onnxruntime-gpu)

Both distributions import as sparrow_engine and are drop-in replacements for each other. Install exactly one per environment: they write the same sparrow_engine import package, so a second flavor overwrites the first. The GPU wheel carries only an advisory Provides-Dist: sparrow-engine, which pip

=22 does not enforce, so pip MAY still install both into one environment — keeping them apart is operator discipline. Neither wheel bundles ONNX Runtime or CUDA — those come from the runtime dependency (onnxruntime / onnxruntime-gpu).

Usage

import sparrow_engine

# Models are read from ~/.sparrow-engine/models (override with
# SPARROW_ENGINE_MODEL_DIR). Device defaults to "auto".
print(sparrow_engine.list_models())

# Object detection — returns list[DetectResult], one per input image.
results = sparrow_engine.detect("photo.jpg", model="MDV6-yolov10-c")
for det in results[0].detections:
    # bbox coordinates are normalized to [0, 1].
    print(det.label, det.confidence, det.bbox.x_min, det.bbox.y_min)

# Classification — result.top1 is the highest-confidence class (or None).
clf = sparrow_engine.classify("crop.jpg", model="Deepfaune-Europe")
print(clf[0].top1)

# Detect-then-classify pipeline (ad-hoc; no TOML required).
pipe = sparrow_engine.pipeline("photo.jpg", detector="MDV6-yolov10-c",
                               classifier="Deepfaune-Europe")

# Audio detection (WAV input).
audio = sparrow_engine.detect_audio("recording.wav", model="md-audiobirds-v1")

# Localized time-frequency audio events (WAV input).
events = sparrow_engine.detect_audio_events(
    "ultrasonic.wav", model="batdetect2-uk-v2"
)

init(device=..., model_dir=...) is optional — the engine auto-initializes on the first inference call. detect / classify / detect_audio / detect_audio_events / pipeline each accept a file path, a directory, or a list of paths, and take an optional progress_callback(index, total, filename).

detect, detect_audio, and detect_audio_events also accept an optional model. The first two use their catalog default and stable fallback ID. Audio-event detection uses a catalog default when present but has no hard-coded fallback because event taxonomies and geographic scopes are model-specific. classify, embed, and pipeline still require an explicit model.

Documentation

See the user manual (docs/user-manual.md) in the sparrow-engine repository for the full model catalog, device selection, and the CLI / server surfaces.

Metadata

Release files for sparrow-engine 0.1.29

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for sparrow-engine 0.1.29
File Interpreter ABI Platform
sparrow_engine-0.1.29-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
sparrow_engine-0.1.29-cp311-abi3-manylinux_2_28_x86_64.whl CPython 3.11 abi3 Linux glibc 2.28+ x86-64 Details
sparrow_engine-0.1.29-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details

Total release size: 7.8 MB

Release files / sparrow_engine-0.1.29-cp311-abi3-win_amd64.whl

Download URL sparrow_engine-0.1.29-cp311-abi3-win_amd64.whl
Size 2.5 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
8bb5087d4da6877a9a5108417be964ceca16fc422b8adfc47ff4f7548e249858
BLAKE2b-256 checksum
How to use checksums
3f145ef1a515002cdc2ca41f7174a142ace48d97e14f377f18f90e42513b569d
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 14, 2026.

Transparency log

Release files / sparrow_engine-0.1.29-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL sparrow_engine-0.1.29-cp311-abi3-manylinux_2_28_x86_64.whl
Size 2.9 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
e3ff8a77a2b072b37aca935babb7c54285f1648c416eb73250804af7162ddbb4
BLAKE2b-256 checksum
How to use checksums
c0eba4cd869c073ab7092614fe15103232fe3c00f913ed708caf2d8f42aa3579
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 14, 2026.

Transparency log

Release files / sparrow_engine-0.1.29-cp311-abi3-macosx_11_0_arm64.whl

Download URL sparrow_engine-0.1.29-cp311-abi3-macosx_11_0_arm64.whl
Size 2.5 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8b324a09a30a46bc3155e4e5a05b32318853fe0111c40cd8fa135bd7e895d039
BLAKE2b-256 checksum
How to use checksums
44af92d5038e9a2a66405c305462df47436c5aa6974047cf32e838e241a2ca7f
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 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.29 This release

3 release files

0.1.28

3 release files

0.1.27

3 release files

0.1.23

3 release files

0.1.15

3 release files

0.1.14

3 release files

0.1.13

3 release files

0.1.12

3 release files

0.1.11

3 release files

0.1.10

3 release files

0.1.9

3 release files

0.1.8

3 release files

0.1.7

3 release files

0.1.6

3 release files

0.1.5

3 release files

0.1.4

3 release 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