-
Notifications
You must be signed in to change notification settings - Fork 33
/
pyproject.toml
124 lines (109 loc) · 3.58 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
[build-system]
requires = ["flit_core >=3.4.0,<4"]
build-backend = "flit_core.buildapi"
[project]
name = "pyopenrivercam"
authors = [
{ name = "Hessel Winsemius", email = "winsemius@rainbowsensing.com" },
]
packages = [
{ include = "pyorc" }
]
dependencies = [
"click",
"cython; platform_machine == 'armv7l'",
"dask",
"descartes",
"ffpiv",
"flox",
"geojson",
"geopandas",
"matplotlib",
"netCDF4",
"numba",
"numpy>=1.23, <2", # pin version to ensure compatibility with C-headers
"opencv-python",
"openpiv",
"packaging; platform_machine == 'armv7l'",
"pip",
"pyproj",
"pythran; platform_machine == 'armv7l'",
"pyyaml",
"rasterio<1.4.0",
"scikit-image",
"scipy",
"shapely",
"tqdm",
"typeguard",
"xarray"
]
requires-python =">=3.9"
readme = "README.md"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Hydrology",
"Topic :: Scientific/Engineering :: Image Processing",
"License :: OSI Approved :: GNU Affero General Public License v3",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11"
]
dynamic = ['version', 'description']
[project.optional-dependencies]
extra = [
"notebook",
"cartopy",
]
test = [
"pytest",
"pytest-cov",
]
docs = [
"sphinx==5.3", # >6.0 causes bug in pydata_sphinx_theme
"sphinx_autosummary_accessors",
"sphinxcontrib-programoutput",
"sphinx_rtd_theme",
"sphinx-design",
"pydata_sphinx_theme",
"ipykernel",
"nbsphinx",
"sphinx-gallery",
"pandoc",
"matplotlib",
]
full = ["pyopenrivercam[extra,test,docs]"]
[project.urls]
Source = "https://github.com/localdevices/pyorc"
[project.scripts]
pyorc = "pyorc.cli.main:cli"
[tool.flit.sdist]
include = ["pyorc"]
[tool.flit.module]
name = "pyorc"
[tool.pytest.ini_options]
addopts = "--ff "
testpaths = ["tests"]
filterwarnings = [
"ignore:This process *:DeprecationWarning:multiprocessing", # dask issue, related to python 3.12 stricter multiprocessing checks.
"ignore:All-NaN slice encountered*:RuntimeWarning", # expected behaviour when only NaNs occur in slicing in velocimetry results.
"ignore:invalid value encountered*:RuntimeWarning", # linestrings issue with plotting transects.
"ignore:Degrees of freedom *:RuntimeWarning", # not fully clear why this appears in user interfacing, test with future updates.
"ignore:numpy.ndarray size changed, may indicate binary incompatibility:RuntimeWarning", # likely caused by incompatibility in used numpy version across libraries. May resolve with future updates.
"ignore:\"openpiv\" is currently the default engine, but it will be replaced by \"numba\" in a future release:DeprecationWarning", # must be removed when openpiv is removed as dependency
"ignore:Memory availability*:UserWarning", # memory availability may be small during test, not problematic
]
[tool.ruff]
line-length = 120
target-version = "py312"
exclude = ["docs"]
[tool.ruff.lint]
# enable pydocstyle (E), pyflake (F) and isort (I), pytest-style (PT), bugbear (B)
select = ["E", "F", "I", "PT", "D", "B", "ICN", "TID"]
ignore = ["D211", "D213", "D206", "D400", "E741", "D105", "D203", "E712", "B904"] # "E501" line length
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["D100", "D101", "D102", "D103", "D104"]
"pyorc/__init__.py" = ["E402", "F401", "F403"]
"tests/conftest.py" = ["E402"]