Skip to main content

Rust-accelerated reinforcement learning — 142x faster GAE, 53x faster rollouts. The Polars of RL.

Project description

rlox logo

rlox

Rust-accelerated reinforcement learning — the Polars architecture pattern applied to RL.

Documentation crates.io PyPI CI DeepWiki License Downloads

Documentation  |  Learning Path  |  RL Introduction  |  22 Algorithms  |  Examples

New to Reinforcement Learning? Start with our RL Introduction to learn the fundamentals, then follow the Learning Path from beginner to production.

Why rlox?

RL frameworks like Stable-Baselines3 and TorchRL do everything in Python — environment stepping, buffer storage, advantage computation. This works, but Python interpreter overhead becomes the bottleneck long before your GPU does.

rlox applies the Polars architecture pattern to RL: a Rust data plane handles the compute-heavy, latency-sensitive work (env stepping, buffers, GAE) while a Python control plane stays in charge of training logic, configs, and neural networks via PyTorch. The two connect through PyO3 with zero-copy where possible.

The result: 3-50x faster than SB3/TorchRL on data-plane operations, with the same Python training API you're used to.

Quick Start

Prerequisites

  • Rust 1.75+ -- install via rustup:
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
  • Python 3.10-3.13
  • Optional: pip install gymnasium[mujoco] for MuJoCo environments
  • Optional: pip install pettingzoo for multi-agent environments

Installation

pip install rlox

Or build from source:

python3 -m venv .venv && source .venv/bin/activate
pip install maturin numpy gymnasium torch
maturin develop --release

Train PPO on CartPole in 3 lines:

from rlox import Trainer

trainer = Trainer("ppo", env="CartPole-v1", seed=42)
metrics = trainer.train(total_timesteps=50_000)
print(f"Mean reward: {metrics['mean_reward']:.1f}")

Train SAC on Pendulum:

from rlox import Trainer

trainer = Trainer("sac", env="Pendulum-v1", config={"learning_starts": 500})
metrics = trainer.train(total_timesteps=20_000)

Note: Per-algorithm trainers (PPOTrainer, SACTrainer, etc.) are deprecated. Use the unified Trainer("algo", ...) API instead.

Config-driven training (YAML):

python -m rlox train --config config.yaml
from rlox import TrainingConfig, train_from_config

config = TrainingConfig.from_yaml("config.yaml")
metrics = train_from_config(config)

Use Rust primitives directly:

import rlox

# 140x faster GAE than Python loops
advantages, returns = rlox.compute_gae(rewards, values, dones, last_value, gamma=0.99, lam=0.95)

# 35x faster GRPO advantages
advantages = rlox.compute_batch_group_advantages(rewards, group_size=4)

# Parallel env stepping (2.7M steps/s at 512 envs)
env = rlox.VecEnv(n=256, seed=42, env_id="CartPole-v1")
result = env.step_all(actions)

More examples in examples/ — PPO, SAC, GRPO custom rewards, fast GAE, VecEnv throughput.

Documentation

Resource Link
Full Documentation wojciechkpl.github.io/rlox
Getting Started Tutorial
Python API Guide User Guide
Examples Code Examples
Rust API cargo doc
Migrating from SB3 Migration Guide
API Reference Autodoc

Architecture

┌──────────────────────────────────────────────────┐
│  Python (control plane)                          │
│  PPO, SAC, DQN, TD3, A2C, MAPPO, DreamerV3,     │
│  IMPALA, GRPO, DPO                               │
│  GymVecEnv, VecNormalize, callbacks,             │
│  YAML/TOML configs, trainers, checkpointing,     │
│  diagnostics dashboard                           │
│  vLLM/TGI/SGLang backends, multi-GPU (DDP)       │
├────────────── PyO3 boundary ─────────────────────┤
│  Rust (data plane)                               │
│  rlox-core:   envs (CartPole, Pendulum,           │
│               NonStationaryCartPole),            │
│               Rayon parallel stepping,           │
│               buffers (ring, mmap, priority),    │
│               GAE, V-trace, GRPO, pipeline,      │
│               EMA stats, CUSUM change detection  │
│  rlox-nn:     RL algorithm traits                │
│  rlox-burn:   Burn backend (NdArray)             │
│  rlox-candle: Candle backend (CPU)               │
│  rlox-python: PyO3 bindings                      │
└──────────────────────────────────────────────────┘

