-
Notifications
You must be signed in to change notification settings - Fork 11
/
pyproject.toml
117 lines (111 loc) · 4.3 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
[build-system]
requires = ["setuptools>=64.0.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "dfm_tools"
version = "0.31.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.23 is first not-EOL since june 2024
"numpy>=1.23",
#matplotlib>=3.7.0 successfully creates contour colorbar on uniform values and has several other features
"matplotlib>=3.7.0",
#pandas>=1.4 is required by xarray>=2023.3.0
"pandas>=1.4.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>=2023.9.0 supports 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 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 fixed issue with fill_value and no flexible start_index
"xugrid>=0.12.1",
#cdsapi>=0.7.2 has different error upon dummy dataset
"cdsapi>=0.7.2",
#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>=1.3.4 is the latest version and the developers recommend to always use the latest version until 2.0.0 is released: https://github.com/Deltares/dfm_tools/issues/936
# TODO: remove when dfm_tools is adjusted to not-yet-released 2.0 version: https://github.com/Deltares/dfm_tools/issues/933
"copernicusmarine>=1.3.4,<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.0 supports many more mdu keywords and correct dimr_config.xml for parallel runs
"hydrolib-core>=0.8.0",
#meshkernel>=4.2.0 supports more gridded_samples dtypes and workarounds for non-orthogonal grids
"meshkernel>=4.2.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",
"pytest-timeout",
"twine",
"build",
]
docs = [
"sphinx>=1.8.1",
"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",
]
[tool.flake8]
exclude = "docs"