Repository navigation
v0.1.6
substrax adoption, slice 2
No library code seeds its own randomness: every constructor and factory takes rngs, hand-drawn parameter keys come through substrax.rng.key_from, splits and shuffled views draw from config.seed or the module's stream and refuse with neither, and tests/test_no_literal_seeds.py keeps seed literals out. Randomness that belongs to the record follows the record's key (the Solo doublet scorer, the cell annotator, the Langevin thermostat), VAENormalizer.batch_elbo_loss splits one key per cell, and every optimizer (MiniBatchConfig, TrainingConfig, JointTrainingConfig) is a substrax.optim.OptimizerConfig built by substrax. Requires substrax 0.1.9, datarax 0.1.11, avitai-artifex 0.1.9, opifex 0.2.7 and calibrax 0.1.6.
Full Changelog: v0.1.5...v0.1.6