Skip to main content

AutonomyFit

AutonomyFit

CI Python License

AutonomyFit is an evidence-aware model-selection and benchmarking CLI for edge AI and autonomous systems. It detects the target hardware, filters models by deployment constraints, builds conservative Pareto frontiers, ranks for an explicit engineering objective, and tells you what is measured, estimated, or still unknown.

Install

pip install autonomyfit

Start here

autonomyfit scan
autonomyfit tasks
autonomyfit models --offline
autonomyfit recommend --task detection --hardware-profile jetson-orin-nx-16gb --objective balanced
autonomyfit compare yolo26n rfdetr-nano --hardware-profile nvidia-t4-16gb --objective accuracy

AutonomyFit 0.5 supports ten extensible task categories:

detection  classification  segmentation  pose  depth
ocr        vlm             anomaly       asr   embedding

The signed continuous registry contains a curated set of practical model families rather than hundreds of weakly sourced entries. Stage 4 adds multi-task YOLO26, RF-DETR, RepViT, MobileSAM, Depth Anything V2, PP-OCRv6, SmolVLM2, EfficientAD, Whisper, MobileCLIP and DINOv2 families alongside the existing evidence model.

Objective-aware ranking

Hard constraints are applied before ranking. Candidates that remain feasible are assigned conservative Pareto layers, then ordered for one explicit objective:

autonomyfit recommend --task classification --objective latency
autonomyfit recommend --task classification --objective throughput
autonomyfit recommend --task classification --objective accuracy
autonomyfit recommend --task detection --objective power
autonomyfit recommend --task segmentation --objective memory
autonomyfit recommend --task depth --objective balanced

balanced is not a hidden hand-tuned score. It normalizes the known latency, throughput, task metric, power and memory quantities within the feasible candidate set and penalizes missing objective coverage. Pareto dominance is only asserted between candidates with the same known objective set, so missing evidence cannot create a dominance claim.

See docs/ranking.md.

Recommendation confidence

Each recommendation carries a numeric 0-100 confidence score plus a compatibility label. The score is the equal-weight mean of six disclosed components:

  • exactness of the hardware match
  • runtime/precision match
  • evidence quality
  • evidence freshness
  • model revision/artifact identity
  • requested-quantity coverage

An unresolved requested constraint caps confidence at 55. JSON output exposes every component, so the number can be audited instead of treated as a black-box label.

Real engineering filters

autonomyfit recommend \
  --task segmentation \
  --hardware-profile apple-m4-pro-24gb \
  --objective memory \
  --max-params-m 30 \
  --license Apache-2.0 \
  --min-confidence 40 \
  --top 5

Other useful controls include --runtime, --precision, --family, --max-memory-gb, --verified-only, and --include-experimental.

Hardware and runtime coverage

First-class profiles now cover practical NVIDIA Jetson and discrete GPUs, Apple Silicon, Intel CPU/GPU/NPU systems, AMD Ryzen AI systems, Qualcomm Snapdragon X Elite and Arm CPU targets such as Raspberry Pi 5.

AutonomyFit distinguishes native runtimes from ONNX Runtime execution-provider capability. TensorRT, OpenVINO and Core ML are native benchmark paths. QNN, XNNPACK, OpenVINO EP, CoreML EP, TensorRT EP, CUDA EP and Vitis AI EP can be detected as provider capabilities, but provider presence is never represented as proof that a specific graph is fully supported.

See docs/hardware.md.

Evidence-aware decisions

Outcome Meaning
VERIFIED_FIT Exact identity-matched local or standardized evidence satisfies the requested constraints.
FEASIBLE Hard compatibility and memory screening pass with no unresolved requested performance constraint.
BENCHMARK_REQUIRED A requested quantity cannot be defended with exact applicable evidence.
CONSTRAINT_FAIL Exact applicable evidence shows a requested threshold is violated.
NO_FIT A hard model/runtime/precision/memory/size feasibility condition fails.

Evidence quality remains explicit: local-measured, standardized, vendor-published, third-party-reproducible, or metadata-estimate. Vendor reference tables remain useful context but do not silently become proof for a different artifact.

See docs/evidence.md.

Compare models

