skrl
Modular and flexible library for reinforcement learning on PyTorch and JAX
Decision gist · record as of 2026-08-14
Yes, if you are developing or researching reinforcement learning algorithms. The modular design, support for multiple backends, and active maintenance make it a solid choice for RL projects. Install it if you want readable, transparent algorithm implementations and multi-environment training capabilities. Not necessary if you only need a simple single-algorithm solver or prefer a more opinionated framework.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >=3.10.
- Actual training requires PyTorch or JAX installed separately; skrl does not declare them as hard dependencies.
- Low install friction with a pure-Python wheel distribution.
License · maintenance · safety
MIT License (permissive) — MIT License (permissive) allows commercial and private use with minimal restrictions, making it suitable for research, production, and derivative work.
last release 2026-05-10 (96 days) · last repo commit 2026-05-11 · 1,087 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 142,261 downloads/mo, #11,219 on PyPI
Alternatives
Verify before relying
pip install skrl
import gymnasium as gym
from skrl.agents.torch import PPO
from skrl.environments.torch import GymWrapper
env = GymWrapper(gym.make('CartPole-v1'))
agent = PPO(env.observation_space, env.action_space)- Whether PyTorch or JAX must be pre-installed or if skrl can guide users to install them.
- Performance characteristics and scalability limits for multi-scope training across many environments.
- Completeness of algorithm coverage compared to other RL libraries in the ecosystem.
What it is and what it does
skrl is a modular reinforcement learning library designed for clarity and transparency in algorithm implementation. It abstracts away boilerplate by providing reusable agent and environment components that work with PyTorch, JAX, or NVIDIA Warp backends, letting you focus on algorithm logic rather than framework plumbing. The library supports multiple environment interfaces—Gymnasium, PettingZoo, ManiSkill, Isaac Lab, and MuJoCo—and enables training multiple agent scopes (subsets of environments) in a single run, with optional resource sharing between scopes.
Typical use involves wrapping your environment, instantiating an agent with a chosen algorithm (e.g., PPO, DQN), and running training loops. The modular design means you can swap algorithms, environments, and backends with minimal code changes. It is actively maintained and documented, with a published research paper backing its design philosophy.
Use it for
- Train RL agents on Gymnasium environments (CartPole, Atari, MuJoCo) with a clean, algorithm-agnostic API.
- Develop and test new RL algorithms in a transparent, readable codebase without reimplementing environment boilerplate.
- Run multi-agent or multi-environment training in Isaac Lab or MuJoCo simulations with scope-based resource management.
- Prototype RL solutions using PyTorch, then port to JAX or NVIDIA Warp for performance without rewriting agent logic.
- Conduct research on algorithm variants with modular components for policies, value functions, and memory buffers.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are developing or researching reinforcement learning algorithms.
The modular design, support for multiple backends, and active maintenance make it a solid choice for RL projects. Install it if you want readable, transparent algorithm implementations and multi-environment training capabilities. Not necessary if you only need a simple single-algorithm solver or prefer a more opinionated framework.
Install
skrl on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with recent commits (last commit 2026-05-11) and steady releases since 2022-07-11. Requires Python >=3.10, which is current but not legacy-compatible.
Requires Python >=3.10. Actual training requires PyTorch or JAX installed separately; skrl does not declare them as hard dependencies.
License in practice
MIT License (permissive) allows commercial and private use with minimal restrictions, making it suitable for research, production, and derivative work.
Quickstart
pip install skrl
import gymnasium as gym
from skrl.agents.torch import PPO
from skrl.environments.torch import GymWrapper
env = GymWrapper(gym.make('CartPole-v1'))
agent = PPO(env.observation_space, env.action_space)
Verify before relying
- Whether PyTorch or JAX must be pre-installed or if skrl can guide users to install them.
- Performance characteristics and scalability limits for multi-scope training across many environments.
- Completeness of algorithm coverage compared to other RL libraries in the ecosystem.
Package facts
| License | MIT License permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesgymnasiumpackagingtensorboardtqdm |
| Maintenance | Actively maintained 96 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 142,261 / month, #11,219 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Artificial Intelligence |
Evidence: skrl-2.1.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “reinforcement learning library”
- skrlskrl is a modular reinforcement learning library that implements…
- sb3-contribProvides experimental reinforcement learning algorithms and tools…
- stable-baselines3Stable Baselines3 provides PyTorch implementations of reinforcement…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also rsl-rl-lib · torchrl · pettingzoo · mjlab · gymnasium · stable-baselines3 · Shimmy · tianshou · verl · dopamine-rl