-
-
Notifications
You must be signed in to change notification settings - Fork 18.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DEPR: restrict downstream usage of core.internals #40226
Comments
As mentioned in #40182 (comment), pyarrow makes use of the Pyarrow also uses the |
As mentioned above, pyarrow uses the Block classes for |
Another type of use cases that eg both dask (partd) and pyarrow have: accessing For example, the change to return DatetimeArray from |
anything in particular? |
Xarray does not rely upon pandas's private APIs. |
@jbrockmendel because DatetimeArray is not a proper EA, |
@jorisvandenbossche has any of pyarrow's usage of pandas internals changed in the last 2 years? In particular im wondering if the introduction of ArrowDtype might make it easier for pyarrow to use public constructors |
I don't think much has changed in that part of pyarrow. ArrowDtype also won't change anything on the short term, since pyarrow constructs blocks with default dtypes. |
There are some optimizations I'd like to make in core.internals (mostly making the signatures stricter so we can do less validation at
__init__
-time). But that risks breaking changes for downstream packages that use the existing non-public APIs.I'd like to start by asking downstream projects that access internals to identify what they actually use/need.
Once we identify what is used, my thought is to 1) encourage usage of public APIs where possible and 2) provide backward-compatible psuedo-public APIs (xref #40182).
cc @jorisvandenbossche (pyarrow), @TomAugspurger (dask), @mdurant (fastparquet), @shoyer (xarray), anyone else?
The text was updated successfully, but these errors were encountered: