-
Notifications
You must be signed in to change notification settings - Fork 94
Expand file tree
/
Copy pathsetup.cfg
More file actions
130 lines (123 loc) · 3.91 KB
/
Copy pathsetup.cfg
File metadata and controls
130 lines (123 loc) · 3.91 KB
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
[metadata]
author = Xarray-Spatial Developers
classifiers =
Development Status :: 4 - Beta
Intended Audience :: Developers
Intended Audience :: Science/Research
License :: OSI Approved :: MIT License
Operating System :: OS Independent
Programming Language :: Python :: 3
description = xarray-based spatial analysis tools
license = MIT
license_file = LICENSE.txt
long_description = file: README.md
long_description_content_type = text/markdown
name = xarray-spatial
platforms = any
url = https://github.com/xarray-contrib/xarray-spatial
[options]
include_package_data = True
install_requires =
numba
scipy
xarray
numpy
urllib3
zstandard
packages = find:
python_requires = >=3.12
setup_requires = setuptools_scm
zip_safe = False
[options.entry_points]
console_scripts =
xrspatial = xrspatial.__main__:main
xarray.backends =
xrspatial = xrspatial.geotiff._xarray_backend:GeoTIFFBackendEntrypoint
[options.extras_require]
doc =
dask[dataframe]
geopandas
Jinja2 >=2.11
ipykernel
matplotlib
myst-parser
nbsphinx
numpydoc
pandoc
pydata_sphinx_theme
sphinx
sphinx-panels
sphinx_rtd_theme
examples =
datashader >= 0.15.0
plot =
# Optional for the .xrs.plot accessor helpers. Every matplotlib
# import in the package is lazy, so the compute functions work
# without this extra installed.
matplotlib
vector =
# Optional for the vector-to-raster paths (rasterize, polygonize).
# shapely is imported lazily so `import xrspatial` does not load it.
shapely>=2.0
optional =
# Optional for polygonize return types.
awkward>=1.4
geopandas
spatialpandas
# Optional for gpu_rtx functions. Also requires cupy.
rtxpy
reproject =
pyproj
geotiff =
deflate
# Required by the GeoTIFF writer to classify EPSG codes as
# geographic vs projected. Without pyproj the writer can only
# handle a tiny hard-coded allowlist of EPSGs and raises
# UnknownCRSModelTypeError on anything else. See issue #2277.
pyproj
dask =
dask[array]
dask-geopandas
gpu =
cupy
cuspatial
tests =
flake8
geopandas
hypothesis
isort
matplotlib
noise >= 1.2.2
dask
pyarrow
pyproj
pytest
pytest-cov
scipy
shapely>=2.0
[flake8]
exclude =
.git,
.asv,
__pycache__,
max-line-length = 100
[tool:pytest]
filterwarnings =
ignore::numba.core.errors.NumbaPerformanceWarning
ignore::numba.core.errors.NumbaPendingDeprecationWarning
ignore:You will likely lose important projection information:UserWarning:pyproj
ignore:cost_distance. max_cost is infinite:UserWarning:xrspatial
ignore:surface_distance. max_distance is infinite:UserWarning:xrspatial
ignore:proximity. target coordinates exceed:ResourceWarning:xrspatial
ignore:viewshed. grid exceeds memory:UserWarning:xrspatial
ignore:Covariance of the parameters could not be estimated:scipy.optimize.OptimizeWarning
ignore:'oneOf' deprecated:DeprecationWarning:matplotlib
ignore:'parseString' deprecated:DeprecationWarning:matplotlib
ignore:'resetCache' deprecated:DeprecationWarning:matplotlib
ignore:'enablePackrat' deprecated:DeprecationWarning:matplotlib
ignore:'asyncio.AbstractEventLoopPolicy' is deprecated:DeprecationWarning:pytest_asyncio
markers =
slow: long-running test cell (typical: golden-corpus fixtures behind a heavy codec or large pixel count). PR CI can skip with `-m "not slow"`; nightly / release runs use no filter. See xrspatial/geotiff/tests/golden_corpus/_marks.py for the corpus-side helper.
release_gate: locks a single stable feature in the GeoTIFF release contract (epic #2340). Always runs by default in CI; the marker exists so release engineers can run only these gates with `pytest -m release_gate` before tagging a release. Tests in this marker should be small, deterministic, and fail loudly if the contract breaks.
[isort]
line_length = 100