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
uvor pip. conda supports 3.11, 3.12, and 3.13; the committed conda lock is for 3.13.checkmaite-pluginsis<3.12on 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
Dockerfilefor Linux AMD64, withcpuand NVIDIAcudatargets. 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
index2labelmap asdict[int, str]. Default torchvision weights build it from the weights. Custom torchvision weights and ONNX models need anindex2labelin their JSON config (default keyindex2label, override withindex2label_key), given as a list or a dict; both are normalized todict[int, str].num_classesdefaults tolen(index2label). For object detection, set it when the model head has a different class count (e.g. a background slot). For classification it must equallen(index2label). - Where a model's and a dataset's
index2labeloverlap, 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(oronnx-cuda) extra. ONNX wrappers accept onlyuint8images or finite float images in[0, 1](cast tofloat32); other integer dtypes raiseTypeError. Non-finite or out-of-[0, 1]float images raiseValueError. - Object-detection boxes are
float32xyxyarrays 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 thereportingextra. - 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:
- JATIC users: the GitLab issue board (bug report, feature request).
- Everyone else: the GitHub issue tracker (bug report, feature request).
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.6.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| checkmaite-0.6.1.tar.gz | 229.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| checkmaite-0.6.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 489.1 kB
Release files / checkmaite-0.6.1.tar.gz
| Download URL | checkmaite-0.6.1.tar.gz |
|---|---|
| Size | 229.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
153f5d37056b62ef1410d5ae7ec1e9d9568967e4d75954cfe871e8b0e2a4fc4b
|
|
BLAKE2b-256 checksum How to use checksums |
573be0faf8e1d39c31043c111b517cf09e039add77abeb912aa2c2a29dde0993
|
| 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.6.1-py3-none-any.whl
| Download URL | checkmaite-0.6.1-py3-none-any.whl |
|---|---|
| Size | 259.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
accb91b03a34997037464823cbd5bdf825d28a60fb4403fe5d4bf56f6046e0b8
|
|
BLAKE2b-256 checksum How to use checksums |
86a2eee44e0fcf27a7ab370a70008cecf0b88e4f8781d7cecf3d79f484b7de5c
|
| 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.6.1
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.