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
anylimit_total— shipped JSON policy; inspect before use.reporting_dissolved— shipped JSON policy; inspect before use.reporting_total— shipped JSON policy; inspect before use.
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.