Known limitations¶
Honest, current, and distinct from the permanent non-goals.
Status¶
- Pre-alpha (
0.1.0a1), not published. APIs may change without notice, and the package is not on PyPI.
Formats¶
- Generic CSV/TSV and AUCX only. No vendor or instrument formats — Beckman XL-A/XL-I, Optima, OpenAUC and SEDFIT/SEDPHAT files are not read.
- Generic delimited output cannot express
UNKNOWNas distinct fromMISSING. AUCX preserves all four statuses exactly. - No AUCX → CSV direction; it would need a documented lossiness policy.
- Generic-wide requires one shared radius axis, by construction.
Model¶
- One signal unit per observation set. Heterogeneous per-scan signal units are not modelled, which is why more than one declared optical system is reported as an anomaly.
- No sample-to-scan linkage.
ScanMetadatacarries nosample_id, so sample metadata is assessed experiment-wide only. ExperimentMetadata.acquired_atis alwaysNoneon import — the manifest schema has no such field.- No unit conversion anywhere.
optical_systems()includes the instrument's declared system, so a set with a declared scan system and an undeclared instrument renders asabsorbance, unknown.
AUCX¶
- One experiment per archive.
- Read whole into memory, bounded by 512 MiB per member and 2 GiB total.
- No encryption and no signatures — integrity only, never authenticity.
- The size limits are constants, not configurable.
Plotting¶
- Single-panel overlay only: no subplot grids, faceting, residual panels or time-series projections.
- No downsampling for very large scan sets.
- Styling beyond the exposed options is the caller's job.
CLI¶
- No plotting subcommand; plotting stays a Python API.
- One experiment per invocation — no batch or glob input.
--jsonoutput is stable per command but not schema-versioned.
Synthetic data¶
- Curves are one-dimensional in radius with no diffusive broadening: the boundary shifts, nothing spreads.
- Noise is independent Gaussian per point, not an instrument noise model.
- One sample and one cell/channel per generated experiment.
invalid-structureproduces one specific finding pair, not a sweep.
Tooling¶
- Coverage is informational; no
fail_undergate is enforced in CI. - Python 3.13 support rests on CI; local development here uses 3.12.