-
Notifications
You must be signed in to change notification settings - Fork 14
/
setup.py
79 lines (70 loc) · 2.15 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
import sys
from setuptools import setup, find_packages
try:
from Cython.Distutils import Extension
from Cython.Build import cythonize
except ImportError:
from distutils.core import Extension
def cythonize(*args, **kw):
return args[0]
def get_version():
import os
data = {}
fname = os.path.join('compyle', '__init__.py')
exec(compile(open(fname).read(), fname, 'exec'), data)
return data.get('__version__')
install_requires = ['mako', 'pytools', 'cython', 'numpy']
tests_require = ['pytest']
if sys.version_info[0] < 3:
tests_require += ['mock>=1.0']
docs_require = ['sphinx']
cuda_require = ['pycuda', 'cupy']
opencl_require = ['pyopencl']
classes = '''
Development Status :: 4 - Beta
Intended Audience :: Developers
Intended Audience :: Science/Research
License :: OSI Approved :: BSD License
Natural Language :: English
Operating System :: MacOS :: MacOS X
Operating System :: Microsoft :: Windows
Operating System :: POSIX
Operating System :: Unix
Programming Language :: Python
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Topic :: Scientific/Engineering
Topic :: Software Development :: Code Generators
Topic :: Software Development :: Compilers
Topic :: Software Development :: Libraries
Topic :: Utilities
'''
classifiers = [x.strip() for x in classes.splitlines() if x]
ext_modules = [
Extension(
name="compyle.thrust.sort",
sources=["compyle/thrust/sort.pyx"],
language="c++"
),
]
setup(
name='compyle',
version=get_version(),
author='Prabhu Ramachandran',
author_email='prabhu@aero.iitb.ac.in',
description='Execute a subset of Python on HPC platforms',
long_description=open('README.rst').read(),
license="BSD",
url='https://github.com/pypr/compyle',
classifiers=classifiers,
packages=find_packages(),
ext_modules=cythonize(ext_modules, language="c++"),
install_requires=install_requires,
extras_require={
"docs": docs_require,
"tests": tests_require,
"dev": docs_require + tests_require,
"cuda": cuda_require,
"opencl": opencl_require,
},
)