Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
apacheGH-39942: [Python] Make capsule name check more lenient (apache…
…#39977) ### Rationale for this change While apache#39969 fixed the immediate issue caused by the update of the capsule name used by reticulate whilst converting an R "external pointer", it will still result in an error if somebody is using an older version of the Arrow R package. ### What changes are included in this PR? The pyarrow Cython code was modified to accept capsules with the name NULL or "r_extptr". ### Are these changes tested? Not sure where the best place for this is, but: CRAN arrow + released pyarrow + new reticulate (errors): ``` r library(arrow, warn.conflicts = FALSE) reticulate::use_virtualenv("~/Desktop/rscratch/arrow/.venv") packageVersion("arrow") #> [1] '14.0.0.2' packageVersion("reticulate") #> [1] '1.35.0' pa <- reticulate::import("pyarrow") pa[["__version__"]] #> [1] "15.0.0" reticulate::r_to_py(arrow::int32()) #> PyCapsule_GetPointer called with incorrect name ``` CRAN arrow + pyarrow from this PR + old reticulate: ``` r library(arrow, warn.conflicts = FALSE) reticulate::use_virtualenv("~/Desktop/rscratch/arrow/.venv") packageVersion("arrow") #> [1] '14.0.0.2' packageVersion("reticulate") #> [1] '1.34.0' pa <- reticulate::import("pyarrow") pa[["__version__"]] #> [1] "16.0.0.dev92+geafcff7a5" reticulate::r_to_py(arrow::int32()) #> DataType(int32) ``` CRAN arrow + pyarrow from this PR + new reticulate: ``` r library(arrow, warn.conflicts = FALSE) reticulate::use_virtualenv("~/Desktop/rscratch/arrow/.venv") packageVersion("arrow") #> [1] '14.0.0.2' packageVersion("reticulate") #> [1] '1.35.0' pa <- reticulate::import("pyarrow") pa[["__version__"]] #> [1] "16.0.0.dev92+geafcff7a5" reticulate::r_to_py(arrow::int32()) #> DataType(int32) ``` ### Are there any user-facing changes? No * Closes: apache#39942 Lead-authored-by: Dewey Dunnington <dewey@fishandwhistle.net> Co-authored-by: Dewey Dunnington <dewey@voltrondata.com> Co-authored-by: Antoine Pitrou <pitrou@free.fr> Co-authored-by: Joris Van den Bossche <jorisvandenbossche@gmail.com> Signed-off-by: Dewey Dunnington <dewey@voltrondata.com>
- Loading branch information