-
Notifications
You must be signed in to change notification settings - Fork 117
/
setup.py
108 lines (94 loc) · 3.31 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
#!/usr/bin/env python
"""PySlurm: Python bindings for the Slurm C API.
more description here.
"""
from __future__ import division, print_function
import sys
from distutils.core import setup, Extension
from distutils.version import LooseVersion
from os import path
VENDOR = "PySlurm"
CYTHON_VERSION_MIN = "0.15"
if sys.version_info[:2] < (2, 6) or (3, 0) <= sys.version_info[:2] < (3, 3):
raise RuntimeError("Python >= 2.6 or >= 3.3 is required to run %s." %
VENDOR)
try:
from Cython.Build import cythonize
from Cython.Compiler.Version import version as cython_version
if LooseVersion(cython_version) < LooseVersion(CYTHON_VERSION_MIN):
raise Exception("Building %s requires Cython >= %s" % (
VENDOR, CYTHON_VERSION_MIN))
except ImportError:
raise OSError("Cython >= %s is required to build %s." %
(CYTHON_VERSION_MIN, VENDOR))
extensions = [
Extension(
"pyslurm/node",
["pyslurm/node.pyx"],
include_dirs=["/usr/local/slurm/include"],
libraries=["slurm"],
library_dirs=["/usr/local/slurm/lib"]
),
Extension(
"pyslurm/job",
["pyslurm/job.pyx"],
include_dirs=["/usr/local/slurm/include"],
libraries=["slurm"],
library_dirs=["/usr/local/slurm/lib"]
),
Extension(
"pyslurm/statistics",
["pyslurm/statistics.pyx"],
include_dirs=["/usr/local/slurm/include"],
libraries=["slurm"],
library_dirs=["/usr/local/slurm/lib"]
),
Extension(
"pyslurm/misc",
["pyslurm/misc.pyx"],
include_dirs=["/usr/local/slurm/include"],
libraries=["slurm"],
library_dirs=["/usr/local/slurm/lib"]
)
]
here = path.abspath(path.dirname(__file__))
with open(path.join(here, "README.rst")) as f:
long_description = f.read()
setup (
name="pyslurm",
version="15.08.10",
description="Python Bindings for Slurm",
long_description=long_description,
author = "Mark Roberts",
author_email = "mark@gingergeeks co uk",
license= "GPL",
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: GNU General Public License (GPL)",
"Natural Language :: English",
"Operating System :: POSIX :: Linux",
"Programming Language :: Cython",
"Programming Language :: Python",
"Programming Language :: Python :: 2.6",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: System :: Distributed Computing"
],
keywords = ["HPC", "Batch Scheduler", "Resource Manager", "Slurm", "Cython"],
packages = ["pyslurm"],
platforms = ["Linux"],
# maintainer = "PySlurm Developers",
# maintainer_email = "[email protected]",
url = "http://github.com/PySlurm/pyslurm",
ext_modules = cythonize(extensions),
# cmdclass = {"build_ext": build_ext },
)
#if __name__ == "__main__":
# setup_package()