forked from nipy/heudiconv
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
executable file
·80 lines (67 loc) · 2.64 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
#!/usr/bin/env python
# ## ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ##
#
# See COPYING file distributed along with the Heudiconv package for the
# copyright and license terms.
#
# ## ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ##
def main():
import os.path as op
from setuptools import findall, setup, find_packages
thispath = op.dirname(__file__)
ldict = locals()
# Get version and release info, which is all stored in heudiconv/info.py
info_file = op.join(thispath, 'heudiconv', 'info.py')
with open(info_file) as infofile:
exec(infofile.read(), globals(), ldict)
try:
import versioningit
except ImportError:
# versioningit isn't installed; assume we're building a Debian package
# from an sdist on an older Debian that doesn't support pybuild
vglobals = {}
with open(op.join(op.dirname(__file__), "heudiconv", "_version.py")) as fp:
exec(fp.read(), vglobals)
kwargs = {"version": vglobals["__version__"]}
else:
kwargs = {}
def findsome(subdir, extensions):
"""Find files under subdir having specified extensions
Leading directory (datalad) gets stripped
"""
return [
f.split(op.sep, 1)[1] for f in findall(subdir)
if op.splitext(f)[-1].lstrip('.') in extensions
]
# Only recentish versions of find_packages support include
# heudiconv_pkgs = find_packages('.', include=['heudiconv*'])
# so we will filter manually for maximal compatibility
heudiconv_pkgs = [pkg for pkg in find_packages('.') if pkg.startswith('heudiconv')]
setup(
name=ldict['__packagename__'],
author=ldict['__author__'],
#author_email="team@???",
description=ldict['__description__'],
long_description=ldict['__longdesc__'],
license=ldict['__license__'],
classifiers=ldict['CLASSIFIERS'],
packages=heudiconv_pkgs,
entry_points={'console_scripts': [
'heudiconv=heudiconv.cli.run:main',
'heudiconv_monitor=heudiconv.cli.monitor:main',
]},
python_requires=ldict['PYTHON_REQUIRES'],
install_requires=ldict['REQUIRES'],
extras_require=ldict['EXTRA_REQUIRES'],
package_data={
'heudiconv.tests': [
op.join('data', '*.dcm'),
op.join('data', '*', '*.dcm'),
op.join('data', '*', '*', '*.dcm'),
op.join('data', 'sample_nifti*'),
],
},
**kwargs,
)
if __name__ == '__main__':
main()