forked from google-deepmind/ai-safety-gridworlds
-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
setup.py
96 lines (90 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
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import os
import sys
try:
import setuptools
except ImportError:
from ez_setup import use_setuptools
use_setuptools()
import setuptools
if sys.version_info[0] == 2:
enum = ["enum34"]
elif sys.version_info[0] == 3:
enum = []
if os.name == "nt":
windows_curses = ["windows-curses"]
else:
windows_curses = []
setuptools.setup(
name="ai-safety-gridworlds",
version="2.0",
description="Extended, multi-agent and multi-objective environments based on DeepMind's "
"AI Safety Gridworlds. This is a suite of reinforcement learning "
"environments illustrating various safety properties of intelligent agents.",
long_description=(
"Extended, multi-agent and multi-objective environments based on DeepMind's "
"AI Safety Gridworlds. "
"This is a suite of reinforcement learning environments illustrating "
"various safety properties of intelligent agents. "
"It is made compatible with OpenAI's Gym and Gymnasium "
"and Farama Foundation PettingZoo."
),
url="https://github.com/levitation-opensource/ai-safety-gridworlds/",
author="Roland Pihlakas, forked from David Lindner, n0p2, and from DeepMind Technologies",
author_email="[email protected]",
license="Apache 2.0",
classifiers=[
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Environment :: Console :: Curses",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX",
"Operating System :: Unix",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Topic :: Games/Entertainment :: Arcade",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Testing",
],
keywords=(
"ai "
"artificial intelligence "
"ascii art "
"game engine "
"gridworld "
"gym "
"gymnasium "
"mamorl "
"multi-objective "
"multi-agent "
"pettingzoo "
"reinforcement learning "
"retro retrogaming "
"rl "
),
install_requires=[
"absl-py",
"gym", # If the user wants, they can manually install Gymnasium instead and then we will automatically use this newer package instead. Gym is needed as a fallback. Installation of Gymnasium is not forced in order to not override existing Gym installation, since Gymnasium would have priority during execution.
"matplotlib",
"numpy",
"pettingzoo",
"pillow",
# "pycolab",
] + enum + windows_curses,
packages=setuptools.find_packages(),
zip_safe=True,
entry_points={},
test_suite="ai_safety_gridworlds.tests",
tests_require=["tensorflow"],
package_data={"ai_safety_gridworlds.helpers": ["*.ttf"]},
)