-
Notifications
You must be signed in to change notification settings - Fork 51
/
setup.py
98 lines (85 loc) · 2.53 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
# -*- coding: utf-8 -*-
"""Perses: Tools for expanded-ensemble simulations with OpenMM
"""
from __future__ import absolute_import, print_function
DOCLINES = __doc__.split("\n")
import os
import sys
from os.path import join as pjoin
from os.path import relpath
from setuptools import setup
import versioneer
try:
sys.dont_write_bytecode = True
sys.path.insert(0, ".")
finally:
sys.dont_write_bytecode = False
if "--debug" in sys.argv:
sys.argv.remove("--debug")
DEBUG = True
else:
DEBUG = False
# Useful function
def find_package_data(data_root, package_root):
files = []
for root, dirnames, filenames in os.walk(data_root):
for fn in filenames:
files.append(relpath(pjoin(root, fn), package_root))
return files
CLASSIFIERS = """\
Intended Audience :: Science/Research
Intended Audience :: Developers
License :: OSI Approved :: MIT License
Programming Language :: C++
Programming Language :: Python
Development Status :: 4 - Beta
Topic :: Software Development
Topic :: Scientific/Engineering
Operating System :: POSIX
Operating System :: Unix
Operating System :: MacOS
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
"""
extensions = []
setup(
name="perses",
author="John D. Chodera",
author_email="john.chodera@choderalab.org",
description=DOCLINES[0],
long_description="\n".join(DOCLINES[2:]),
version=versioneer.get_version(),
cmdclass=versioneer.get_cmdclass(),
url="https://github.com/choderalab/perses",
platforms=["Linux", "Mac OS-X", "Unix"],
classifiers=CLASSIFIERS.splitlines(),
packages=[
"perses",
"perses.storage",
"perses.analysis",
"perses.samplers",
"perses.rjmc",
"perses.annihilation",
"perses.bias",
"perses.tests",
"perses.dispersed",
"perses.app",
"perses.utils",
],
# package_data={'perses' : find_package_data('perses','examples') + find_package_data('perses','data')}, # I don't think this works
package_data={
"perses": find_package_data("perses/data", "perses")
}, # I think this is fixed
zip_safe=False,
entry_points={
"openmm.forcefielddir": ["perses=perses:get_datadir"],
"console_scripts": [
"perses-relative = perses.app.setup_relative_calculation:run",
"perses-fah = perses.app.fah_generator:run",
"perses-cli = perses.app.cli:cli",
],
},
ext_modules=extensions,
install_requires=[],
)