Skip to content
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

2023.12 support #157

Merged
merged 5 commits into from
Jul 24, 2024
Merged

2023.12 support #157

merged 5 commits into from
Jul 24, 2024

Conversation

asmeurer
Copy link
Member

@asmeurer asmeurer commented Jun 26, 2024

I am implementing 2023.12 support here. Note that some things, like the changes to dlpack, will not be wrapped and will require upstream support.

Rather than focusing on one library at a time, my plan is to implement the most important functions first for each library, and potentially do a release with partial support. Once full support is implemented I will update __array_api_version__. So if anyone has any functions that they'd like for me to prioritize please note them here. I am going to start with the functions used by scipy at https://github.com/scipy/scipy/blob/main/scipy/_lib/_array_api.py.

Here is the checklist of functions from data-apis/array-api-tests#249:

Here is the list of changes https://data-apis.org/array-api/latest/changelog.html#v2023-12

New Functions

  • __array_namespace_info__ (i.e., the inspection API)
  • clip
  • copysign
  • cumulative_sum
  • hypot
  • maximum
  • minimum
  • moveaxis
  • repeat
  • searchsorted
  • signbit
  • tile
  • unstack

API Changes

Other Changes

  • tensordot should support negative axes

@asmeurer
Copy link
Member Author

@lucascolley @mdhaber could you expand on what backend is missing minimum:

https://github.com/scipy/scipy/blob/fffcaa8c58b6909d22063c29e4f9593059a40230/scipy/_lib/_array_api.py#L478-L480

As far as I can tell, it's in numpy, torch, cupy, jax, and dask.array, so should already work. Is the issue that it's missing from array-api-strict?

@mdhaber
Copy link

mdhaber commented Jun 26, 2024

Yes, probably implemented it because it was not in array-api-strict. I don't remember whether there were any other incompatibilities.

@asmeurer
Copy link
Member Author

OK. I have 2023 strict support ready to go data-apis/array-api-strict#35 (except for some annoying CI issues). I'll get a release out so you can use it.

@mdhaber
Copy link

mdhaber commented Jun 26, 2024

Thanks!

@lucascolley
Copy link
Contributor

searchsorted has also come up in SciPy, but personally happy to wait until full support.

@asmeurer
Copy link
Member Author

I've just released array-api-strict with 2023.12 support. For now, it must be enabled manually using the new flags features https://data-apis.org/array-api-strict/api.html#module-array_api_strict._flags but once I'm confident there are no issues with it I'll make a release making 2023.12 the default in array-api-strict.

@asmeurer
Copy link
Member Author

Merging what I have so far so I can do a release with partial support. Work on 2023.12 support will continue in another PR.

@asmeurer asmeurer merged commit ad14515 into data-apis:main Jul 24, 2024
39 checks passed
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.

3 participants