/
pyproject.toml
115 lines (109 loc) · 3.84 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
[build-system]
requires = ["setuptools>=64.0.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "dfm_tools"
version = "0.22.1"
maintainers = [{ name = "Jelmer Veenstra", email = "jelmer.veenstra@deltares.nl" }]
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 pip install fails in py39, is also 3 years old
"scipy>=1.6.0",
#numpy 1.21 is EOL since june 2023
"numpy>=1.22",
#contour colorbar on uniform values fails with matplotlib<3.7.0, several other features with matplotlib<3.6.0
"matplotlib>=3.7.0",
#pandas>=1.4 is required by xarray>=2023.3.0
"pandas>=1.4.0",
#shapely<2.0.0 give "AttributeError: module 'shapely' has no attribute 'GeometryType'"
"shapely>=2.0.0",
#geopandas<0.13.0 require shapely<2.0.0
"geopandas>=0.13.0",
#fiona<1.9 does not contain sql where filter
"fiona>=1.9",
#contextily<1.0.0 is from April 2020
"contextily>=1.0.0",
#xarray<2023.9.0 does not support multidimensional coordinates (used in e.g. HIRLAM meteo data)
"xarray>=2023.9.0",
#dask version is aligned with xarray
"dask>=2023.9.0",
#netcdf4<1.5.4 pip install fails in py39
"netcdf4>=1.5.4",
#bottleneck<1.3.3 pip install fails in py39
"bottleneck>=1.3.3",
#xugrid<0.9.0 does not support partitioned 1d2d grids
"xugrid>=0.9.0",
#cdsapi<0.6.1 is from Feb 2021 and does not support newer python versions
"cdsapi>=0.6.1",
#pydap<3.4.0 is from May 2017 and does not support newer python versions
"pydap>=3.4.0",
#erddapy<2.0.0 does not support pandas>=2.0.0
"erddapy>=2.0.0",
#copernicusmarine<1.1.0 does not support insitu data via files service and does not check credentials upon login
"copernicusmarine>=1.1.0",
#rws-ddlpy<0.4.0 does not yet have `ddlpy.dataframe_to_xarray()`
"rws-ddlpy>=0.4.0",
#pooch<1.1.0 do not have attribute retrieve
"pooch>=1.1.0",
#hydrolib-core 0.7.0 supports meshkernel>=4.1.0
"hydrolib-core>=0.7.0",
#meshkernel<4.1.0 does not support contacts_get, no macos support, etc
"meshkernel>=4.1.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",
]
[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",
"twine",
"build",
]
docs = [
"mkdocs",
"mkdocs-material",
"mkdocs-jupyter",
"mkdocstrings-python",
"mkdocs-exclude",
]
examples = [
"jupyter",
"notebook",
]
[tool.setuptools]
packages = ["dfm_tools"]
[tool.pytest.ini_options]
console_output_style = "count"
testpaths = ["tests"]
addopts = "-v --tb=short --durations=0"
filterwarnings = ["ignore::UserWarning"]
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)",
]
[tool.flake8]
exclude = "docs"