-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathpyproject.toml
130 lines (124 loc) · 4.82 KB
/
pyproject.toml
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
[build-system]
requires = ["setuptools>=64.0.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "dfm_tools"
version = "0.35.1"
maintainers = [{ name = "Jelmer Veenstra", email = "[email protected]" }]
description = "dfm_tools are pre- and post-processing tools for Delft3D FM"
readme = "README.md"
keywords = ["dfm_tools", "D-FlowFM", "D-HYDRO", "post-processing", "pre-processing", "mapfiles", "hisfiles", "modelbuilder"]
license = { text = "LGPLv3" }
requires-python = ">=3.9"
dependencies = [
#scipy>=1.6.0 successfully pip installs in py39, is also 3 years old
"scipy>=1.6.0",
#numpy>=1.25 is first not-EOL since dec 2024
"numpy>=1.25",
#matplotlib>=3.7.0 successfully creates contour colorbar on uniform values and has several other features
"matplotlib>=3.7.0",
#pandas>=2.0.0 resolves futurewarnings in https://github.com/Deltares/dfm_tools/issues/1065
"pandas>=2.0.0",
#shapely>=2.0.0 fixes "AttributeError: module 'shapely' has no attribute 'GeometryType'"
"shapely>=2.0.0",
#geopandas>=0.13.0 supports shapely>=2.0.0
"geopandas>=0.13.0",
#fiona>=1.9 contains sql where filter
"fiona>=1.9",
#contextily>=1.6.2 has fixed axis scaling: https://github.com/geopandas/contextily/issues/251
"contextily>=1.6.2",
#xarray>=2024.7.0 includes fix for numpy v2: https://github.com/pydata/xarray/issues/9179
"xarray>=2024.7.0",
#dask version is aligned with xarray
"dask>=2023.9.0",
#netcdf4>=1.5.4 successfully pip installs in py39
"netcdf4>=1.5.4",
#bottleneck>=1.3.3 successfully pip installs in py39
"bottleneck>=1.3.3",
#xugrid>=0.12.1 fixes warnings, properly closes datasets and adds from_structured method
"xugrid>=0.12.2",
#cdsapi>=0.7.5 resolves many deprecationwarnings
"cdsapi>=0.7.5",
#pydap>=3.4.0 is the first with support for newer python versions
"pydap>=3.4.0",
#erddapy>=2.0.0 supports pandas>=2.0.0
"erddapy>=2.0.0",
#copernicusmarine>=2.0.0 has breaking changes compared to v1
"copernicusmarine>=2.0.0",
#rws-ddlpy>=0.6.0 `ddlpy.measurements_amount()` returns all amounts
"rws-ddlpy>=0.6.0",
#pooch>=1.1.0 has attribute retrieve
"pooch>=1.1.0",
#hydrolib-core>=0.8.1 supports more mdu keywords, meshkernel v6, numpy v2 and python 3.13
"hydrolib-core>=0.8.1",
#meshkernel>=6.0.0 fix in global grid generation and get polygons around non-orthogonal cells
"meshkernel>=6.0.0",
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
"Operating System :: OS Independent",
"Topic :: Scientific/Engineering :: Information Analysis",
"License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)",
"Programming Language :: Python",
"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 :: 3.13",
]
[project.urls]
Home = "https://github.com/deltares/dfm_tools"
Code = "https://github.com/deltares/dfm_tools"
Issues = "https://github.com/deltares/dfm_tools/issues"
[project.optional-dependencies]
dev = [
"bump2version>=0.5.11",
"flake8",
"pytest",
"pytest-cov",
"pytest-timeout",
"twine",
"build",
]
docs = [
"sphinx>=1.8.1",
"sphinx<8.2.0", # temporary upper limit until fix of https://github.com/Deltares/dfm_tools/issues/1137
"sphinx_mdinclude",
"nbsphinx",
"pydata-sphinx-theme",
#"pandoc", # installed with choco on github
]
examples = [
"jupyter",
"notebook",
]
[tool.setuptools]
packages = ["dfm_tools"]
[tool.pytest.ini_options]
console_output_style = "count"
testpaths = ["tests"]
addopts = "-v --tb=short --durations=0"
markers = [
"unittest: mark a test as unittest. Used for testing single methods",
"systemtest: mark a test as systemtest. Used for testing at a higher level, verifying a given input returns the expected output",
"acceptance: mark a test as acceptance. Used for non-functional requirements and data that needs to be human-verified",
"requireslocaldata: mark a test that cannot run on Github",
"requiressecrets: mark a test that requires environment variables to be set (e.g. via Github secrets)",
"era5slow: mark a test that causes timeout errors to prevent failing github testbanks due to badly performing cds-beta",
]
filterwarnings = [
"error",
# to make error work
"ignore::pytest.PytestUnraisableExceptionWarning",
# filter expected warning from dfmt.get_dataset_atdepths()
"ignore:All-NaN slice encountered:RuntimeWarning",
# filter until fix of https://github.com/Deltares/HYDROLIB-core/issues/732
# note the use of single quote below to denote "raw" strings in TOML
'ignore:datetime.datetime.utcnow\(\) is deprecated:DeprecationWarning',
# can be removed once py39 support is dropped since it seems to be resolved in erddapy 2.2.1
"ignore:np.find_common_type is deprecated:DeprecationWarning",
]
[tool.flake8]
exclude = "docs"