forked from gioelelm/scanpy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
78 lines (73 loc) · 2.54 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
from setuptools import setup, find_packages
from distutils.extension import Extension
from pathlib import Path
import versioneer
try:
import numpy
except ImportError:
raise ImportError('You need to install numpy manually, e.g., by running `pip install numpy`.')
use_cython = False
if use_cython:
try:
from Cython.Distutils import build_ext
except ImportError:
raise ImportError('You need to install Cython manually if you want to install using Cython, e.g., by running `pip install cython`.')
cmdclass = {}
ext_modules = []
if use_cython:
ext_modules += [
Extension("scanpy.cython.utils_cy",
["scanpy/cython/utils_cy.pyx"]),
]
cmdclass.update({'build_ext': build_ext})
else:
ext_modules += [
Extension("scanpy.cython.utils_cy",
["scanpy/cython/utils_cy.c"],
include_dirs=[numpy.get_include()]),
]
req_path = Path('requires.txt')
if not req_path.is_file():
req_path = Path('scanpy.egg-info') / req_path
with req_path.open() as requirements:
requires = [l.strip() for l in requirements]
with open('README.rst') as readme_f:
readme = readme_f.read()
setup(
name='scanpy',
version=versioneer.get_version(),
description='Single-Cell Analysis in Python.',
long_description=readme,
url='http://github.com/theislab/scanpy',
author='F. Alexander Wolf, P. Angerer',
author_email='[email protected]',
license='BSD-3-Clause',
entry_points={
'console_scripts': [
'scanpy = scanpy.__main__:main',
],
},
install_requires=requires,
packages=find_packages(exclude=['scripts', 'scripts.*']),
include_dirs=[numpy.get_include()],
cmdclass=versioneer.get_cmdclass(cmdclass),
ext_modules=ext_modules,
zip_safe=False,
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Console',
'Framework :: Jupyter',
'Intended Audience :: Developers',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',
'Natural Language :: English',
'Operating System :: MacOS :: MacOS X',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX :: Linux',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Topic :: Scientific/Engineering :: Bio-Informatics',
'Topic :: Scientific/Engineering :: Visualization',
],
)