Multi-crate workspace (crates.io):

  • rlox-core — pure Rust: environments, buffers (ring, mmap, priority), GAE, V-trace, GRPO, pipeline
  • rlox-nn — RL algorithm traits (ActorCritic, QFunction, StochasticPolicy, etc.)
  • rlox-burn — Burn Autodiff<NdArray> implementations
  • rlox-candle — Candle CPU implementations
  • rlox-python — PyO3 bindings exposing rlox-core to Python

For a deep-dive into the architecture, module relationships, and API reference, see the DeepWiki.

Benchmark Highlights

Measured 2026-04-08 on Apple M3 Pro (ARM, 12-core), CPU only, against stable-baselines3 2.7.1 and torchrl 0.11.1. All results statistically significant (bootstrap 95% CI lower bound > 1.0).

Component vs NumPy / SB3 vs TorchRL Details
GAE (32K steps) 135x vs NumPy 1,588x docs/benchmark/gae.md
Replay buffer push (obs_dim=4, 10K) 4.6x vs SB3 70x docs/benchmark/buffer-ops.md
Replay buffer sample (batch=32) 9.7x vs SB3 9x docs/benchmark/buffer-ops.md
E2E rollout (256×2048) 3.1x vs SB3 42x docs/benchmark/e2e-rollout.md
GRPO advantages (64×8) 41x vs NumPy 42x vs PyTorch docs/benchmark/llm-ops.md
Tokenwise KL (seq=128) 5x vs NumPy 9x vs PyTorch docs/benchmark/llm-ops.md

Full methodology, raw data, and reproducibility instructions: docs/benchmark/

Performance

Key numbers at a glance (Apple M3 Pro, CPU only, median of 100–200 timed iterations):

Operation rlox Baseline Speedup
GAE (32K steps) 69 µs 9,376 µs (NumPy loop) 135x
Replay buffer push (10K, obs_dim=4) 3.2 ms 14.7 ms (SB3) 4.6x
Replay buffer sample (batch=32) 2.0 µs 19.3 µs (SB3) 9.7x
E2E rollout (256×2048 trans) 669 ms 2,057 ms (SB3) 3.1x
GRPO advantages (64×8 groups) 7.8 µs 318 µs (NumPy) 41x
Tokenwise KL (seq=128) 0.3 µs 3.0 µs (PyTorch) 9x

Convergence (rlox vs SB3)

Same hyperparameters (rl-zoo3 defaults), same evaluation harness, 5 seeds per cell, IQM + bootstrap 95% CI per Agarwal et al. 2021. 10 cells, convergence parity on every one.

Algo Environment rlox IQM rlox CI SB3 IQM SB3 CI
PPO CartPole-v1 450.8 [440.5, 454.2] 438.2 [389.7, 500.0]
PPO Acrobot-v1 -86.0 [-89.7, -83.0] -83.7 [-97.0, -77.4]
PPO Hopper-v4 932.8 [706.0, 2190.4] 1173.1 [719.4, 1578.8]
PPO HalfCheetah-v4 1854.6 [1381.3, 2598.8] 1568.7 [1516.9, 3094.3]
SAC Pendulum-v1 -152.1 [-173.9, -129.5]
SAC HalfCheetah-v4 10871.9 [10294.9, 11293.1] 10795.5 [10499.7, 11542.2]
TD3 Pendulum-v1 -149.1 [-171.7, -134.2]
TD3 HalfCheetah-v4 10880.1 [7584.4, 11299.1]
DQN CartPole-v1 500.0 [195.8, 500.0] 500.0 [217.6, 500.0]
A2C CartPole-v1 417.8 [82.5, 500.0] 491.6 [167.5, 500.0]

SAC HalfCheetah: rlox 10872 vs SB3 10796 — statistically identical, both beat the zoo reference (9656) by ~12%. TD3 HalfCheetah: rlox 10880 beats the zoo reference (9709) by 12%. DQN CartPole: both frameworks hit 500 (perfect). A2C CartPole: rlox 418 vs SB3 492, CIs overlap. The PPO MuJoCo "gap" vs zoo references is a protocol-and-version artifact (v4 vs v3, different eval protocol), not a framework deficit — both rlox and SB3 show the same gap when measured in the same harness.

