jiayuasu opened a new pull request, #1095: URL: https://github.com/apache/sedona-db/pull/1095
`sedonadb-geopandas` (added in #1052) is not referenced by any workflow, so its tests never run upstream and it has no path to release: the main `pytest` invocation runs inside `python/sedonadb` and does not collect them, and there is no wheel build. This wires the package in the same way the other Python packages are wired, and fixes two packaging problems found along the way. ## Python CI Installs the package (after `sedonadb` and `sedonadb-expr`, so pip resolves both from source rather than PyPI) and runs its 23 tests, mirroring the existing `sedonadb-expr` steps. ## Wheels `wheels-geopandas.yml`, modelled on `wheels-expr.yml`: build a universal wheel and sdist, test the built wheel, then publish nightly to Gemfury. It downloads **both** the `sedonadb` and the `sedonadb-expr` wheel artifacts, because the `.geo` accessor this package delegates to comes from `sedonadb-expr`. Invoked from `python-wheels.yml` with `needs: ["expr"]` (which transitively waits on the core wheel jobs), plus the corresponding paths trigger. ## Release verification `verify-release-candidate.sh` now installs and tests this package alongside `sedonadb-expr` and `sedonadb-zarr`. Without this it would ship in the release tarball unverified. ## Fix: version was hard-coded The package declared `version = "0.4.0"` literally, while the sibling Python packages derive their version from the workspace `Cargo.toml`. Two consequences: every nightly wheel would publish as the same `0.4.0`, and the value would silently drift from the workspace at each release bump. It now uses the same `_version.py` + `[tool.hatch.version]` mechanism as `sedonadb-expr`. Verified end to end: `ci/scripts/set_dev_version.py` rewrites the workspace version to `0.4.0-alpha62`, and the resulting wheel is `sedonadb_geopandas-0.4.0a62-py3-none-any.whl`. ## Fix: dependency floors did not admit nightlies Dependencies were unpinned (`sedonadb`, `sedonadb-expr`). Nightly builds version as `0.4.0aN`, which is PEP 440-*less* than `0.4.0`, so a plain `>=0.4.0` floor would reject the matching nightly wheel and break `pip install` of the nightly for users, not just CI — the same trap documented in `sedonadb-zarr`. The floors are now explicit prereleases: `sedonadb>=0.4.0a0` and `sedonadb-expr>=0.4.0a0`. Confirmed: `0.4.0a62` satisfies `>=0.4.0a0` and is rejected by `>=0.4.0`. ## Not included `packaging.yml`, which installs packages so mkdocstrings can build generated API-reference pages. This package has no such page, so adding it there would have no effect. ## Verification Wheel and sdist build; wheel metadata carries the intended `Requires-Dist` and extras; both workflow files parse and the job graph resolves as expected; `bash -n` passes on the release script; `ruff format` / `ruff check` clean; the package's 23 tests pass via the exact commands CI runs. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
