-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
99 lines (89 loc) · 2.69 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
#!/usr/bin/python
import sys
from setuptools import setup, find_packages
from setuptools.extension import Extension
from distutils.core import setup
from Cython.Build import build_ext
import numpy
name = "quest"
def make_extension(ext):
"""generate an Extension object from its dotted name
"""
name = (ext[0])[2:-4]
name = name.replace("/", ".")
name = name.replace("\\", ".")
sources = ext[0:]
return Extension(
name,
sources=sources,
include_dirs=[numpy.get_include(), "."],
extra_compile_args=[],
extra_link_args=[],
libraries=[],
library_dirs=["."],
language="c++")
args = sys.argv[1:]
# We want to always use build_ext --inplace
if args.count("build_ext") > 0 and args.count("--inplace") == 0:
sys.argv.insert(sys.argv.index("build_ext")+1, "--inplace")
# and build up the set of Extension objects
extension_list = [
['./quest/lib/fps/fps.pyx', './quest/lib/fps/mt19937cok.cpp'],
['./quest/lib/math/functions/rdf.pyx'],
['./quest/lib/math/functions/small.pyx'],
['./quest/lib/math/linalg/vector.pyx'],
['./quest/lib/structure/cStructure.pyx'],
['./quest/lib/tools/dye_diffusion/photon.pyx', './quest/lib/tools/dye_diffusion/mt19937cok.cpp'],
]
extensions = [make_extension(extension) for extension in extension_list]
long_description = "QuEst is a Quenching Estimator"
setup(
version="19.8.13",
description="QuEst estimates the fluorescence quenching of dyes tethered to proteins",
long_description=long_description,
author="Thomas-Otavio Peulen",
author_email='thomas.otavio.peulen@gmail.com',
url='https://github.com/Fluorescence-Tools/quest',
name="quest",
classifiers=[
'Environment :: X11 Applications :: Qt',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: MIT License',
'Natural Language :: English',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX :: Linux',
'Programming Language :: Python :: 3.7',
'Topic :: Scientific/Engineering',
],
keywords='fluorescence quenching',
packages=find_packages(
include=(name + "*",)
),
package_data={
'': [
'*.json',
'*.yaml',
'*.ui',
'*.png',
'*.svg',
'*.css',
'*.so',
'*.dll'
],
},
install_requires=[
'numpy',
'sip',
'PyQt5',
'PyYAML',
'tables',
'numexpr'
],
ext_modules=extensions,
cmdclass={
'build_ext': build_ext
},
entry_points={
"gui_scripts": ["cs.quest=quest.quest_gui:start_gui"]
}
)