Skip to content

Commit 0034367

Browse files
wrignj08claude
andcommitted
Declare pandas, shapely, pyproj and packaging as dependencies
All four are imported at module scope and sit on the import omniwatermask path, but none appeared in dependencies. Every install has relied on them arriving transitively: pandas, shapely and pyproj through geopandas, and packaging through huggingface_hub, which declares packaging>=20.9. Nothing has broken, since each is a hard requirement of a package this project does declare, but the imports would fail the moment an intermediary dropped one, and that surfaces as a ModuleNotFoundError on import rather than as a resolver error at install time. The floors for pandas, shapely and pyproj mirror what geopandas>=1.0 already imposes. Only long-stable API is used from each (pd.concat and read_csv, shapely.geometry.box, CRS.from_epsg), so declaring less would not be installable alongside geopandas rather than extending support. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 3237fcd commit 0034367

2 files changed

Lines changed: 9 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
## [Unreleased]
4+
5+
### Fixed
6+
- `pandas`, `shapely`, `pyproj` and `packaging` are now declared as dependencies. All four are imported at module scope — `pandas` by `download_models.py`, `target_builders.py` and `vector_cache.py`, `shapely` by `target_builders.py` and `vector_cache.py`, and `pyproj` and `packaging` by `target_builders.py` — so all four sit on the `import omniwatermask` path, but none of them appeared in `dependencies`. Every install has therefore been relying on them arriving transitively: the first three through `geopandas`, and `packaging` through `huggingface_hub`, which declares `packaging>=20.9`. Nothing has broken, because each is a hard requirement of a package this project does declare, but the imports would fail the moment an intermediary dropped one, and the failure would surface as a `ModuleNotFoundError` on import rather than as a resolver error at install time. The floors for `pandas`, `shapely` and `pyproj` mirror what `geopandas>=1.0` already imposes, since only long-stable API is used from each (`pd.concat`/`read_csv`, `shapely.geometry.box`, `CRS.from_epsg`) and declaring less would not be installable alongside geopandas rather than extending support.
7+
38
## [0.6.2] - Aug 18, 2026
49

510
### Fixed

pyproject.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ dependencies = [
1313
"omnicloudmask>=1.7.1",
1414
"opencv-python>=4.9.0.80",
1515
"geopandas>=1.0",
16+
"pandas>=1.4.0",
17+
"shapely>=2.0.0",
18+
"pyproj>=3.3.0",
1619
"osmnx>=2.0.0",
1720
"overturemaps>=1.0.0",
1821
"scipy>=1.10.0",
@@ -25,6 +28,7 @@ dependencies = [
2528
"torch>=2.3.0",
2629
"tqdm>=4.0",
2730
"platformdirs>=4.0.0",
31+
"packaging>=20.9",
2832
"fastai>=2.7",
2933
# spaCy 3.8.14 and 3.8.15 publish neither a cp314 wheel nor an sdist, so on
3034
# Python 3.14 there is nothing for the resolver to install; 3.8.13 and

0 commit comments

Comments
 (0)