Skip to main content

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.

Metadata

Release files for rlox 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rlox 1.2.0
File Size Uploaded Provenance Actions
rlox-1.2.0.tar.gz 376.2 kB Without provenance Details for rlox-1.2.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for rlox 1.2.0
File Actions
rlox-1.2.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for rlox-1.2.0-cp313-cp313-win_amd64.whl
rlox-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for rlox-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
rlox-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details for rlox-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
rlox-1.2.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for rlox-1.2.0-cp313-cp313-macosx_11_0_arm64.whl
rlox-1.2.0-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details for rlox-1.2.0-cp313-cp313-macosx_10_12_x86_64.whl
rlox-1.2.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for rlox-1.2.0-cp312-cp312-win_amd64.whl
rlox-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for rlox-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
rlox-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details for rlox-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
rlox-1.2.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for rlox-1.2.0-cp312-cp312-macosx_11_0_arm64.whl
rlox-1.2.0-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details for rlox-1.2.0-cp312-cp312-macosx_10_12_x86_64.whl
rlox-1.2.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for rlox-1.2.0-cp311-cp311-win_amd64.whl
rlox-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for rlox-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
rlox-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details for rlox-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
rlox-1.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for rlox-1.2.0-cp311-cp311-macosx_11_0_arm64.whl
rlox-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details for rlox-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl
rlox-1.2.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for rlox-1.2.0-cp310-cp310-win_amd64.whl
rlox-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for rlox-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
rlox-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details for rlox-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
rlox-1.2.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for rlox-1.2.0-cp310-cp310-macosx_11_0_arm64.whl
rlox-1.2.0-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details for rlox-1.2.0-cp310-cp310-macosx_10_12_x86_64.whl

Total release size: 44.3 MB

Release files / rlox-1.2.0.tar.gz

Download URL rlox-1.2.0.tar.gz
Size 376.2 kB
Tags Source
SHA-256 checksum
How to use checksums
97aeee67c6fabe3273aaeb4880e8d0526ce5fc30923d953216787ff11f0c6bd2
BLAKE2b-256 checksum
How to use checksums
5482ec8d297ed4a7e64ac019b52f36c7071fba48f6071e0f1c6e15e878a58183
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp313-cp313-win_amd64.whl

Download URL rlox-1.2.0-cp313-cp313-win_amd64.whl
Size 2.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
93ad6d6ad2bca9db408bd333e7f7be4aa21e83a07aa3ec9f7c0df7c30b633ecb
BLAKE2b-256 checksum
How to use checksums
b71fe541ef5b718c8296241e9490d68ba03f8d0a32328ca6f9e8ef0c9492c9fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rlox-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.4 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0b24f996810aebda1eb713dedf456564ca4ba9ab6b27c238b5f04e6614b152b3
BLAKE2b-256 checksum
How to use checksums
177d8b5460729e147488c6382586abdf42edd17652a7f0388569690bbd12f26e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL rlox-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.0 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
6449e8a26e33ff1c723131c7159b76dd1c36b8329f55b8fd26556b38891ffda4
BLAKE2b-256 checksum
How to use checksums
e0c180e5717651a9edf958048b753fb8534a99f7662055495d59e43b870090b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL rlox-1.2.0-cp313-cp313-macosx_11_0_arm64.whl
Size 2.0 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ef17e87cbfb972fab3f0577bd496bfa0cf83df1607b5b6fcba6d390aee641d4e
BLAKE2b-256 checksum
How to use checksums
018909fd88e850f25432ddc2ff1c38528f864cb27feb4d938507ba2331c83663
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp313-cp313-macosx_10_12_x86_64.whl

Download URL rlox-1.2.0-cp313-cp313-macosx_10_12_x86_64.whl
Size 2.1 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
53131421d2aead3387e3e44e655af7c455a3ac6179b0915490838fde3c980787
BLAKE2b-256 checksum
How to use checksums
43582dbc63d8e8ee2cf4a41c26e6d13d0e5cebb06200472a309d46aeb099df81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp312-cp312-win_amd64.whl

