rlox
Rust-accelerated reinforcement learning — the Polars architecture pattern applied to RL.
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 pettingzoofor 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 unifiedTrainer("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-coreto 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.
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
Trainerwithtrain(),save(),from_checkpoint(),predict() - Environments: Gymnasium-compatible, Rayon-parallel VecEnv, CartPole and Pendulum-v1 built-in
- Visual RL wrappers:
FrameStack,ImagePreprocess,AtariWrapper,DMControlWrapperfor pixel-based RL - Language RL wrappers:
LanguageWrapper,GoalConditionedWrapperfor language-grounded tasks - Plugin ecosystem:
ENV_REGISTRY,BUFFER_REGISTRY,REWARD_REGISTRY,discover_pluginsfor extensibility - Model zoo:
ModelZoo.register,ModelZoo.loadfor 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
TrainingConfigandpython -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:
AsymmetricPolicyfor 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)
| 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)
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.