forked from choderalab/pymbar
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
63 lines (52 loc) · 2.49 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
"""
setup.py: Install pymbar.
"""
from distutils.sysconfig import get_config_var
from distutils.core import setup, Extension
import numpy
import glob
CMBAR = Extension('_pymbar',
sources = ["src/pymbar/_pymbar.c"],
extra_compile_args=["-std=c99","-O2","-shared","-msse2","-msse3"],
include_dirs = [numpy.get_include(),numpy.get_include()+"/numpy/"]
)
def buildKeywordDictionary():
from distutils.core import Extension
setupKeywords = {}
setupKeywords["name"] = "pymbar"
setupKeywords["version"] = "2.0.1-beta"
setupKeywords["author"] = "Michael R. Shirts and John D. Chodera"
setupKeywords["author_email"] = "[email protected], [email protected]"
setupKeywords["license"] = "GPL 2.0"
setupKeywords["url"] = "http://github.com/choderalab/pymbar"
setupKeywords["download_url"] = "http://github.com/choderalab/pymbar"
setupKeywords["packages"] = ['pymbar']
setupKeywords["package_dir"] = {'pymbar' : 'src/pymbar'}
#setupKeywords["py_modules"] = ["pymbar", "timeseries", "testsystems", "confidenceintervals"]
setupKeywords["data_files"] = []
setupKeywords["ext_modules"] = [CMBAR]
# setupKeywords["test_suite"] = "tests" # requires we migrate to setuptools
setupKeywords["platforms"] = ["Linux", "Mac OS X", "Windows"]
setupKeywords["description"] = "Python implementation of the multistate Bennett acceptance ratio (MBAR) method."
setupKeywords["requires"] = ["numpy"]
setupKeywords["long_description"] = """
Pymbar (https://simtk.org/home/pymbar) is a library
that provides tools for optimally combining simulations
from multiple thermodynamic states using maximum likelihood
methods to compute free energies (normalization constants)
and expectation values from all of the samples simultaneously.
"""
outputString=""
firstTab = 40
secondTab = 60
for key in sorted( setupKeywords.iterkeys() ):
value = setupKeywords[key]
outputString += key.rjust(firstTab) + str( value ).rjust(secondTab) + "\n"
print("%s" % outputString)
get_config_var(None) # this line is necessary to fix the imports Mac OS X
return setupKeywords
def main():
setupKeywords = buildKeywordDictionary()
setup(**setupKeywords)
if __name__ == '__main__':
main()