Skip to main content

Local, privacy-first AI for wildlife camera trap analysis and conservation monitoring

Project description

BioDex

Local AI for wildlife camera traps. Detect animals, filter blanks, identify species, export results — on your machine, not in the cloud.

Python 3.10–3.12 License: MIT Version CI Release

Built for conservation research, field review, and defensive wildlife monitoring (Fratres / EcoSentinel integration hooks).


Run locally (do this)

Mac / Linux

git clone https://github.com/FratresMedAI/BioDex.git
cd BioDex
./run_biodex.sh

Windows

git clone https://github.com/FratresMedAI/BioDex.git
cd BioDex
run_biodex.bat

Your browser opens http://127.0.0.1:7860. Use the Batch tab to process a folder, or Quick demo for a fast preview.

First analysis downloads models once (~500 MB). After that, everything stays offline on your computer.


v1.0 highlights

  • Pluggable models — registry architecture (core/models/) with MegaDetector + SpeciesNet adapters
  • Batch performance — chunking, cancel, ETA progress, optional torch.compile
  • Video foundations — frame sampling + timeline export (biodex video, requires [video] extra)
  • Advanced exports — Wildlife Insights, iNaturalist drafts, timelapse JSON, SQLite, EcoSentinel hook
  • Tabbed UI — Dashboard, Batch, Video, Analytics, Settings
  • Optional AI review (BYOK) — per-frame LLM notes after batch runs (see below)
  • Docker — CPU and GPU images for deployment
  • Release maturity — stable API surface, strict typing/linting, and CI-gated quality

Optional AI review (BYOK)

Core detection runs fully offline on your machine. AI review is an optional power feature:

  1. Open Use via API in the footer.
  2. Choose a provider, paste your API key, pick a model (or type a custom model ID), then Save.
  3. After a batch run, select a frame and click AI review (LLM) for a field note: scene summary, species second opinion, and data-quality flags.

Privacy: API keys are stored locally in ~/.cache/biodex/settings.json and sent only to the provider you choose — never to BioDex servers. See SECURITY.md.

Scope in v1.0.1: batch frame review only. Single-image spot check, video key frames, and batch-level summaries are planned for v1.1. Not every model slug in the dropdown is guaranteed to work with every provider — use a custom model ID if needed.


Extras install matrix

pip install -e ".[ui,models]"           # Web UI + inference (default)
pip install -e ".[video]"               # OpenCV video support
pip install -e ".[analytics]"           # Heatmaps + diversity metrics
pip install -e ".[edge]"                # ONNX stubs (future edge deploy)
pip install -e ".[all]"                 # Everything

Batch CLI

For large folders (100+ images), no browser:

biodex batch /path/to/images -o ./results --classify-species --recursive
biodex batch /path/to/images -o ./results --chunk-size 500 --torch-compile
biodex video /path/to/clip.mp4 -o ./video-results --fps 1 --max-frames 120

Environment variables: BIODEX_DETECTOR_MODEL, BIODEX_TORCH_COMPILE, BIODEX_GEOFENCE_REGION, BIODEX_AUDIT_LOG=1

Docker quick start

docker build -t biodex:cpu -f Dockerfile .
docker run --rm -p 7860:7860 biodex:cpu

GPU:

docker build -t biodex:gpu -f Dockerfile.gpu .

Developers

pip install -e ".[ui,models,dev]"
pytest tests/ -v -m "not slow"
ruff check core app.py ui
mypy core app.py ui
pre-commit install   # optional

See CHANGELOG.md, docs/roadmap.md, CONTRIBUTING.md, and SECURITY.md.


MIT License. Uses MegaDetector and SpeciesNet.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

biodex-1.0.1.tar.gz (4.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

biodex-1.0.1-py3-none-any.whl (978.8 kB view details)

Uploaded Python 3

File details

Details for the file biodex-1.0.1.tar.gz.

File metadata

  • Download URL: biodex-1.0.1.tar.gz
  • Upload date:
  • Size: 4.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for biodex-1.0.1.tar.gz
Algorithm Hash digest
SHA256 cd72443ebdd30d7da61b02d138b67af067966b3d2ea15babb6559756b58fa046
MD5 620edcf478a374fd2664dfc1d75cdf70
BLAKE2b-256 bb422a90aa1067b3f2253e14fa404f9506a05c69c56ca69b98991a5f0422115d

See more details on using hashes here.

Provenance

The following attestation bundles were made for biodex-1.0.1.tar.gz:

Publisher: release.yml on FratresMedAI/BioDex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file biodex-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: biodex-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 978.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for biodex-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4dd802f4c0406b7839b972ae2e91778be493ad8c7a9215c8bd3fed36f13d1613
MD5 adcd029ef3444c0cd6870b85434afff1
BLAKE2b-256 8736922ef4a51af1d3e706e50b6ecf57c02cb2841723ecdf054f5fb4cf177c01

See more details on using hashes here.

Provenance

The following attestation bundles were made for biodex-1.0.1-py3-none-any.whl:

Publisher: release.yml on FratresMedAI/BioDex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page