-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsetup.py
109 lines (87 loc) · 2.99 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
104
105
106
107
108
109
__author__ = 'setten'
#!/usr/bin/env python
"""Setup script for PyBench"""
import sys
import os
from glob import glob
from setuptools import find_packages
# changing Python version requirements.
if sys.version[0:3] < '2.7':
sys.stderr.write("ERROR: PyBench requires Python Version 2.7 or above. Exiting.")
sys.exit(1)
def file_doesnt_end_with(test, endings):
"""
A little utility we'll need below, since glob() does NOT allow you to do exclusion on multiple endings!
Return true if test is a file and its name does NOT end with any
of the strings listed in endings.
"""
if not os.path.isfile(test):
return False
for e in endings:
if test.endswith(e):
return False
return True
#---------------------------------------------------------------------------
# Basic project information
#---------------------------------------------------------------------------
def find_package_data():
"""Find PyBench's package_data."""
package_data = {}
return package_data
def find_scripts():
"""Find PyBench scripts."""
scripts = []
#
# All python files in abipy/scripts
pyfiles = glob(os.path.join('PyBench', 'scripts', "*.py") )
scripts.extend(pyfiles)
return scripts
def cleanup():
"""Clean up the junk left around by the build process."""
if "develop" not in sys.argv:
import shutil
try:
shutil.rmtree('PyBench.egg-info')
except:
try:
os.unlink('PyBench.egg-info')
except:
pass
# List of external packages we rely on.
# Note setup install will download them from Pypi if they are not available.
install_requires = [
#"periodictable",
#"numpy>=1.5",
#"scipy>=0.10",
#"matplotlib>=1.1",
"pymatgen>=2.9.0",
]
#---------------------------------------------------------------------------
# Find all the packages, package data, and data_files
#---------------------------------------------------------------------------
# Get the set of packages to be included.
my_packages = find_packages(exclude=())
my_scripts = find_scripts()
my_package_data = find_package_data()
# Create a dict with the basic information
# This dict is eventually passed to setup after additional keys are added.
setup_args = dict(name="PyBench",
version="version",
description="description",
long_description="long_description",
author="author",
author_email="author_email",
#url=url,
#download_url=download_url,
license="license",
platforms="platforms",
keywords="keywords",
install_requires=install_requires,
packages=my_packages,
package_data=my_package_data,
scripts=my_scripts,
)
if __name__ == "__main__":
from setuptools import setup
setup(**setup_args)
cleanup()