-
Notifications
You must be signed in to change notification settings - Fork 7
/
setup.py
72 lines (59 loc) · 1.81 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
from setuptools import setup, find_packages
PACKAGE_NAME = 'aicssegmentation'
"""
Notes:
We get the constants MODULE_VERSION from
See (3) in following link to read about versions from a single source
https://packaging.python.org/guides/single-sourcing-package-version/#single-sourcing-the-version
"""
MODULE_VERSION = ""
exec(open(PACKAGE_NAME + "/version.py").read())
def readme():
with open('README.md',encoding='utf-8') as f:
return f.read()
test_deps = ['pytest', 'pytest-cov']
lint_deps = ['flake8']
interactive_dev_deps = [
'matplotlib',
'jupyter',
'itkwidgets',
'ipython',
'ipywidgets'
]
# may need itkwidgets==0.12.2. if viewer keeps crashing
all_deps = [*test_deps, *lint_deps, *interactive_dev_deps]
extras = {
'test_group': test_deps,
'lint_group': lint_deps,
'interactive_dev_group': interactive_dev_deps,
'all': all_deps
}
setup(name=PACKAGE_NAME,
version=MODULE_VERSION,
description='Scripts for structure segmentation.',
long_description=readme(),
author='AICS',
author_email='jianxuc@alleninstitute.org',
license='Allen Institute Software License',
packages=find_packages(exclude=['tests', '*.tests', '*.tests.*']),
entry_points={
"console_scripts": [
"batch_processing={}.bin.batch_processing:main".format(PACKAGE_NAME)
]
},
install_requires=[
'numpy>=1.15.1',
'scipy>=1.1.0',
'scikit-image==0.15.0',
'pandas>=0.23.4',
'aicsimageio>=3.0.0',
'aicsimageprocessing==0.7.1',
'numba>=0.40.0',
'itk'
],
# For test setup. This will allow JUnit XML output for Jenkins
setup_requires=['pytest-runner'],
tests_require=test_deps,
extras_require=extras,
zip_safe=False
)