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.
Release files for iaa-kit 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iaa_kit-0.1.2.tar.gz | 10.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iaa_kit-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.0 kB
Release files / iaa_kit-0.1.2.tar.gz
| Download URL | iaa_kit-0.1.2.tar.gz |
|---|---|
| Size | 10.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f777048576734e4fa225d6d8d21ed2c59efece728e9a52424a6cc34b2bc9887b
|
|
BLAKE2b-256 checksum How to use checksums |
63fcd263310b279aea3639b2e2dbe426e268ee427ba5caa8cabcff5522d979dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / iaa_kit-0.1.2-py3-none-any.whl
| Download URL | iaa_kit-0.1.2-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
315f7fe2f63606f5e55c3201d9f064b1b2d10967889af71af5f797ff4e70e35f
|
|
BLAKE2b-256 checksum How to use checksums |
4e8afc3d1262e736755d2aebfe04ef72214738699339d2d3a7663f7fc07430e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|