-
Notifications
You must be signed in to change notification settings - Fork 2
/
setup.py
95 lines (93 loc) · 2.9 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
from os import path
from setuptools import setup, find_packages
this_dir = path.abspath(path.dirname(__file__))
with open(path.join(this_dir, "README.md"), encoding="utf-8") as f:
long_description = f.read()
setup(
name="smarts",
description="Scalable Multi-Agent RL Training School",
long_description=long_description,
long_description_content_type="text/markdown",
version="0.4.16",
packages=find_packages(exclude="tests"),
include_package_data=True,
zip_safe=True,
python_requires=">=3.7",
install_requires=[
# setuptools:
# tensorboard needs >=41
# 50.0 is broken: https://github.com/pypa/setupatools/issues/2353
"setuptools>=41.0.0,!=50.0",
"cached-property",
"click", # used in scl
"gym",
"panda3d",
"panda3d-gltf",
"numpy",
"rich",
"rtree", # Used by sumolib
"filelock",
"lz4",
"networkx",
"opencv-python",
"pandas",
"psutil",
"visdom",
"pybullet",
"sklearn", # KDTree from sklearn is used by waypoints
"tableprint",
"trimesh", # Used for writing .glb files
"pynput", # Used by HumanKeyboardAgent
"sh",
"shapely",
"supervisor",
# HACK: There is a bug where if we only install the base ray dependency here
# and ray[rllib] under [train] it prevents rllib from getting installed.
# For simplicity we just install both here. In the future we may want to
# address this bug head on to keep our SMARTS base install more lean.
"ray[rllib]==0.8.7", # We use Ray for our multiprocessing needs
# The following are for Scenario Studio
"yattag",
# The following are for /envision
"cloudpickle<1.4.0",
"tornado",
"websocket-client",
# The following are for the /smarts/algorithms
"matplotlib",
"scikit-image",
# The following are for /smarts/zoo
"grpcio==1.38.0",
"PyYAML",
"twisted",
# The following are used for imitation learning
"ijson",
],
extras_require={
"test": [
# The following are for testing
"ipykernel",
"pytest",
"pytest-benchmark",
"pytest-cov",
"ipykernel",
"pytest-notebook",
"pytest-xdist",
],
"train": [
"tensorflow_gpu==2.3.0",
# XXX: TF requires specific version of scipy
"scipy==1.4.1",
"torch==1.7.1",
"torchvision==0.8.2",
],
"dev": [
"black==20.8b1",
"grpcio-tools==1.37.0",
"isort==5.7.0",
"sphinx",
"sphinx-rtd-theme",
"sphinxcontrib-apidoc",
],
},
entry_points={"console_scripts": ["scl=cli.cli:scl"]},
)