Extensible offline reinforcement learning framework built with JAX, Flax, and Optax
Project description
ORLax - Offline Reinforcement Learning with JAX
ORLax is an extensible, research-friendly offline reinforcement learning framework built with JAX, Flax, and Optax. It provides clean, typed APIs optimized for editor autocompletion, modular algorithm implementations, and production-ready features like WandB logging and GPU acceleration.
Features
- 🔥 Modern JAX Stack: Built on JAX, Flax, and Optax for high-performance GPU/TPU training
- 📦 Modular Design: Clean separation of concerns with pluggable algorithms, models, and datasets
- 🎯 Type-Safe: Comprehensive type hints with dataclasses instead of dict-heavy patterns
- 📊 Built-in Logging: WandB integration with terminal progress bars (tqdm)
- 🚀 Production-Ready: Checkpointing, multi-device training, and reproducible experiments
- 🧪 Research-Friendly: Clear interfaces, and easy extensibility
Algorithms
- BC (Behavioral Cloning) - Supervised learning from expert demonstrations
- CQL (Conservative Q-Learning) - Conservative offline RL with Q-value penalties
- IQL (Implicit Q-Learning) - Expectile regression-based offline RL
Installation
Using uv (Recommended)
# Clone the repository
git clone https://github.com/sql-hkr/orlax.git
cd orlax
# Install with uv
uv sync
Using pip
# Clone the repository
git clone https://github.com/sql-hkr/orlax.git
cd orlax
# Install in editable mode
pip install -e .
GPU Support
For CUDA support, install JAX with CUDA:
# For CUDA 12
pip install --upgrade "jax[cuda12]"
Quick Start
Training
# Train IQL on Hopper-Medium
uv run orlax-train --config configs/iql_hopper.toml
Citation
If you use ORLax in your research, please cite:
@software{orlax2025,
title = {ORLax: Offline Reinforcement Learning with JAX},
author = {sql-hkr},
year = {2025},
url = {https://github.com/sql-hkr/orlax}
}
Acknowledgments
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feat/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feat/amazing-feature) - Open a Pull Request
Contact
- Author: sql-hkr
- Email: sql.hkr@gmail.com
- GitHub: @sql-hkr
- Issues: GitHub Issues
Note: This software is under active development. API stability is not guaranteed until version 1.0.0.
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 orlax-0.1.1.tar.gz.
File metadata
- Download URL: orlax-0.1.1.tar.gz
- Upload date:
- Size: 23.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5231a07c6162a5d4c3ec198f147c0ff2b6a52d88680ad1c10f96182ad865e875
|
|
| MD5 |
89e2a4818a8c5838d00bb33fa43b49a8
|
|
| BLAKE2b-256 |
e8f9481bde3a77eb0917e69beb9b5630f4bacebd14e3960771e23a17e49f4ab6
|
Provenance
The following attestation bundles were made for orlax-0.1.1.tar.gz:
Publisher:
pypi-publish.yml on sql-hkr/orlax
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
orlax-0.1.1.tar.gz -
Subject digest:
5231a07c6162a5d4c3ec198f147c0ff2b6a52d88680ad1c10f96182ad865e875 - Sigstore transparency entry: 697273559
- Sigstore integration time:
-
Permalink:
sql-hkr/orlax@1794332b98101ca59ef371523bf26af8f0c43edb -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/sql-hkr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@1794332b98101ca59ef371523bf26af8f0c43edb -
Trigger Event:
release
-
Statement type:
File details
Details for the file orlax-0.1.1-py3-none-any.whl.
File metadata
- Download URL: orlax-0.1.1-py3-none-any.whl
- Upload date:
- Size: 36.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05dde4d949ee3a52ac61e68e91b83c6c2c372734398b4cde5a99c530009ed0ac
|
|
| MD5 |
3a78b6157e75b6ad079c8f79fbc777e0
|
|
| BLAKE2b-256 |
30e4a0d7da74f08e4e716b52561fe9f263617b68593a48975d61d2e0c3055a6b
|
Provenance
The following attestation bundles were made for orlax-0.1.1-py3-none-any.whl:
Publisher:
pypi-publish.yml on sql-hkr/orlax
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
orlax-0.1.1-py3-none-any.whl -
Subject digest:
05dde4d949ee3a52ac61e68e91b83c6c2c372734398b4cde5a99c530009ed0ac - Sigstore transparency entry: 697273587
- Sigstore integration time:
-
Permalink:
sql-hkr/orlax@1794332b98101ca59ef371523bf26af8f0c43edb -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/sql-hkr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@1794332b98101ca59ef371523bf26af8f0c43edb -
Trigger Event:
release
-
Statement type: