forked from OpenRL-Lab/openrl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
116 lines (105 loc) · 3.42 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Copyright 2023 The OpenRL Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
""""""
import os
import setuptools
from setuptools import setup
def get_install_requires() -> list:
return [
"setuptools>=67.0",
"gymnasium",
"click",
"termcolor",
"gym",
"torch",
"treevalue",
"rich",
"wandb",
"seaborn",
"jsonargparse",
"imageio",
"opencv-python",
"pygame",
"mujoco",
"tqdm",
"Jinja2",
]
def get_extra_requires() -> dict:
req = {
"test": [
"pytest",
"pytest-cov",
"mypy",
"isort",
"black",
"ruff",
"gpustat",
"gym-super-mario-bros",
],
"dev": ["build", "twine"],
"mpe": ["pyglet==1.5.27"],
"nlp": [
"transformers==4.18.0",
"datasets",
"nltk",
"evaluate",
"icetk",
],
"selfplay": ["ray[default]", "ray[serve]", "pettingzoo[classic]", "trueskill"],
"retro": ["gym-retro"],
"super_mario": ["gym-super-mario-bros"],
}
return req
def get_version() -> str:
# https://packaging.python.org/guides/single-sourcing-package-version/
init = open(os.path.join("openrl", "__init__.py"), "r").read().split()
return init[init.index("__VERSION__") + 2][1:-1]
setup(
name="openrl",
version=get_version(),
description="unified reinforcement learning framework",
long_description=open("README.md", encoding="utf8").read(),
long_description_content_type="text/markdown",
author="openrl contributors",
author_email="[email protected]",
url="https://github.com/OpenRL-Lab/openrl",
packages=setuptools.find_packages(),
entry_points={"console_scripts": ["openrl=openrl.cli.cli:run"]},
project_urls={
"Code": "https://github.com/OpenRL-Lab/openrl",
"Documentation": "https://openrl-docs.readthedocs.io/zh/latest/",
},
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Software Development :: Libraries :: Python Modules",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
],
keywords=(
"reinforcement-learning multi-agent "
"reinforcement-learning-algorithms pytorch machine-learning "
"baselines toolbox python data-science gym gymnasium"
),
python_requires=">=3.8",
install_requires=get_install_requires(),
extras_require=get_extra_requires(),
)