Skip to content

Add DuckDB power-user API with auto-resolving query()#422

Open
JoaoCarabetta wants to merge 7 commits into
ipeaGIT:masterfrom
JoaoCarabetta:python-duckdb-api
Open

Add DuckDB power-user API with auto-resolving query()#422
JoaoCarabetta wants to merge 7 commits into
ipeaGIT:masterfrom
JoaoCarabetta:python-duckdb-api

Conversation

@JoaoCarabetta
Copy link
Copy Markdown
Collaborator

Summary

  • Add query(), session(), to_geopandas(), and full _duckdb_backend with spatial + httpfs
  • Auto-resolve missing geo_year snapshot views; warn on bare names (FROM schools) with year-pinning guidance
  • Add demo notebook and comprehensive DuckDB test suite

Test plan

  • test_duckdb_geo, test_duckdb_join, test_duckdb_session, test_duckdb_to_geopandas
  • test_duckdb_auto_resolve* (suffixed, bare-name, error paths)

Depends on #418

Made with Cursor

JoaoCarabetta and others added 4 commits May 21, 2026 12:55
Introduce cached parquet downloads, filtering, multi-format output (sf/arrow/duckdb relation), and shared read_geobr_v2/hybrid helpers to align Python with the R v2.0.0 data path.

Co-authored-by: Cursor <cursoragent@cursor.com>
Expose query, session, to_geopandas, and snapshot auto-resolver for year-suffixed views, with spatial join support and bare-name year warnings.

Co-authored-by: Cursor <cursoragent@cursor.com>
Upgrade deprecated GitHub Actions, use astral-sh/setup-uv cross-platform, and skip network-dependent list_geobr test while testing filters via read_geobr_v2.

Co-authored-by: Cursor <cursoragent@cursor.com>
Load snapshots via read_geobr_hybrid/v2 instead of legacy read_* wrappers, skip re-download when suffixed views exist, and handle WKB blobs in to_geopandas.

Co-authored-by: Cursor <cursoragent@cursor.com>
@rafapereirabr rafapereirabr requested a review from camilagb May 21, 2026 17:19
JoaoCarabetta and others added 2 commits May 21, 2026 15:04
AppVeyor is not required for Python (GitHub Actions Python-CMD-check covers all platforms). Path filters skip builds when only python-package or .github change.

Co-authored-by: Cursor <cursoragent@cursor.com>
Document uv add, the v0.3.0 GeoParquet pipeline, query()/to_geopandas() examples, and related support functions.

Co-authored-by: Cursor <cursoragent@cursor.com>
Retry read_geobr_hybrid with non-simplified parquet when simplified data is missing (fixes schools auto-resolve), add unit and live DuckDB tests, migrate dev deps to dependency-groups, pin urllib3<2 for macOS CI, and add a network test job.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant