Skip to main content

auspex-engine

Train your own auto-annotator from one labelled dataset — then let it label the rest.

Point it at a folder of images plus the annotations you already have (CVAT, COCO, YOLO, Pascal VOC or LabelMe). It trains a separate specialist model for each annotation type present, bundles them into a single portable file, and labels unseen images back into re-importable CVAT XML and COCO JSON.

No assumptions about your domain, your label names, or where you run it.

pip install auspex-engine

Quick start

from auspex_engine import Auspex

# TRAIN — format is auto-detected; only the annotation types present get trained
Auspex().train(dataset="ann.xml", images="imgs/", output="runs/exp1", epochs=50)
#   -> writes one file: runs/exp1/auspex_model.pt

# LABEL new images with it
results = Auspex("runs/exp1/auspex_model.pt").predict("test/")   # path | folder | ndarray
results.save("out/")        # annotated images + predictions_cvat.xml + predictions_coco.json
results.detections          # [{type, label, score, box|points|x,y}, ...]
results.plot()              # annotated image as a numpy BGR array

Or from the command line:

auspex train   --dataset ann.xml --images imgs/ --output runs/exp1 --epochs 50
auspex predict --model runs/exp1/auspex_model.pt --source test/ --output out/

Useful flags: --tasks bbox,tag (train a subset) · --device cpu · --imgsz 1024 · --batch 8 · --set KEY=VALUE (override any config knob).


What it learns

auspex works with five annotation types and trains a dedicated model for each one it finds in your data — anywhere from one to all five in a single run. You never pay for types you don't use.

Type What it marks
Bounding box A rectangle around each object
Polygon A free-form closed outline around a shape or region
Keypoint A single point / landmark
Polyline An open multi-point line or path
Tag A whole-image label, with no location

Datasets it reads

The format is auto-detected. A format that can't express a given type simply contributes none of it, and that model is skipped.

Format Point it at bbox polygon polyline keypoint tag
CVAT for Images 1.1 the exported .xml ✓ ✓ ✓ ✓ ✓
COCO the .json ✓ ✓ ✓ ✓ ✓
YOLO data.yaml or the dataset folder ✓ ✓ — — —
Pascal VOC the folder of per-image .xml files ✓ — — — —
LabelMe the folder of per-image .json files ✓ ✓ ✓ ✓ ✓

Anything auspex can't use — COCO RLE masks, degenerate geometry, YOLO pose lines, LabelMe circles — is skipped with a counted warning rather than silently dropped.

Outputs

runs/exp1/
  auspex_model.pt          ← every trained model, in one portable file
  training_summary.json    per-task metrics, which heads trained, partial-run flag
  master_train_log.txt
  <per-task folders with individual checkpoints and CSV training logs>

Prediction writes annotated images plus predictions_cvat.xml and predictions_coco.json — the CVAT file imports straight back into a CVAT task, so a human can correct the machine's work and you can retrain on the result.

One file to move

Every trained sub-model is bundled into a single auspex_model.pt. Copy or version that one file to move the whole model between machines — no per-task folder juggling.

from auspex_infer import AuspexModel      # detection only, no training code needed
AuspexModel("auspex_model.pt").predict("photo.jpg").save("out/")

Signed bundles

A model bundle is executable content, so auspex can sign and verify one with an ed25519 key. Pin the public key of whoever produced a model and anything not signed by them is refused:

auspex keys generate --out mykey            # once — keep mykey, hand out mykey.pub
auspex train ... --sign-key mykey           # producer signs at train time
auspex predict --model m.pt --verify-key mykey.pub   # consumer pins the signer

Verification happens before anything is unpacked or loaded, and requires torch >= 2.6.

Tuning

Every knob is settable via --set KEY=VALUE, an environment variable, or a keyword argument to train(). The common ones:

Knob Default Purpose
--epochs / YOLO_EPOCHS … 50 Training budget (fans out to every head)
--imgsz / INPUT_SIZE 640 Image size; raise it to catch small objects
--device / DEVICE cuda cuda or cpu
--batch / YOLO_BATCH_SIZE 8 Batch for the box + tag heads
--no-amp (AMP on) Force fp32 — fixes NaN validation loss on some newer GPUs
AUSPEX_TASK_SUBPROCESS=1 off Isolate each head in its own process; frees all GPU memory between heads on small cards

An explicit per-key override always beats a convenience shortcut, so train(imgsz=640, POLYGON_SEG_INPUT_SIZE=1024) keeps the polygon head at 1024.

Machine-readable progress

For a UI or orchestrator, training emits stable progress events you can parse instead of scraping log text (set AUSPEX_PROGRESS=0 to silence):

AUSPEX_PLAN heads=bbox,polygon,keypoint,polyline
AUSPEX_HEAD_START head=polygon index=2 total=4
AUSPEX_EPOCH head=polygon epoch=19 total=100
AUSPEX_HEAD_END head=polygon status=ok

Requirements

Python 3.10 / 3.11 / 3.12 on Windows x64, Linux x86_64 / arm64 (manylinux, glibc 2.17+) or macOS Apple Silicon. A CUDA GPU is recommended for training but not required.

These are compiled wheels — native binaries, no readable Python source, and no source distribution. pip needs a wheel matching your platform; Intel Macs are not supported.

torch >= 2.6.0 installs automatically. To pin a specific CUDA build, install torch first and pip will leave it alone:

pip install torch --index-url https://download.pytorch.org/whl/cu121
pip install auspex-engine

Licence

auspex-engine is proprietary software, free to use. You may download, install and use it — including commercially — and the models you train are yours. Redistribution, modification and reverse-engineering are not permitted. The full terms ship inside the wheel (LICENSE).

