iaa-kit
Compute inter-annotator agreement for labeling, review, and rubric-calibration workflows.
iaa-kit is for annotation leads, evaluation engineers, and data scientists who need inspectable agreement metrics without a statistics service. It combines a pure-NumPy implementation of Krippendorff alpha, Cohen and weighted kappa, Fleiss kappa, Gwet AC1/AC2, prevalence and bias diagnostics, partial credit, missing-data handling, and deterministic bootstrap confidence intervals.
Inspectable Output
The Python API returns the Krippendorff alpha estimate and seeded bootstrap interval as a tuple. The installed iaa-kit analyze CLI writes JSON with item and rater counts, scale type, Krippendorff alpha with a seeded 95% interval, Fleiss kappa, and two-rater Cohen/weighted kappa values when applicable. The Python API also exposes the Gwet, prevalence, bias, and partial-credit functions.
Runtime Boundary
Metrics run entirely in the local Python process over caller-provided arrays or a local JSON rating matrix. NumPy is the only runtime dependency. There are no network requests, model calls, telemetry hooks, or uploaded annotations.
Install
Python library and CLI:
python -m pip install iaa-kit==0.1.2
Python API Quickstart
python - <<'PY'
from iaa_kit import krippendorff_alpha
alpha, low, high = krippendorff_alpha(
[[1, 1, 2], [2, 2, 2]],
scale="ordinal",
n_boot=200,
seed=7,
)
print({"alpha": alpha, "ci95": [low, high]})
PY
CLI Quickstart
iaa-kit analyze \
--input examples/ratings_matrix.json \
--scale nominal \
--bootstrap-samples 200 \
--seed 7 \
--out agreement.json
Documentation
- Metric selection:
docs/when-to-use-which-metric.md - Ordinal versus nominal labels:
docs/ordinal-vs-nominal.md - Bootstrap CI tutorial:
docs/bootstrap-ci-tutorial.md
Release Status
Registry and artifact status verified July 13, 2026: version 0.1.2 is published on PyPI and tagged v0.1.2 in the public repository. The wheel includes the Python API and the iaa-kit analyze entry point. The project is alpha software. No annotation-volume, adoption, or benchmark claim is made.
Limits
Agreement statistics do not establish label validity or reviewer correctness. The package does not recruit reviewers, host annotation data, or include real annotation datasets; bundled inputs are synthetic.
Next Action
Run the Python API or JSON CLI on a representative rating matrix with the correct scale, then document the metric and threshold rationale before using the result as a gate.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iaa_kit-0.1.2.tar.gz.
File metadata
- Download URL: iaa_kit-0.1.2.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f777048576734e4fa225d6d8d21ed2c59efece728e9a52424a6cc34b2bc9887b
|
|
| MD5 |
d683a2fa644a96b50e756e06bd3ea4b4
|
|
| BLAKE2b-256 |
63fcd263310b279aea3639b2e2dbe426e268ee427ba5caa8cabcff5522d979dd
|
File details
Details for the file iaa_kit-0.1.2-py3-none-any.whl.
File metadata
- Download URL: iaa_kit-0.1.2-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
315f7fe2f63606f5e55c3201d9f064b1b2d10967889af71af5f797ff4e70e35f
|
|
| MD5 |
e3e2881a09cad284e135b01645d735de
|
|
| BLAKE2b-256 |
4e8afc3d1262e736755d2aebfe04ef72214738699339d2d3a7663f7fc07430e2
|