Installation and use

The package is Python 3.10+ and uses only the standard library. The web demo and downstream R checks are separate optional components.

python3 -m venv .venv
. .venv/bin/activate
pip install .
limitaware --version
python -m unittest discover -s tests

Transform an export

limitaware transform result_export.csv \
  --policy policies/reporting_total.json \
  --out out/run --force

Outputs: canonical.csv, raw_records.csv, one analysis file per (analyte, fraction, method) group, analysis_manifest.json, audit.json, and methods_note.md.

Policies

Policies declare admissible fractions and methods, unit conversions, censoring limit roles, below-LOQ and estimated handling, duplicates, QC, and whether detected results require limits. The tool ranks no policy.

Input profile

The supported profile is the WQP Result/search CSV with the limit inline. One file is sufficient; a separate limits export cannot be joined unambiguously because the result export has no ResultIdentifier.

Demo limits

Uploads are limited to 2 MB, parsed as CSV only, never executed. Each request uses a temporary directory that is deleted before the response is returned. Output archives are kept in memory for at most 10 minutes so the download link works; they are not logged. Do not upload confidential data.