-
Notifications
You must be signed in to change notification settings - Fork 26
/
setup.py
114 lines (97 loc) · 3.62 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
110
111
112
113
114
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# This is for setting up libEnsemble, license and details can be
# found at https://github.com/Libensemble/libensemble/
"""libEnsemble
libEnsemble is a Python toolkit for coordinating workflows of asynchronous
and dynamic ensembles of calculations.
libEnsemble can help users take advantage of massively parallel resources to
solve design, decision, and inference problems and expand the class of
problems that can benefit from increased parallelism.
"""
from pathlib import Path
from setuptools import setup
from setuptools.command.test import test as TestCommand
exec(open("libensemble/version.py").read())
class Run_TestSuite(TestCommand):
def run_tests(self):
import os
import sys
py_version = sys.version_info[0]
print("Python version from setup.py is", py_version)
run_string = "libensemble/tests/run-tests.sh -p " + str(py_version)
os.system(run_string)
class ToxTest(TestCommand):
user_options = []
def initialize_options(self):
TestCommand.initialize_options(self)
def run_tests(self):
import tox
tox.cmdline()
setup(
name="libensemble",
version=__version__,
description="Library to coordinate the concurrent evaluation of dynamic ensembles of calculations",
long_description=Path("README.rst").read_text(encoding="utf-8"),
url="https://github.com/Libensemble/libensemble",
author="Jeffrey Larson, Stephen Hudson, Stefan M. Wild, David Bindel and John-Luke Navarro",
author_email="[email protected]",
license="BSD 3-clause",
packages=[
"libensemble",
"libensemble.gen_funcs",
"libensemble.sim_funcs",
"libensemble.sim_funcs.branin",
"libensemble.alloc_funcs",
"libensemble.tests",
"libensemble.comms",
"libensemble.utils",
"libensemble.tools",
"libensemble.tools.live_data",
"libensemble.executors",
"libensemble.resources",
"libensemble.tests.unit_tests",
"libensemble.tests.regression_tests",
],
install_requires=["numpy>=1.21", "psutil>=5.9.4", "pydantic>=1.10", "tomli>=1.2.1", "pyyaml>=6.0"],
# numpy - oldest working version. psutil - oldest working version.
# pyyaml - oldest working version.
# If run tests through setup.py - downloads these but does not install
tests_require=[
"pytest>=3.1",
"pytest-cov>=2.5",
"pytest-pep8>=1.0",
"pytest-timeout",
"mock",
],
extras_require={
"docs": [
"autodoc_pydantic",
"sphinx<9",
"sphinx_design",
"sphinx_rtd_theme",
"sphinxcontrib-bibtex",
"sphinxcontrib-spelling",
"sphinx-copybutton",
],
},
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Natural Language :: English",
"Operating System :: POSIX :: Linux",
"Operating System :: Unix",
"Operating System :: MacOS",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Scientific/Engineering",
"Topic :: Software Development :: Libraries :: Python Modules",
],
cmdclass={"test": Run_TestSuite, "tox": ToxTest},
)