Files
Gymnasium/setup.py

75 lines
2.2 KiB
Python
Raw Normal View History

"""Setups the project."""
import itertools
2021-07-29 02:26:34 +02:00
import os.path
import sys
from setuptools import find_packages, setup
2016-04-27 08:00:58 -07:00
# Don't import gym module here, since deps may not be installed
2021-07-29 02:26:34 +02:00
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "gym"))
from version import VERSION # noqa:E402
2016-04-27 08:00:58 -07:00
2016-07-27 13:57:35 -07:00
# Environment-specific dependencies.
extras = {
2022-02-17 09:45:52 -05:00
"atari": ["ale-py~=0.7.4"],
"accept-rom-license": ["autorom[accept-rom-license]~=0.4.2"],
"box2d": ["box2d-py==2.3.5", "pygame==2.1.0"],
"classic_control": ["pygame==2.1.0"],
"mujoco": ["mujoco_py>=1.50, <2.0"],
2022-01-19 14:54:20 -05:00
"toy_text": ["pygame==2.1.0", "scipy>=1.4.1"],
Pydocstyle utils vector docstring (#2788) * Added pydocstyle to pre-commit * Added docstrings for tests and updated the tests for autoreset * Add pydocstyle exclude folder to allow slowly adding new docstrings * Add docstrings for setup.py and gym/__init__.py, core.py, error.py and logger.py * Check that all unwrapped environment are of a particular wrapper type * Reverted back to import gym.spaces.Space to gym.spaces * Fixed the __init__.py docstring * Fixed autoreset autoreset test * Updated gym __init__.py top docstring * Fix examples in docstrings * Add docstrings and type hints where known to all functions and classes in gym/utils and gym/vector * Remove unnecessary import * Removed "unused error" and make APIerror deprecated at gym 1.0 * Add pydocstyle description to CONTRIBUTING.md * Added docstrings section to CONTRIBUTING.md * Added :meth: and :attr: keywords to docstrings * Added :meth: and :attr: keywords to docstrings * Imported annotations from __future__ to fix python 3.7 * Add __future__ import annotations for python 3.7 * isort * Remove utils and vectors for this PR and spaces for previous PR * Update gym/envs/classic_control/acrobot.py Co-authored-by: Markus Krimmel <montcyril@gmail.com> * Update gym/envs/classic_control/acrobot.py Co-authored-by: Markus Krimmel <montcyril@gmail.com> * Update gym/envs/classic_control/acrobot.py Co-authored-by: Markus Krimmel <montcyril@gmail.com> * Update gym/spaces/dict.py Co-authored-by: Markus Krimmel <montcyril@gmail.com> * Update gym/utils/env_checker.py Co-authored-by: Markus Krimmel <montcyril@gmail.com> * Update gym/utils/env_checker.py Co-authored-by: Markus Krimmel <montcyril@gmail.com> * Update gym/utils/env_checker.py Co-authored-by: Markus Krimmel <montcyril@gmail.com> * Update gym/utils/env_checker.py Co-authored-by: Markus Krimmel <montcyril@gmail.com> * Update gym/utils/env_checker.py Co-authored-by: Markus Krimmel <montcyril@gmail.com> * Update gym/utils/ezpickle.py Co-authored-by: Markus Krimmel <montcyril@gmail.com> * Update gym/utils/ezpickle.py Co-authored-by: Markus Krimmel <montcyril@gmail.com> * Update gym/utils/play.py Co-authored-by: Markus Krimmel <montcyril@gmail.com> * Pre-commit * Updated docstrings with :meth: * Updated docstrings with :meth: * Update gym/utils/play.py * Update gym/utils/play.py * Update gym/utils/play.py * Apply suggestions from code review Co-authored-by: Markus Krimmel <montcyril@gmail.com> * pre-commit * Update gym/utils/play.py Co-authored-by: Markus Krimmel <montcyril@gmail.com> * Updated fps and zoom parameter docstring * Update play docstring * Apply suggestions from code review Added suggested corrections from @markus28 Co-authored-by: Markus Krimmel <montcyril@gmail.com> * Pre-commit magic * Update the `gym.make` docstring with a warning for `env_checker` * Updated and fixed vector docstrings * Update test names for reflect the project filename style Co-authored-by: Markus Krimmel <montcyril@gmail.com>
2022-05-20 14:49:30 +01:00
"other": ["lz4>=3.1.0", "opencv-python>=3.0", "matplotlib>=3.0"],
2016-07-27 13:57:35 -07:00
}
# Meta dependency groups.
nomujoco_blacklist = {"mujoco", "accept-rom-license", "atari"}
nomujoco_groups = set(extras.keys()) - nomujoco_blacklist
2021-07-29 02:26:34 +02:00
extras["nomujoco"] = list(
itertools.chain.from_iterable(map(lambda group: extras[group], nomujoco_groups))
)
all_blacklist = {"accept-rom-license"}
all_groups = set(extras.keys()) - all_blacklist
extras["all"] = list(
itertools.chain.from_iterable(map(lambda group: extras[group], all_groups))
2021-07-29 02:26:34 +02:00
)
2016-07-27 13:57:35 -07:00
2021-07-29 02:26:34 +02:00
setup(
name="gym",
version=VERSION,
2022-02-20 18:29:38 -05:00
description="Gym: A universal API for reinforcement learning environments",
url="https://www.gymlibrary.ml/",
author="Gym Community",
author_email="jkterry@umd.edu",
license="MIT",
2021-07-29 02:26:34 +02:00
packages=[package for package in find_packages() if package.startswith("gym")],
zip_safe=False,
install_requires=[
"numpy>=1.18.0",
"cloudpickle>=1.2.0",
"importlib_metadata>=4.10.0; python_version < '3.10'",
"gym_notices>=0.0.4",
2021-07-29 02:26:34 +02:00
],
extras_require=extras,
package_data={
"gym": [
"envs/mujoco/assets/*.xml",
"envs/classic_control/assets/*.png",
"envs/toy_text/font/*.ttf",
"envs/toy_text/img/*.png",
"py.typed",
2021-07-29 02:26:34 +02:00
]
},
tests_require=["pytest", "mock"],
2021-10-16 11:33:49 -04:00
python_requires=">=3.7",
2021-07-29 02:26:34 +02:00
classifiers=[
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
2021-07-29 02:26:34 +02:00
],
2016-04-27 08:00:58 -07:00
)