-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsetup.py
More file actions
executable file
·108 lines (87 loc) · 3.03 KB
/
setup.py
File metadata and controls
executable file
·108 lines (87 loc) · 3.03 KB
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
#!/usr/bin/env python
"""Setup script for GWsetp."""
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: GWplotting 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 package_data."""
package_data = {}
return package_data
def find_scripts():
"""Find scripts."""
scripts = []
#
# All python files in HTGW/scripts
pyfiles = glob(os.path.join('HTGW', '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('HTGW.egg-info')
except:
try:
os.unlink('HTGW.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",
"pymongo",
"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="HTGW",
version="0.0.0",
description="package for automatic GW calculations",
long_description="convergence testing, plotting, flowgeneration, ",
author="Michiel van Setten",
author_email="mjvansetten@gmail.com",
#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()