-
Notifications
You must be signed in to change notification settings - Fork 24
/
setup.py
82 lines (74 loc) · 1.94 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
from setuptools import setup
requirements = {
'install': [
'chainer>=5.0.0,<7.0.0',
'onnx>=1.4.0,<1.7',
],
'stylecheck': [
'autopep8',
'hacking',
],
'test': [
'pytest<5.0.0',
'chainercv>=0.11.0',
],
'test-cpu': [
'-r test',
'onnxruntime==1.0.0',
],
'test-gpu': [
'-r test',
# 'cupy', # installed 'cupy-cudaXX' before
# to avoid to match cuDNN version supported by onnxruntime,
# install CPU version.
'onnxruntime==1.0.0',
],
'doctest': [
'sphinx==1.8.2',
],
'travis': [
'-r stylecheck',
'-r test-cpu',
'-r doctest',
'pytest-cov',
'codecov',
],
'flexci': [
'-r test-gpu',
'pytest-cov',
]
}
def reduce_requirements(key):
# Resolve recursive requirements notation (-r)
reqs = requirements[key]
resolved_reqs = []
for req in reqs:
if req.startswith('-r'):
depend_key = req[2:].lstrip()
reduce_requirements(depend_key)
resolved_reqs += requirements[depend_key]
else:
resolved_reqs.append(req)
requirements[key] = resolved_reqs
for k in requirements.keys():
reduce_requirements(k)
setup(
name='onnx-chainer',
packages=[
'onnx_chainer',
'onnx_chainer.functions',
'onnx_chainer.testing',
],
version='1.6.0',
description='Convert a Chainer model into ONNX',
long_description=open('README.md').read(),
long_description_content_type='text/markdown',
author='Shunta Saito',
author_email='shunta@preferred.jp',
url='https://github.com/chainer/onnx-chainer',
keywords='ONNX Chainer model converter deep learning',
install_requires=requirements['install'],
tests_require=requirements['test'],
extras_require={k: v for k, v in requirements.items() if k != 'install'},
license='MIT License',
)