apache / apache/sedona-db

python/sedonadb: Don't show warnings for no GDAL or pyproj found

Open
#1,149 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
503
Forks
61
Avg merge
2d 5h
Merged PRs (30d)
91

Description

When we're loading sedonadb without dependencies extras like `geopandas`, we get warnings because GDAL/proj can't be configured (even though we can do plenty of things without that).

For lower level extensions using `sedonadb` directly we should have a way to import without configuring! Or have a warning subclass that's easier to turn off selectively.

```
/Users/pouyan/Documents/workspace/wherobots-demos/catalog-demo/lib/python3.14/site-packages/sedonadb/context.py:657: UserWarning: Failed to configure PROJ. Is pyproj or a system install of PROJ available?
Details: tried ['pyproj', 'conda', 'homebrew', 'system']
pyproj: No module named 'pyproj'
conda: 'CONDA_PREFIX'
homebrew: Can't find PROJ shared library matching 'libproj*.dylib' in '/opt/homebrew/lib'
system: Can't load PROJ shared library 'libproj.dylib': Could not find module (or one of its dependencies). Try using the full path with constructor syntax.
warnings.warn(
/Users/pouyan/Documents/workspace/wherobots-demos/catalog-demo/lib/python3.14/site-packages/sedonadb/context.py:919: UserWarning: Failed to configure GDAL. Is rasterio, pyogrio, or a system install of GDAL available?
Details: tried ['rasterio', 'pyogrio', 'conda', 'homebrew', 'system']
rasterio: No module named 'rasterio'
pyogrio: No module named 'pyogrio'
conda: Can't find GDAL shared library matching 'libgdal*.dylib' in '/Users/pouyan/Documents/workspace/wherobots-demos/catalog-demo/lib'
homebrew: Can't load GDAL shared library '/opt/homebrew/lib/libgdal.dylib': dlopen(/opt/homebrew/lib/libgdal.dylib, 0x0006): tried: '/opt/homebrew/lib/libgdal.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/lib/libgdal.dylib' (no such file), '/opt/homebrew/lib/libgdal.dylib' (no such file)
system: Can't load GDAL shared library 'libgdal.dylib': dlopen(libgdal.dylib, 0x0006): tried: 'libgdal.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibgdal.dylib' (no such file), '/opt/homebrew/lib/libgdal.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/lib/libgdal.dylib' (no such file), '/opt/homebrew/lib/libgdal.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/lib/libgdal.dylib' (no such file), '/usr/lib/libgdal.dylib' (no such file, not in dyld cache), 'libgdal.dylib' (no such file)
warnings.warn(
```

Contributor guide

Open the contributing guide

Research direction

Start in sedonadb/context.py at the warning locations shown in the traceback, then trace how loading sedonadb configures PROJ and GDAL when optional dependencies are absent. Determine whether the intended result is silent import support or a selectively suppressible warning, and verify that importing without geopandas, pyproj, rasterio, or pyogrio no longer produces unwanted warnings.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
database
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.