SPS Comparison

Full convergence results, learning curves, and performance profiles: docs/benchmark/convergence-results.md

Features

  • 22 Algorithms: PPO, SAC, DQN, TD3, A2C, VPG, TRPO, MAPPO, DreamerV3, IMPALA, and more (+ GRPO, DPO for LLM)
  • Trainers: Each algorithm has a high-level Trainer with train(), save(), from_checkpoint(), predict()
  • Environments: Gymnasium-compatible, Rayon-parallel VecEnv, CartPole and Pendulum-v1 built-in
  • Visual RL wrappers: FrameStack, ImagePreprocess, AtariWrapper, DMControlWrapper for pixel-based RL
  • Language RL wrappers: LanguageWrapper, GoalConditionedWrapper for language-grounded tasks
  • Plugin ecosystem: ENV_REGISTRY, BUFFER_REGISTRY, REWARD_REGISTRY, discover_plugins for extensibility
  • Model zoo: ModelZoo.register, ModelZoo.load for sharing and reusing pretrained agents
  • VecNormalize: Obs/reward normalization at the environment boundary (SB3-compatible)
  • Buffers: ring, mmap, priority replay — all in Rust with zero-copy Python access
  • Config-driven training: YAML/TOML configs via TrainingConfig and python -m rlox train --config config.yaml
  • Diagnostics dashboard: TerminalDashboard, HTMLReport, entropy/KL/gradient monitoring
  • LLM post-training: GRPO, DPO, token KL, sequence packing, vLLM/TGI/SGLang backends
  • Cloud deploy: Dockerfile generator, Kubernetes manifest generator, SageMaker integration
  • Distributed: pipeline parallelism (crossbeam), gRPC workers, multi-GPU (DDP)
  • Evaluation: Trainer.evaluate(), Trainer.enjoy(), VideoRecordingCallback, score normalization
  • Non-stationary RL: EMA running stats, CUSUM change-point detection, sliding window replay, dynamic regret metrics
  • Asymmetric actor-critic: AsymmetricPolicy for privileged critic observations (sim-to-real)
  • Production: callbacks, checkpointing, eval toolkit (IQM, bootstrap CI, performance profiles)
  • NN backends: Burn (NdArray) and Candle (CPU) for pure-Rust inference, PyTorch for training
  • 444 Rust tests, ~1094 Python tests — comprehensive coverage

Tutorials & Documentation

Guide Description
Getting Started Installation, first training run, basic API
Custom Rewards & Training Loops Reward shaping, GRPO reward functions, custom algorithms
Python Guide Python API reference and patterns
Rust Guide Rust crate architecture and extending in Rust
Math Reference GAE, V-trace, GRPO, DPO derivations
Benchmark Details Full methodology, per-benchmark analysis, reproducibility
DeepWiki Auto-generated architecture docs and API reference

Running Tests

# Rust tests (444 tests across all crates)
cargo test --workspace

# Python tests (~1094 tests, after maturin develop)
pip install -e ".[all]"
pytest tests/python/ -q

# Quick smoke test (skip slow tests)
pytest tests/python/ -m "not slow" -q

# Single crate
cargo test --package rlox-core

# All tests (Rust + Python)
./scripts/test.sh

# Full benchmark suite (rlox vs TorchRL vs SB3)
.venv/bin/python benchmarks/run_all.py

Project Layout

crates/
  rlox-core/       Pure Rust: envs, buffers (ring, mmap, priority), GAE,
                   V-trace, GRPO, pipeline (crossbeam), sequence packing
  rlox-nn/         RL algorithm traits (ActorCritic, QFunction, etc.)
  rlox-burn/       Burn backend (Autodiff<NdArray>)
  rlox-candle/     Candle backend (CPU)
  rlox-python/     PyO3 bindings
  rlox-bench/      Criterion benchmarks (env stepping, NN backends)
python/rlox/
  algorithms/      PPO, SAC, DQN, TD3, A2C, GRPO, DPO, MAPPO, DreamerV3, IMPALA
  distributed/     Pipeline, vLLM/TGI/SGLang backends, multi-GPU (DDP)
  llm/             LLM environment, reward model serving
  *.py             Collectors, configs, callbacks, policies, trainers,
                   evaluation toolkit, diagnostics, checkpointing
