What's Changed
v1.0.0 upgrades MultiMIL to work with the modern scverse stack (Python ≥3.12, scvi-tools ≥1.4, numpy ≥2.0, anndata ≥0.12) and switches to uv for reproducible dependency management.
Breaking changes:
- train() and load_query_data(): use_gpu parameter removed; use accelerator and devices instead (Lightning 2.x convention). Default behaviour (accelerator="auto") is unchanged for most users.
- requires-python raised to >=3.12.
Bug fixes:
- GroupDataSplitter now splits at the sample level, guaranteeing complete bags in every validation split (previously cell-level splitting could produce empty validation sets).
- Single-layer regressor head used the wrong input dimension when sample covariates were present.
- 1-sample edge case in get_model_output no longer raises a ValueError.
Other:
- uv.lock committed for reproducible installs; PyTorch index automatically selects CPU (macOS) or CUDA 12.1 (Linux).
- Tutorials re-run and verified against the new stack (classification: 91–96% accuracy; regression: R² up to 0.41).