NexuML 0.2.1 establishes the typed configuration and distribution baseline for reproducible ML pipelines. It replaces loosely typed parameter bags with explicit component definitions, ships the framework and reusable library as validated packages, and adds focused execution, data, export, and container capabilities.
Highlights
Typed, reproducible configuration
- Construct immutable Pydantic component definitions directly in Python scenarios.
- Restore persisted YAML through stable registry identities.
- Build optimizers, schedulers, callbacks, strategies, writers, and decision rules through typed importable factories.
- Wrap ordinary one-input/one-output PyTorch modules with
nn_module(...). - Materialize mutable runtime objects explicitly through build contexts instead of constructor reflection.
Packaging and release integrity
- Publish
nexumlandnexuml-libraryas separate Apache-2.0 distributions. - Keep the reusable base library optional through the
nexuml[library]extra. - Validate wheels and source distributions, rebuild wheels from source, and smoke-test isolated installations on Python 3.12, 3.13, and 3.14.
- Publish the exact artifacts produced by CI through trusted publishing rather than rebuilding during release.
- Provide a CUDA 12.8.1 container workflow with explicit version, release-series, and immutable commit tags.
Execution and data
- Add a thin Ray Train backend that reuses the existing
NexuSession.run()lifecycle. - Support Ray Lightning strategies for DDP, FSDP, and DeepSpeed without moving infrastructure configuration into scenarios.
- Export lossless WebDataset shards to S3 for direct use by the DALI loader.
- Add TensorShard window loading with background prefetch and cross-shard shuffling.
Portable artifacts and documentation
- Export self-contained NexuML model packages with dependency metadata and checkpoint provenance for NexuFL.
- Reorganize documentation around getting started, tutorials, guides, concepts, reference, and development.
- Link the package metadata to the NexuFed homepage and document the current package installation path.
Breaking changes
Legacy selector dictionaries and parameter bags are no longer accepted. This includes type/params, strategy_params, writer_params, rule_type, and rule_params. Existing 0.1 scenarios must migrate to concrete typed definitions and factory helpers.
Python 3.12 or newer is required.
Install
Install the framework with the reusable base library:
uv pip install "nexuml[library]==0.2.1"Install only the framework and CLI:
uv pip install nexuml==0.2.1Included changes
- #3 Self-contained NexuFL package export
- #4 TensorShard loading and shuffling
- #6 Slim Ray Train and S3 WebDataset backends
- #7 Typed configuration, packaging, docs, and container baseline
- #9 Remaining typed factory migration
- #10 Package links and homepage updates
- #11 Version 0.2.1 and Docker runner correction
Full changelog: v0.1.0...v0.2.1