benchmarks/        Three-framework benchmark suite + convergence tests
tests/python/      Python integration & benchmark TDD tests
docs/              Guides, tutorials, benchmark methodology

Citation

If you use rlox in your research, please cite:

@software{kowalinski2026rlox,
  author       = {Kowalinski, Wojciech},
  title        = {rlox: Rust-Accelerated Reinforcement Learning},
  year         = {2026},
  url          = {https://github.com/wojciechkpl/rlox},
  version      = {1.0.0},
  license      = {MIT OR Apache-2.0}
}

License

Dual-licensed under MIT or Apache 2.0, at your option.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rlox-1.2.0.tar.gz (376.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

rlox-1.2.0-cp313-cp313-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.13Windows x86-64

rlox-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rlox-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

rlox-1.2.0-cp313-cp313-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rlox-1.2.0-cp313-cp313-macosx_10_12_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

rlox-1.2.0-cp312-cp312-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.12Windows x86-64

rlox-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rlox-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

rlox-1.2.0-cp312-cp312-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rlox-1.2.0-cp312-cp312-macosx_10_12_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

rlox-1.2.0-cp311-cp311-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.11Windows x86-64

rlox-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rlox-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

rlox-1.2.0-cp311-cp311-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rlox-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rlox-1.2.0-cp310-cp310-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.10Windows x86-64

rlox-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rlox-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

rlox-1.2.0-cp310-cp310-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

rlox-1.2.0-cp310-cp310-macosx_10_12_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file rlox-1.2.0.tar.gz.

File metadata

  • Download URL: rlox-1.2.0.tar.gz
  • Upload date:
  • Size: 376.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rlox-1.2.0.tar.gz
Algorithm Hash digest
SHA256 97aeee67c6fabe3273aaeb4880e8d0526ce5fc30923d953216787ff11f0c6bd2
MD5 6de806668af23aa06c92d18f7360ce24
BLAKE2b-256 5482ec8d297ed4a7e64ac019b52f36c7071fba48f6071e0f1c6e15e878a58183

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: rlox-1.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rlox-1.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 93ad6d6ad2bca9db408bd333e7f7be4aa21e83a07aa3ec9f7c0df7c30b633ecb
MD5 2b5fb3ae5062b6421c4188c319b25a5a
BLAKE2b-256 b71fe541ef5b718c8296241e9490d68ba03f8d0a32328ca6f9e8ef0c9492c9fc

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0b24f996810aebda1eb713dedf456564ca4ba9ab6b27c238b5f04e6614b152b3
MD5 787074bfb5e8f65f13a92d665c064543
BLAKE2b-256 177d8b5460729e147488c6382586abdf42edd17652a7f0388569690bbd12f26e

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6449e8a26e33ff1c723131c7159b76dd1c36b8329f55b8fd26556b38891ffda4
MD5 431c3b353678f026f2b72164e9515c86
BLAKE2b-256 e0c180e5717651a9edf958048b753fb8534a99f7662055495d59e43b870090b3

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ef17e87cbfb972fab3f0577bd496bfa0cf83df1607b5b6fcba6d390aee641d4e
MD5 b5358380900f8c46e500b64994e6aa28
BLAKE2b-256 018909fd88e850f25432ddc2ff1c38528f864cb27feb4d938507ba2331c83663

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 53131421d2aead3387e3e44e655af7c455a3ac6179b0915490838fde3c980787
MD5 b6d7be0c906fb997a291d4933e76d97c
BLAKE2b-256 43582dbc63d8e8ee2cf4a41c26e6d13d0e5cebb06200472a309d46aeb099df81

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: rlox-1.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rlox-1.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1fe95ccf189ae962960765d3fab778505ed4620f7ffbec53d2191de297ff2097
MD5 90ebbf3b66493ea6083bbb823f4c3076
BLAKE2b-256 89f8ec2e0ab5b3364e181b08ef0d560e43071e97764e44355c71265eeb34749f

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b512a5248440404c22149b396c6d7809c93d3b6ab853f9bbd3f0282f9d502910
MD5 be4b6a2c97808ab39e5566126b40f81f
BLAKE2b-256 7112ed1410f4189feb1472fbb0c4bd7bcfa81656b17299ab03a2eab5ed070449

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cc95cfb23162657b05bea71f296fb0f9bedc88ef1800ba4f28ccccd01bf11ce0
MD5 9c639ede75cbeada1bc1b6cbb03b0ae3
BLAKE2b-256 f68ede9a227f84fcf59741342530096c38375b997617b3027fc555e4ccc51feb

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7ca501e2ed050406e72495efaead758093c634c92ffea47f8fa110ac1246d928
MD5 eca56f36bb516659da1c0c8d821ffe9e
BLAKE2b-256 8b5dd0b0089f39e1ca4347fe540bb80cd33c01dd2d553acfc3f928e82ccf5181

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bcc472867d847b5b382bce138e63523cb830a176f82e45526b6d5b993848843d
MD5 bb842c436fe2b76c4043f22821015c19
BLAKE2b-256 4fd02836c8ce2c84c469083d94082b9e783b43ded44375d9fcbdeb6a38a4eaf3

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: rlox-1.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rlox-1.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 85c7a17061eb310fda040ea4f1c8fdfa893a0baa16870e651d02d81eca72dded
MD5 22d39568af98e8ef666e09880029c2e9
BLAKE2b-256 35d80bf66df4a2f130f81a1888b235b7582180eb77a7354d905be9ecaed63a4a

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e85888be85e0a249973461ee12607fe7eaffc323dc5841716430f9782de7d9c6
MD5 bdc72be218f895ad864c518032de8b65
BLAKE2b-256 7156a42d61973639678ebe60b14ec0bea9b1d6376c8647460caab41e5193c62e

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 73c7bb5abae0654bd30212e780b1c9f017cc13773d9324e732b4fa70eb91aeef
MD5 a4698194abb5fba78ac27db0700524f7
BLAKE2b-256 131980875305f529b97fb9cc7dcbfdd8c98ffe16ce93d519cf4d6a2c335c0cb1

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fbe35782507b93303b5eeb909c0b8f90769a6dbef6e8f3a2e7c8edcc0538aa2e
MD5 ae47d81b74496c08ae216d347fa963c4
BLAKE2b-256 71f8523deb4cae3243a6dca8cd42421b2eb727c2fadca806989e7177a488bf0d

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cc13bb22ed7f692f642e85a31f7b126116f1bb73dd1180db2224a07eca40cf8f
MD5 ffe1e0a6ab4ecd42afd9f1c5071ab5ad
BLAKE2b-256 fa4057c44a5037e40cf19fdf6a1d4e6d8d8821af181834e7ac21df0ed872d851

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: rlox-1.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rlox-1.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2991e0ddc19f49508dbcec631644eeebded9606256156ffad4b21723fd71e400
MD5 bf36da6f791f3802073f50cde02bf945
BLAKE2b-256 4baad1692929203d8e76ad0d0962b2eea166b08dddba413c4c91c94b1f4b665a

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f46f691e6c3faf197fa31f5eb0821f831e634ae0844e42634b0cbf8057f3f8e3
MD5 31c17ca3f6ca6d697a9e4929c729bcd2
BLAKE2b-256 b5bbbbead00b2c28d8cc6bd5bbecb73d8bab252b86ac1538e681a02e7350ff67

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6b21468b9bd1eb6013fa6f6c835883cd860fd71918e7ee26c85f4f1f52d1fb58
MD5 df114bffe4af5c9f63343b16546ef09f
BLAKE2b-256 381b959827597c0ff8190490e767aba4f9077f47b9f9fba019e4b9077ff2cd00

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 01fcfe621ac007f7959a3095885a4caab6a973a550186f4d3f1f4fc03ae18633
MD5 cf1e27ef1c371efbd518f98577c78bd2
BLAKE2b-256 118f27abfe78af7b806d1ad175a5a883433b350f93718baee31b53c3895ede66

See more details on using hashes here.

File details

Details for the file rlox-1.2.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rlox-1.2.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 79b615a890ddc9a0cbd9dca0ce7111136ed0f9a03219c37680999db0e02b62da
MD5 8e81ae31f11cd6fcc05f4500fa027648
BLAKE2b-256 85f861c013e61253a02fbe232c2ce492bc43da10cc3e152412fa4c3d0c7a5448

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page