High-performance composable JAX library
Project description
xtrax
A set of composable building blocks for JAX/Equinox training loops — engine + trainer orchestration, safety-checked steps, axis tiling strategies, inference-time sparsification, distributed/sharding helpers, streaming output callbacks, and orbax checkpointing — extracted from the author's research code.
Status
xtrax is alpha, experimental software built primarily for the author's personal research use. APIs may change without notice between releases; no backward-compatibility guarantees pre-1.0. Issues and pull requests are welcome, but support is best-effort — the project exists first to serve the author's own JAX training workflows.
Why xtrax?
- Composable architecture: Modular training pipeline designed for flexibility and extensibility
- Distributed training: Built-in support for multi-device and distributed JAX training
- Sparse operations: Efficient sparse model support with automatic sparsification
- Tiling and batching: Advanced tiling strategies for complex distributed scenarios
- Production-ready: Designed for real-world training workflows with checkpointing and safety features
Install
pip install xtrax
Requires Python 3.13+.
Quick Start
from xtrax import Trainer, Engine
# Create a simple training configuration
trainer = Trainer()
# Create an engine for distributed execution
engine = Engine()
# Define your loss and training logic
trainer.train(engine=engine)
For more details, see the documentation.
Features
Streaming outputs
Use BoundedCallbackHandler to capture and stream training outputs during execution. Integrate custom callbacks to monitor metrics and log results in real time.
Checkpointing
Save and restore training state with orbax checkpoints via save_checkpoint() and load_checkpoint(). Ensures resumable training across interruptions.
Documentation
Full API documentation and tutorials are available at https://xtrax.readthedocs.io.
License
Licensed under the Apache License 2.0.
Citation
If you use xtrax in research, please cite it:
@software{xtrax,
title = {xtrax: High-Performance Composable JAX Training},
author = {Russo, Marielle},
year = {2026},
url = {https://github.com/maraxen/xtrax}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xtrax-0.2.1.tar.gz.
File metadata
- Download URL: xtrax-0.2.1.tar.gz
- Upload date:
- Size: 320.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b595276a07a7f867b5527b470d874dc2ac0786e819e7abb6496f6ac1ab5b3c56
|
|
| MD5 |
8dd31b3b3c5333a1312f9bb71defb154
|
|
| BLAKE2b-256 |
d4d73fcf723888705af3a50ab4fee38a49363f768875d5dd640c0ce58023b547
|
Provenance
The following attestation bundles were made for xtrax-0.2.1.tar.gz:
Publisher:
publish.yml on maraxen/xtrax
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xtrax-0.2.1.tar.gz -
Subject digest:
b595276a07a7f867b5527b470d874dc2ac0786e819e7abb6496f6ac1ab5b3c56 - Sigstore transparency entry: 1818330480
- Sigstore integration time:
-
Permalink:
maraxen/xtrax@7e16694f5d262967d0fbfb350af9c20306ffc88b -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/maraxen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7e16694f5d262967d0fbfb350af9c20306ffc88b -
Trigger Event:
push
-
Statement type:
File details
Details for the file xtrax-0.2.1-py3-none-any.whl.
File metadata
- Download URL: xtrax-0.2.1-py3-none-any.whl
- Upload date:
- Size: 58.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93f6da4f39a85d02307fb3240e7c3292c419de24ca083a1151de036b1c7de1c6
|
|
| MD5 |
54183e4cc882d6874ef1a0947afb2a02
|
|
| BLAKE2b-256 |
f238cc6c590c8885c1ccca01a7e7dacf1441405c5457859da858bed016dd5da4
|
Provenance
The following attestation bundles were made for xtrax-0.2.1-py3-none-any.whl:
Publisher:
publish.yml on maraxen/xtrax
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xtrax-0.2.1-py3-none-any.whl -
Subject digest:
93f6da4f39a85d02307fb3240e7c3292c419de24ca083a1151de036b1c7de1c6 - Sigstore transparency entry: 1818330522
- Sigstore integration time:
-
Permalink:
maraxen/xtrax@7e16694f5d262967d0fbfb350af9c20306ffc88b -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/maraxen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7e16694f5d262967d0fbfb350af9c20306ffc88b -
Trigger Event:
push
-
Statement type: