The PR, https://github.com/scipy/scipy/pull/24130 , originally started out adding checks that xp_capabilities is used correctly and expanding the existing documentation around the use of xp_capabilities. Since then, I’ve added some recommendations which are somewhat opinionated and thought it would be good to ring the bell here to make sure no one misses the chance to weigh in on these recommendations. My goal isn’t to enforce my will on the project, but to just try to help find some good recommendations the team can build consensus around.
The first recommendation in question is on restricting addition of the xp, device, and dtype kwargs only to functions which take no array args from which these things can be inferred. Recently BUG: signal: Control output dtypes in `abcd_normalize` by adding new … by DietBru · Pull Request #23554 · scipy/scipy · GitHub was merged adding a dtype kwarg to scipy.signal.abcd_normalize which does take array arguments. Obviously, no one did anything wrong there, my objection is based on guidance that didn’t even exist yet. But I think this is a good principle to try to stick to for the sake of API simplicity and consistency, and would like to follow up with a PR that gets rid of the dtype kwarg in abcd_normalize but still fixes the issues that brought #23554 about.
The other recommendation that might be somewhat opinionated is on how SciPy should interact with PyTorch’s default dtype. You can find more info on my thoughts in the linked PR.
There may be other things I wrote that someone may potentially disagree with. Please check out DOC/TST: (nearly) finalize current use of xp_capabilities and its documentation by steppi · Pull Request #24130 · scipy/scipy · GitHub if you have opinions the guidance that the docs should provide around array API standard support and want to weigh in before it gets merged.