Skip to main content

CheckMAITE

CheckMAITE is an integration point for AI T&E tooling for computer vision that is based on the maite protocols (see maite documentation).

Description

What is CheckMAITE? CheckMAITE is a Python API which makes testing and evaluation of models and datasets straightforward and reproducible. It can be used to run a wide variety of Model Evaluation and Dataset Analysis investigations for both Object Detection and Image Classification computer vision problems.

It was built as an integration point for all CDAO JATIC tools and has since expanded focus. Our goal is to make T&E easier for analysts!

To learn more please visit our published documentation.

Supported environment

  • OS: Linux x86_64 (CI-tested). macOS x86_64 and arm64 are supported but not CI-tested.
  • Python: 3.10, 3.11, 3.12, and 3.13 with uv or pip. conda supports 3.11, 3.12, and 3.13; the committed conda lock is for 3.13. checkmaite-plugins is <3.12 on all paths.
  • GPU: CPU is the supported baseline. CUDA is optional for PyTorch.
  • Hardware, architectures, and internet access: see System requirements.
  • Container: a batch container is built from the repository Dockerfile for Linux AMD64, with cpu and NVIDIA cuda targets. See Run CheckMAITE in a container.

Limitations and prerequisites

CheckMAITE evaluates models and datasets you supply.

  • Built-in loaders cover COCO, YOLO, and VisDrone object detection, and YOLO image classification.
  • Models and datasets expose an index2label map as dict[int, str]. Default torchvision weights build it from the weights. Custom torchvision weights and ONNX models need an index2label in their JSON config (default key index2label, override with index2label_key), given as a list or a dict; both are normalized to dict[int, str]. num_classes defaults to len(index2label). For object detection, set it when the model head has a different class count (e.g. a background slot). For classification it must equal len(index2label).
  • Where a model's and a dataset's index2label overlap, a shared index must name the same class and a shared class name must use the same index. CheckMAITE does not validate this; mismatches produce silently wrong per-class results.
  • ONNX models need the onnx (or onnx-cuda) extra. ONNX wrappers accept only uint8 images or finite float images in [0, 1] (cast to float32); other integer dtypes raise TypeError. Non-finite or out-of-[0, 1] float images raise ValueError.
  • Object-detection boxes are float32 xyxy arrays of shape (N, 4). See Conventions.
  • This package provides the Python API and the batch container. The web UI is the separate CheckMAITE application (checkmaite-frontend). PDF export needs the reporting extra.
  • CPU is the supported baseline. Machine, OS, and Python bounds are in the supported environment.

Installation

For detailed installation instructions please refer to Setup Guide. To run CheckMAITE as a batch container instead of installing the package, see Run CheckMAITE in a container.

On macOS, brew install libomp is required (dataeval loads LightGBM, which needs libomp.dylib).

Usage

To learn how to get started using CheckMAITE, please visit our quick start guide.

There are also How-to Guides & Tutorials that will help get new users up to speed on the available functionality.

Contributing

The CheckMAITE team welcomes contributions of all forms - questions, documentation, and code contributions. Our contribution strategy is in CONTRIBUTING.md.

Reporting bugs and requesting features

Report bugs and request features as issues, using the bug report or feature request template:

CONTRIBUTING.md describes what to include and how issues are managed.

Security

Report security vulnerabilities privately, as described in SECURITY.md. Do not open an ordinary issue.

Authors and acknowledgment

This project was created for CDAO JATIC and is maintained by OpenTeams with collaborative community support.

CDAO Funding Acknowledgment

This material is based upon work supported by the Chief Digital and Artificial Intelligence Office under Contract No. W519TC-25-9-2041. The views and conclusions contained herein are those of the author(s) and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the U.S. Government.

Metadata

Release files for checkmaite 0.5.0

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

Source distribution (sdist)

Source distribution for checkmaite 0.5.0
File Size Uploaded Provenance
checkmaite-0.5.0.tar.gz 220.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for checkmaite 0.5.0
File Interpreter ABI Platform
checkmaite-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 469.6 kB

Release files / checkmaite-0.5.0.tar.gz

Download URL checkmaite-0.5.0.tar.gz
Size 220.0 kB
Tags Source
SHA-256 checksum
How to use checksums
eed473b35a06c1a0f1e12294200aac43bcbb4c9b4fa5aa7c84177f7a88a89254
BLAKE2b-256 checksum
How to use checksums
dbaf54d36d9c9c9bf0473672f527edac0b41ee7a98a201d15b29f4e7a2aa2308
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.22

Release files / checkmaite-0.5.0-py3-none-any.whl

Download URL checkmaite-0.5.0-py3-none-any.whl
Size 249.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ed8f6d836436054805d391e958388a2c055953cd06c2d83a355b6702ac0dc5fc
BLAKE2b-256 checksum
How to use checksums
e37988bc49797143eafdd0d0d07cb14cd30a6b69e093db48df368b3eb027072c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.22

Security for checkmaite 0.5.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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