Download URL rlox-1.2.0-cp312-cp312-win_amd64.whl
Size 2.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
1fe95ccf189ae962960765d3fab778505ed4620f7ffbec53d2191de297ff2097
BLAKE2b-256 checksum
How to use checksums
89f8ec2e0ab5b3364e181b08ef0d560e43071e97764e44355c71265eeb34749f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rlox-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.4 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b512a5248440404c22149b396c6d7809c93d3b6ab853f9bbd3f0282f9d502910
BLAKE2b-256 checksum
How to use checksums
7112ed1410f4189feb1472fbb0c4bd7bcfa81656b17299ab03a2eab5ed070449
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL rlox-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.0 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
cc95cfb23162657b05bea71f296fb0f9bedc88ef1800ba4f28ccccd01bf11ce0
BLAKE2b-256 checksum
How to use checksums
f68ede9a227f84fcf59741342530096c38375b997617b3027fc555e4ccc51feb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL rlox-1.2.0-cp312-cp312-macosx_11_0_arm64.whl
Size 2.0 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7ca501e2ed050406e72495efaead758093c634c92ffea47f8fa110ac1246d928
BLAKE2b-256 checksum
How to use checksums
8b5dd0b0089f39e1ca4347fe540bb80cd33c01dd2d553acfc3f928e82ccf5181
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp312-cp312-macosx_10_12_x86_64.whl

Download URL rlox-1.2.0-cp312-cp312-macosx_10_12_x86_64.whl
Size 2.1 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
bcc472867d847b5b382bce138e63523cb830a176f82e45526b6d5b993848843d
BLAKE2b-256 checksum
How to use checksums
4fd02836c8ce2c84c469083d94082b9e783b43ded44375d9fcbdeb6a38a4eaf3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp311-cp311-win_amd64.whl

Download URL rlox-1.2.0-cp311-cp311-win_amd64.whl
Size 2.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
85c7a17061eb310fda040ea4f1c8fdfa893a0baa16870e651d02d81eca72dded
BLAKE2b-256 checksum
How to use checksums
35d80bf66df4a2f130f81a1888b235b7582180eb77a7354d905be9ecaed63a4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rlox-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.4 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e85888be85e0a249973461ee12607fe7eaffc323dc5841716430f9782de7d9c6
BLAKE2b-256 checksum
How to use checksums
7156a42d61973639678ebe60b14ec0bea9b1d6376c8647460caab41e5193c62e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL rlox-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.0 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
73c7bb5abae0654bd30212e780b1c9f017cc13773d9324e732b4fa70eb91aeef
BLAKE2b-256 checksum
How to use checksums
131980875305f529b97fb9cc7dcbfdd8c98ffe16ce93d519cf4d6a2c335c0cb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL rlox-1.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 2.0 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fbe35782507b93303b5eeb909c0b8f90769a6dbef6e8f3a2e7c8edcc0538aa2e
BLAKE2b-256 checksum
How to use checksums
71f8523deb4cae3243a6dca8cd42421b2eb727c2fadca806989e7177a488bf0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl

Download URL rlox-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl
Size 2.1 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
cc13bb22ed7f692f642e85a31f7b126116f1bb73dd1180db2224a07eca40cf8f
BLAKE2b-256 checksum
How to use checksums
fa4057c44a5037e40cf19fdf6a1d4e6d8d8821af181834e7ac21df0ed872d851
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp310-cp310-win_amd64.whl

Download URL rlox-1.2.0-cp310-cp310-win_amd64.whl
Size 2.4 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
2991e0ddc19f49508dbcec631644eeebded9606256156ffad4b21723fd71e400
BLAKE2b-256 checksum
How to use checksums
4baad1692929203d8e76ad0d0962b2eea166b08dddba413c4c91c94b1f4b665a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rlox-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.4 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f46f691e6c3faf197fa31f5eb0821f831e634ae0844e42634b0cbf8057f3f8e3
BLAKE2b-256 checksum
How to use checksums
b5bbbbead00b2c28d8cc6bd5bbecb73d8bab252b86ac1538e681a02e7350ff67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL rlox-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.0 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
6b21468b9bd1eb6013fa6f6c835883cd860fd71918e7ee26c85f4f1f52d1fb58
BLAKE2b-256 checksum
How to use checksums
381b959827597c0ff8190490e767aba4f9077f47b9f9fba019e4b9077ff2cd00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL rlox-1.2.0-cp310-cp310-macosx_11_0_arm64.whl
Size 2.0 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
01fcfe621ac007f7959a3095885a4caab6a973a550186f4d3f1f4fc03ae18633
BLAKE2b-256 checksum
How to use checksums
118f27abfe78af7b806d1ad175a5a883433b350f93718baee31b53c3895ede66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / rlox-1.2.0-cp310-cp310-macosx_10_12_x86_64.whl

Download URL rlox-1.2.0-cp310-cp310-macosx_10_12_x86_64.whl
Size 2.2 MB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
79b615a890ddc9a0cbd9dca0ce7111136ed0f9a03219c37680999db0e02b62da
BLAKE2b-256 checksum
How to use checksums
85f861c013e61253a02fbe232c2ce492bc43da10cc3e152412fa4c3d0c7a5448
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Security for rlox 1.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page