-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
96 lines (87 loc) · 3.05 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 syne_tune import read_version
from setuptools import setup, find_packages
from pathlib import Path
import sys
def load_requirements(filename):
with open(filename) as f:
return f.read().splitlines()
def load_benchmark_requirements():
# the requirements of benchmarks are placed into the same directory as the examples script
res = set()
for fname in Path(__file__).parent.glob(
"benchmarking/training_scripts/*/requirements.txt"
):
res.update(load_requirements(fname))
# gluon-ts is not added as the git dependency does not work with setup.py
k = "git+https://github.com/awslabs/gluon-ts.git"
if k in res:
res.remove(k)
return list(res)
required_core = load_requirements("requirements.txt")
required_ray = load_requirements("requirements-ray.txt")
required_gpsearchers = load_requirements("requirements-gpsearchers.txt")
required_bore = load_requirements("requirements-bore.txt")
required_botorch = load_requirements("requirements-botorch.txt")
required_kde = load_requirements("requirements-kde.txt")
required_blackbox_repository = load_requirements(
"syne_tune/blackbox_repository/requirements.txt"
)
required_yahpo = load_requirements(
"syne_tune/blackbox_repository/conversion_scripts/scripts/requirements-yahpo.txt"
)
required_benchmarks = load_benchmark_requirements()
required_dev = load_requirements("requirements-dev.txt")
required_aws = load_requirements("requirements-aws.txt")
required_moo = load_requirements("requirements-moo.txt")
long_description = (Path(__file__).parent / "README.md").read_text()
required_extra = (
required_ray
+ required_gpsearchers
+ required_benchmarks
+ required_blackbox_repository
+ required_kde
+ required_dev
+ required_aws
+ required_yahpo
+ required_moo
)
# Botorch only supports python version >= 3.8
if sys.version_info >= (3, 8):
required_extra += required_botorch
setup(
name="syne_tune",
version=read_version(),
description="Distributed Hyperparameter Optimization on SageMaker",
long_description=long_description,
long_description_content_type="text/markdown",
author="AWS",
packages=find_packages(
include=[
"syne_tune",
"syne_tune.*",
]
),
extras_require={
"raytune": required_ray,
"bore": required_bore,
"kde": required_kde,
"gpsearchers": required_gpsearchers,
"benchmarks": required_benchmarks,
"blackbox-repository": required_blackbox_repository,
"aws": required_aws,
"yahpo": required_yahpo,
"dev": required_dev,
"moo": required_moo,
"extra": required_extra,
},
install_requires=required_core,
include_package_data=True,
classifiers=[
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.8",
],
)