Skip to content

NexuML 0.2.1 - Typed Configuration Baseline

Latest

Choose a tag to compare

@Jearde Jearde released this 03 Sep 21:49
bbd1b2c

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 nexuml and nexuml-library as 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.1

Included 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