autonomyfit compare \
  yolo26n rfdetr-nano rfdetr-small \
  --hardware-profile nvidia-t4-16gb \
  --objective balanced \
  --json

Comparison uses the same feasibility, Pareto and confidence engine as recommend. JSON includes objective rank, Pareto layer, dominance relationships, hard-constraint results, measured data, estimates, unknown quantities and the benchmark that would most reduce uncertainty.

Local benchmarking

pip install 'autonomyfit[benchmark]'
autonomyfit benchmark-backends
autonomyfit benchmark model.onnx --model-id my-model --model-revision COMMIT -o result.json
autonomyfit benchmark-inspect result.json
autonomyfit benchmark-import result.json

ONNX Runtime can target an installed provider explicitly, for example:

autonomyfit benchmark model.onnx --backend onnxruntime --provider QNNExecutionProvider --model-id my-model
autonomyfit benchmark model.onnx --backend onnxruntime --provider XNNPACKExecutionProvider --model-id my-model

A provider being installed does not guarantee full operator coverage. The benchmark is the check.

See docs/benchmarking.md.

Registry design and package size

The PyPI package remains the decision engine. Model coverage lives in a separately versioned signed registry, with a compact bundled fallback for offline use. Normal CLI use respects the existing verified cache/refresh policy rather than downloading the registry on every invocation.

autonomyfit registry status
autonomyfit registry update
autonomyfit search mobileclip
autonomyfit info ppocrv6-tiny

Limitations

  • A hardware/runtime capability does not establish model operator coverage.
  • Most newly added families currently have source-verified metadata rather than exact target-machine benchmarks.
  • Cross-family accuracy ranking is only meaningful when the task metric is comparable; entries without a comparable metric remain unknown for that objective.
  • Memory screens derived from parameters are estimates and are labelled as such.
  • Generic process RSS is not accelerator memory.
  • Power scope remains platform-specific unless measured by an applicable standardized method.
  • Robotic/VLA policies are intentionally not yet a canonical task; the task registry is structured so they can be added without redesigning the engine.

Development

git clone https://github.com/sylvesterkaczmarek/autonomyfit.git
cd autonomyfit
python -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
make test
make evidence-validate
make smoke

CI covers Python 3.10 through 3.13, registry/evidence validation, Ruff, the full test suite, wheel/sdist build, twine check, installed-wheel smoke tests and signed-registry behavior.

Cite

Kaczmarek, S. (2026). AutonomyFit. GitHub.

License

MIT. See LICENSE.

© Sylvester Kaczmarek · https://www.sylvesterkaczmarek.com

Download files

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

Source Distribution

autonomyfit-0.5.0.tar.gz (82.8 kB view details)

Uploaded Source

Built Distribution

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

autonomyfit-0.5.0-py3-none-any.whl (74.8 kB view details)

Uploaded Python 3

File details

Details for the file autonomyfit-0.5.0.tar.gz.

File metadata

  • Download URL: autonomyfit-0.5.0.tar.gz
  • Upload date:
  • Size: 82.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for autonomyfit-0.5.0.tar.gz
Algorithm Hash digest
SHA256 1d7df1959664b419722e64bbeb7c424b5b731a3c9830dbe283dd3571fc0037fc
MD5 bd0fff912d691e57a92f40a76b03df41
BLAKE2b-256 5138977b21c3cf992003fd34511bea1e08bc70d1a82e67cb6b0dcb9cdced03db

See more details on using hashes here.

Provenance

The following attestation bundles were made for autonomyfit-0.5.0.tar.gz:

Publisher: release.yml on sylvesterkaczmarek/autonomyfit

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

File details

Details for the file autonomyfit-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: autonomyfit-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 74.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for autonomyfit-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6295bfd7d585f23070d4abd9b2892e0302969d5be24032cec227e444205e60ac
MD5 98b4d734ebb0af07e2a68fc1e32a6df4
BLAKE2b-256 32cd1d4e3ace48532962f2662e4e261f48ded4102a8aa0b97b0caca5928ddf76

See more details on using hashes here.

Provenance

The following attestation bundles were made for autonomyfit-0.5.0-py3-none-any.whl:

Publisher: release.yml on sylvesterkaczmarek/autonomyfit

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 Sentry Error logging StatusPage Status page