This folder contains the documentation for Gymnasium.
If you are modifying an atari environment page, please follow the instructions below. For more information about how to contribute to the documentation go to our CONTRIBUTING.md
If you are editing an Atari environment, directly edit the Markdown file in this repository.
Otherwise, fork Gymnasium and edit the docstring in the environment's Python file. Then, pip install your Gymnasium fork and run docs/_scripts/gen_mds.py
in this repo. This will automatically generate a Markdown documentation file for the environment.
For Atari envs, add a Markdown file into docs/environments/atari
then complete the other steps.
Ensure the environment is in Gymnasium (or your fork). Ensure that the environment's Python file has a properly formatted markdown docstring. Install using pip install -e .
and then run docs/_scripts/gen_mds.py
. This will automatically generate a md page for the environment. Then complete the other steps.
- Add the corresponding gif into the
docs/_static/videos/{ENV_TYPE}
folder, whereENV_TYPE
is the category of your new environment (e.g. mujoco). Follow snake_case naming convention. Alternatively, rundocs/_scripts/gen_gifs.py
. - Edit
docs/environments/{ENV_TYPE}/index.md
, and add the name of the file corresponding to your new environment to thetoctree
.
Install the required packages and Gymnasium (or your fork):
pip install gymnasium
pip install -r docs/requirements.txt
To build the documentation once:
cd docs
make dirhtml
To rebuild the documentation automatically every time a change is made:
cd docs
sphinx-autobuild -b dirhtml . _build
We use Sphinx-Gallery to build the tutorials inside the docs/tutorials
directory. Check docs/tutorials/demo.py
to see an example of a tutorial and Sphinx-Gallery documentation for more information.
To convert Jupyter Notebooks to the python tutorials you can use this script.
If you want Sphinx-Gallery to execute the tutorial (which adds outputs and plots) then the file name should start with run_
. Note that this adds to the build time so make sure the script doesn't take more than a few seconds to execute.