forked from TuragaLab/flybody
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
executable file
·64 lines (57 loc) · 1.74 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
"""Install script for setuptools."""
from setuptools import setup, find_packages
# The flybody package can be installed in three modes:
#
# 1. Core installation: light-weight installation for experimenting with the
# fly model in MuJoCo or with dm_control task environments. ML components
# such as Tensorflow and Acme are not installed and policy rollouts and
# training are not supported.
# To install, use: pip install -e .
#
# 2. Add ML components: same as (1), plus Tensorflow, Acme to allow bringing
# policy networks into play (e.g. for inference), but without training them.
# To install, use: pip install -e .[tf]
#
# 3. Add training components: Same as (1) and (2), plus Ray to also allow
# distributed policy training in the dm_control task environments.
# To install, use: pip install -e .[ray]
core_requirements = [
'numpy==1.26.4',
'dm_control',
'h5py',
'pytest',
'mediapy',
]
tf_requirements = [
'dm-acme[tf,envs,jax]',
'tensorflow==2.8.0',
'tensorflow-probability==0.16.0',
'dm-reverb==0.7.0',
]
ray_requirements = tf_requirements + [
'ray[default]',
]
dev_requirements = [
'yapf',
'ruff',
'jupyterlab',
'tqdm',
]
setup(
name='flybody',
version='0.1',
packages=find_packages(),
package_data={
'flybody': ['fruitfly/assets/*.obj', 'fruitfly/assets/*.xml'],
},
python_requires='>=3.10',
install_requires=core_requirements,
extras_require={
'tf': tf_requirements,
'ray': ray_requirements,
'dev': dev_requirements,
},
author='Roman Vaxenburg, Yuval Tassa, Zinovia Stefanidi',
description='MuJoCo fruit fly body model and reinforcement learning tasks',
url='https://github.com/TuragaLab/flybody',
)