Skip to content

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 UNKNOWN as distinct from MISSING. 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. ScanMetadata carries no sample_id, so sample metadata is assessed experiment-wide only.
  • ExperimentMetadata.acquired_at is always None on 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 as absorbance, 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.
  • --json output 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-structure produces one specific finding pair, not a sweep.

Tooling

  • Coverage is informational; no fail_under gate is enforced in CI.
  • Python 3.13 support rests on CI; local development here uses 3.12.

Next step