-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
103 lines (88 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
99
100
101
102
103
import os
import glob
import shutil
from setuptools import find_packages, Command
from numpy.distutils.core import Extension, setup
# read the contents of your README file
from os import path
this_directory = path.abspath(path.dirname(__file__))
with open(path.join(this_directory, 'README.md'), encoding='utf-8') as f:
long_description = f.read()
upper_files = [
'upper.pyf',
'Upper.f',
'UpperLim.f',
'C0.f',
'CnMax.f',
'CombConf.f',
'y_vs_CLf.f',
'CMaxinf.f',
'ConfLev.f',
'Cinf.f',
'CERN_Stuff.f',
]
upper_f77_paths = []
for fname in upper_files:
upper_f77_paths.append(f"darklim/limit/_upper/{fname}")
ext1 = Extension(
name='darklim.limit._upper.upper',
sources=upper_f77_paths,
)
upper_data_files = [
'CMaxf.txt',
'CMax.txt',
'Cm.txt',
'ymintable.txt',
'y_vs_CLf.txt',
]
upper_data_paths = []
for fname in upper_data_files:
upper_data_paths.append(f"darklim/limit/_upper/{fname}")
class CleanCommand(Command):
"""Custom clean command to tidy up the project root."""
CLEAN_FILES = './build ./dist ./*.pyc ./*.tgz ./*.egg-info'.split(' ')
user_options = []
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self):
here = os.path.dirname(os.path.abspath(__file__))
for path_spec in self.CLEAN_FILES:
# Make paths absolute and relative to this path
abs_paths = glob.glob(os.path.normpath(os.path.join(here, path_spec)))
for path in [str(p) for p in abs_paths]:
if not path.startswith(here):
# Die if path in CLEAN_FILES is absolute + outside this directory
raise ValueError("%s is not a path inside %s" % (path, here))
print('removing %s' % os.path.relpath(path))
shutil.rmtree(path)
setup(
name="darklim",
version="0.1.3",
description="DM Limit Setting and Sensitivity",
long_description=long_description,
long_description_content_type='text/markdown',
author="Samuel Watkins",
author_email="samwatkins@berkeley.edu",
url="https://github.com/spice-herald/darklim",
license_files = ('LICENSE', ),
packages=find_packages(),
zip_safe=False,
cmdclass={
'clean': CleanCommand,
},
install_requires=[
'numpy',
'scipy',
'matplotlib',
'mendeleev',
'scikit-learn',
],
data_files=[
('darklim/limit/_upper/', upper_data_paths),
],
ext_modules=[
ext1,
],
)