Installation
============
If you already have Python installed on your computer, you can install RLForge with:
.. code-block:: console
pip install rlforge
This will download and install the latest stable release of ``rlforge`` available in the
`Python Package Index `_.
Requirements
------------
RLForge works with **Python 3.10 or later** and depends on:
- `NumPy `_ (numerical computations)
- `tqdm `_ (progress bars)
- `Gymnasium `_ (environments)
- `Matplotlib `_ (plotting)
Installing with ``pip`` will automatically download these dependencies if they are not
already present in your workspace.
Optional Dependencies
---------------------
RLForge also provides optional support for **PyTorch**. If you want to run agents that
use deep neural networks implemented in PyTorch, install RLForge with the ``torch`` extra:
.. code-block:: console
pip install rlforge[torch]
or install all optional dependencies with:
.. code-block:: console
pip install rlforge[all]
This will install:
- `torch `_ (>=2.9.0)
PyTorch is required for the following agents:
- **DQNTorchAgent** — Deep Q-Networks implemented in PyTorch.
- **DDPGAgent** — Deep Deterministic Policy Gradient.
- **TD3Agent** — Twin Delayed Deep Deterministic Policy Gradient.
- **SACAgent** — Soft Actor-Critic.
- **PPODiscrete** — Proximal Policy Optimization for discrete action spaces.
- **PPOContinuous** — Proximal Policy Optimization for continuous action spaces.
If you only plan to use tabular or NumPy-based agents, you can install RLForge without
the ``torch`` extra.
Package Metadata
----------------
For reference, RLForge’s ``pyproject.toml`` specifies:
.. code-block:: toml
[build-system]
requires = ["setuptools>=80.9"]
build-backend = "setuptools.build_meta"
[project]
name = "rlforge"
version = "1.0.2"
authors = [
{ name="Alejandro Toro-Ossaba", email="alejotoro.o@gmail.com" },
]
description = "Reinforcement Learning for Everyone."
readme = "README.md"
requires-python = ">=3.10"
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
]
keywords = ["reinforcement learning", "machine learning"]
license = {file = "LICENSE"}
dependencies = [
"numpy>=2.3.4",
"tqdm>=4.67.1",
"gymnasium>=1.2.2",
"matplotlib>=3.10.7",
]
[project.optional-dependencies]
torch = [
"torch>=2.9.0",
]
all = [
"torch>=2.9.0",
]
[project.urls]
"Homepage" = "https://github.com/alejotoro-o/rlforge"
"Documentation" = "https://rlforge.readthedocs.io/"
"Repository" = "https://github.com/alejotoro-o/rlforge"
"Bug Tracker" = "https://github.com/alejotoro-o/rlforge/issues"