forked from nilearn/nilearn
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
executable file
·117 lines (100 loc) · 4.34 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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#! /usr/bin/env python
descr = """A set of python modules for neuroimaging..."""
import sys
import os
from setuptools import setup, find_packages
def load_version():
"""Executes nilearn/version.py in a globals dictionary and return it.
Note: importing nilearn is not an option because there may be
dependencies like nibabel which are not installed and
setup.py is supposed to install them.
"""
# load all vars into globals, otherwise
# the later function call using global vars doesn't work.
globals_dict = {}
with open(os.path.join('nilearn', 'version.py')) as fp:
exec(fp.read(), globals_dict)
return globals_dict
def is_installing():
# Allow command-lines such as "python setup.py build install"
install_commands = set(['install', 'develop'])
return install_commands.intersection(set(sys.argv))
def list_required_packages():
required_packages = []
required_packages_orig = ['%s>=%s' % (mod, meta['min_version'])
for mod, meta
in _VERSION_GLOBALS['REQUIRED_MODULE_METADATA']
]
for package in required_packages_orig:
if package.startswith('sklearn'):
package = package.replace('sklearn', 'scikit-learn')
required_packages.append(package)
return required_packages
# Make sources available using relative paths from this file's directory.
os.chdir(os.path.dirname(os.path.abspath(__file__)))
_VERSION_GLOBALS = load_version()
DISTNAME = 'nilearn'
DESCRIPTION = 'Statistical learning for neuroimaging in Python'
with open('README.rst') as fp:
LONG_DESCRIPTION = fp.read()
MAINTAINER = 'Gael Varoquaux'
MAINTAINER_EMAIL = 'gael.varoquaux@normalesup.org'
URL = 'http://nilearn.github.io'
LICENSE = 'new BSD'
DOWNLOAD_URL = 'http://nilearn.github.io'
VERSION = _VERSION_GLOBALS['__version__']
if __name__ == "__main__":
if is_installing():
module_check_fn = _VERSION_GLOBALS['_check_module_dependencies']
module_check_fn(is_nilearn_installing=True)
setup(name=DISTNAME,
maintainer=MAINTAINER,
maintainer_email=MAINTAINER_EMAIL,
description=DESCRIPTION,
license=LICENSE,
url=URL,
version=VERSION,
download_url=DOWNLOAD_URL,
long_description=LONG_DESCRIPTION,
zip_safe=False, # the package can run out of an .egg file
classifiers=[
'Intended Audience :: Science/Research',
'Intended Audience :: Developers',
'License :: OSI Approved',
'Programming Language :: C',
'Programming Language :: Python',
'Topic :: Software Development',
'Topic :: Scientific/Engineering',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX',
'Operating System :: Unix',
'Operating System :: MacOS',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
],
packages=find_packages(),
package_data={
'nilearn.datasets.data': ['*.nii.gz', '*.csv', '*.txt'],
'nilearn.datasets.data.fsaverage5': ['*.gz'],
'nilearn.surface.data': ['*.csv'],
'nilearn.plotting.data.js': ['*.js'],
'nilearn.plotting.data.html': ['*.html'],
'nilearn.plotting.glass_brain_files': ['*.json'],
'nilearn.tests.data': ['*'],
'nilearn.image.tests.data': ['*.mgz'],
'nilearn.surface.tests.data': ['*.annot', '*.label'],
'nilearn.datasets.tests.data': ['*.*'],
'nilearn.datasets.tests.data.archive_contents': ['*'],
'nilearn.datasets.tests.data.archive_contents.nyu_rest': ['*'],
'nilearn.datasets.tests.data.archive_contents.test_examples':
['*'],
'nilearn.datasets.description': ['*.rst'],
'nilearn.reporting.data.html': ['*.html'],
'nilearn.glm.tests': ['*.nii.gz', '*.npz'],
'nilearn.reporting.glm_reporter_templates': ['*.html'],
},
install_requires=list_required_packages(),
python_requires='>=3.6',
)