-
Notifications
You must be signed in to change notification settings - Fork 17
/
setup.py
111 lines (104 loc) · 3.41 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
"""
the magick behind ``pip install ...``
"""
import os
import platform
import sys
from setuptools import find_packages, setup
def get_long_description():
"""returns contents of README.md file"""
with open("README.md", "r", encoding="utf8") as file:
long_description = file.read()
long_description = long_description.replace(
"pympdata_logo.svg", "pympdata_logo.png"
)
return long_description
CI = "CI" in os.environ
_32bit = platform.architecture()[0] == "32bit"
setup(
name="PyMPDATA",
description="Numba-accelerated Pythonic implementation of MPDATA "
"with examples in Python, Julia, Rust and Matlab",
use_scm_version={"local_scheme": lambda _: "", "version_scheme": "post-release"},
setup_requires=["setuptools_scm"],
install_requires=[
"numba"
+ (
{
8: "==0.58.1",
9: "==0.58.1",
10: "==0.58.1",
11: "==0.58.1",
12: "==0.59.1",
13: "==0.59.1",
}[sys.version_info.minor]
if CI and not _32bit
else ""
),
"numpy"
+ (
{
8: "==1.24.4",
9: "==1.24.4",
10: "==1.24.4",
11: "==1.24.4",
12: "==1.26.4",
13: "==1.26.4",
}[sys.version_info.minor]
if CI
else ""
),
"pystrict",
],
extras_require={
"tests": [
"PyMPDATA-examples",
"matplotlib" + (">=3.2.2" if CI else ""),
"scipy"
+ (
{
8: "==1.10.1",
9: "==1.10.1",
10: "==1.10.1",
11: "==1.10.1",
12: "==1.13.0",
13: "==1.13.0",
}[sys.version_info.minor]
if CI and not _32bit
else ""
),
"jupyter-core" + ("<5.0.0" if CI else ""),
"ipywidgets" + ("!=8.0.3" if CI else ""),
"ghapi",
"pytest",
"pytest-benchmark",
"joblib" + ("==1.4.0" if CI else ""),
"imageio",
]
},
author="https://github.com/open-atmos/PyMPDATA/graphs/contributors",
author_email="sylwester.arabas@agh.edu.pl",
license="GPL-3.0",
packages=find_packages(include=["PyMPDATA", "PyMPDATA.*"]),
long_description=get_long_description(),
long_description_content_type="text/markdown",
classifiers=[
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Atmospheric Science",
"Topic :: Scientific/Engineering :: Mathematics",
"Topic :: Scientific/Engineering :: Physics",
"Topic :: Software Development :: Libraries",
],
keywords="atmospheric-modelling, numba, numerical-integration, "
"advection, pde-solver, advection-diffusion",
project_urls={
"Tracker": "https://github.com/open-atmos/PyMPDATA/issues",
"Documentation": "https://open-atmos.github.io/PyMPDATA",
"Source": "https://github.com/open-atmos/PyMPDATA",
},
)