Third-party components. auspex-engine depends on Ultralytics, which is licensed AGPL-3.0; your use of that component is governed by AGPL-3.0, which prevails over the terms above for that component. Full notices ship in the wheel (THIRD_PARTY_LICENSES).

Release files for auspex-engine 0.3.1

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 auspex-engine 0.3.1
File
auspex_engine-0.3.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
auspex_engine-0.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
auspex_engine-0.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
auspex_engine-0.3.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
auspex_engine-0.3.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
auspex_engine-0.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
auspex_engine-0.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
auspex_engine-0.3.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
auspex_engine-0.3.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
auspex_engine-0.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
auspex_engine-0.3.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
auspex_engine-0.3.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 15.6 MB

Release files / auspex_engine-0.3.1-cp312-cp312-win_amd64.whl

Download URL auspex_engine-0.3.1-cp312-cp312-win_amd64.whl
Size 1.0 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
a40b47bb3d5f86c043ed8a253b03db050f1313f89b2a63f671e7777983559f73
BLAKE2b-256 checksum
How to use checksums
7b8b0a8fbad6b3a6f84c7fea49732382a46aa3415433413cc88f0967ea7a8fff
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 Aug 12, 2026.

Transparency log

Release files / auspex_engine-0.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL auspex_engine-0.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.7 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
dfce8ef5062e44149394c7a46aba3f79ff1bd4e09353ab6d0402f0e71359eb54
BLAKE2b-256 checksum
How to use checksums
acb5801e9092a7b7f0b633f46ad3a07ef3a2ba42ac5cf8bd5731e241781e70de
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 Aug 12, 2026.

Transparency log

Release files / auspex_engine-0.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL auspex_engine-0.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
01b1eae917c680749b72b904349ac9b6893c3ac545ed6883597eb69ca45d7d0b
BLAKE2b-256 checksum
How to use checksums
8af767830872a2e6d2e10366f4a526e1e8022b903eef475c348ba5e11df724a1
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 Aug 12, 2026.

Transparency log

Release files / auspex_engine-0.3.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL auspex_engine-0.3.1-cp312-cp312-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cf2dc67396af34ff15ea27fcee3d9878ee6cbb443387e83e74ecbf60ff0d792b
BLAKE2b-256 checksum
How to use checksums
889a231f8b72795e8574e9b3cf0d0b4c1883a2a3fb23a1930521aa70ce85e555
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 Aug 12, 2026.

Transparency log

Release files / auspex_engine-0.3.1-cp311-cp311-win_amd64.whl

Download URL auspex_engine-0.3.1-cp311-cp311-win_amd64.whl
Size 1.0 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
4ced7e51bd9fe3031f4c8b33ec130e1a68a58178077371156631dfce68f1e770
BLAKE2b-256 checksum
How to use checksums
06fecf438244ff0a0e7bead8a1192aace046fdcda98409af3728e47e234d795b
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 Aug 12, 2026.

Transparency log

Release files / auspex_engine-0.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL auspex_engine-0.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.6 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4b3d4c7ea0af584c007e9073c0343bff9f9b8118231a993920161d1d34ecb716
BLAKE2b-256 checksum
How to use checksums
cd977eda913e442dad1c02fa7ffc81bc16389486a4c469245f816bc2eb6db94d
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 Aug 12, 2026.

Transparency log

Release files / auspex_engine-0.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL auspex_engine-0.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
070552ffc476721a54cb95da18f393d969d9ef1f1b22fb2ed08d929ba4aa9273
BLAKE2b-256 checksum
How to use checksums
97c4b92861b867dd45ea512814ec5309d24de03815dd19b45daf5a126c243784
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 Aug 12, 2026.

Transparency log

Release files / auspex_engine-0.3.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL auspex_engine-0.3.1-cp311-cp311-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
33de0717df4c6b40811900dbb081de15590314758b197c58615fb57e88bea6d2
BLAKE2b-256 checksum
How to use checksums
a130c72335cc64eae6fcfc75f584c5e37eb0ec66a91225716191fdc300826b62
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 Aug 12, 2026.

Transparency log

Release files / auspex_engine-0.3.1-cp310-cp310-win_amd64.whl

Download URL auspex_engine-0.3.1-cp310-cp310-win_amd64.whl
Size 984.8 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
4eb5f82e1a8be032281562fd57c3820e1881fb60be870e98f72260e65d2477b4
BLAKE2b-256 checksum
How to use checksums
d58ad81e0ea0ba207408f12c41f6de4964d78c79ab829548ca79f78e6b7e1605
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 Aug 12, 2026.

Transparency log

Release files / auspex_engine-0.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL auspex_engine-0.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
dc1c8034a572c8abc1eb39c4206680254a94ae20c0e310168920941b5d7f6142
BLAKE2b-256 checksum
How to use checksums
65ec2385f299ac813bd1d940f2f33b490f98f2d7659813619c8cd88c927a2bb0
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 Aug 12, 2026.

Transparency log

Release files / auspex_engine-0.3.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL auspex_engine-0.3.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 1.4 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
dcc1fee6a9bd818b5037bbc9ff417cc61daecafc98db3d9199d01a25fa6f639c
BLAKE2b-256 checksum
How to use checksums
5d0b74aa758207392039b3338511fea93d23d37eb84c91a0dd8c87512d76f0ae
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 Aug 12, 2026.

Transparency log

Release files / auspex_engine-0.3.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL auspex_engine-0.3.1-cp310-cp310-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e995b853c1d8dd36329703ff9f4c4be1f068dff8dca3349ac252063a603298e5
BLAKE2b-256 checksum
How to use checksums
c85449de51f75bc5efa1672b5b8a515da9bd19bbb093f389846cc0348ec9b0e3
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 Aug 12, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.3

12 release files

0.3.2

12 release files

This release

0.3.1 This release

12 release files

0.3.0

12 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