forked from rlworkgroup/garage
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
114 lines (101 loc) · 3.12 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
"""setuptools based setup module."""
import os
from setuptools import find_packages, setup
GARAGE_GH_TOKEN = os.environ.get('GARAGE_GH_TOKEN') or 'git'
GYM_VERSION = '0.17.2'
# Required dependencies
REQUIRED = [
# Please keep alphabetized
'akro',
'click>=2.0',
'cloudpickle==1.3',
'cma==2.7.0',
'dowel==0.0.3',
'numpy>=1.14.5',
'psutil',
'python-dateutil',
'ray',
'scikit-image',
'scipy',
'setproctitle>=1.0',
'tensorflow>=1.14',
'tensorflow-probability>=0.11.0',
'torch>=1.0.0,!=1.5.0',
'torchvision>=0.2.1',
]
# Dependencies for optional features
EXTRAS = {}
EXTRAS['gym'] = [
f'gym[atari,box2d,classic_control]=={GYM_VERSION}',
]
EXTRAS['mujoco'] = [
'mujoco-py>=2.0,<=2.0.2.8',
f'gym[all]=={GYM_VERSION}',
]
EXTRAS['dm_control'] = [
# dm_control throws an error during install about not being able to
# find a build dependency (absl-py). Later pip executes the `install`
# command again and the install succeeds because absl-py has been
# installed. This is stupid, but harmless.
'dm_control',
]
EXTRAS['bullet'] = ['mpi4py', 'pybullet>=2.8.7']
EXTRAS['all'] = list(set(sum(EXTRAS.values(), [])))
# Development dependencies (*not* included in 'all')
EXTRAS['dev'] = [
# Please keep alphabetized
'flake8',
'flake8-docstrings>=1.5.0',
'flake8-import-order',
f'metaworld @ https://{GARAGE_GH_TOKEN}@api.github.com/repos/rlworkgroup/metaworld/tarball/0875192baaa91c43523708f55866d98eaf3facaf', # noqa: E501
'isort>=4.3.21,<5.0.0',
'pep8-naming==0.7.0',
'pre-commit',
'pycodestyle>=2.5.0',
'pydocstyle>=4.0.0',
'pylint>=2.5.3',
'pytest>=4.5.0', # Required for strict-markers
'pytest-cov',
'pytest-timeout',
'pytest-xdist',
'recommonmark',
'sphinx',
'sphinx-autoapi>=1.4.0',
'sphinx_rtd_theme',
'sphinxcontrib-bibtex',
'yapf==0.30.0',
] # yapf: disable
with open('README.md') as f:
README = f.read()
# Get the package version dynamically
with open('VERSION') as v:
VERSION = v.read().strip()
setup(
name='garage',
version=VERSION,
author='Reinforcement Learning Working Group',
description='A toolkit for reproducible reinforcement learning research',
url='https://github.com/rlworkgroup/garage',
packages=find_packages(where='src'),
package_dir={'': 'src'},
scripts=['scripts/garage'],
python_requires='>=3.6',
install_requires=REQUIRED,
extras_require=EXTRAS,
license='MIT',
long_description=README,
long_description_content_type='text/markdown',
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'Intended Audience :: Education',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3 :: Only',
'Topic :: Scientific/Engineering :: Artificial Intelligence',
'Topic :: Scientific/Engineering :: Mathematics',
'Topic :: Software Development :: Libraries',
],
)