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

Run duck array tests in separate CI jobs #9826

Open
dcherian opened this issue Nov 26, 2024 · 2 comments
Open

Run duck array tests in separate CI jobs #9826

dcherian opened this issue Nov 26, 2024 · 2 comments
Labels
array API standard Support for the Python array API standard CI Continuous Integration tools topic-arrays related to flexible array support topic-testing

Comments

@dcherian
Copy link
Contributor

dcherian commented Nov 26, 2024

What is your issue?

As a follow up to #9798 we should consider running a two CI jobs with pint, sparse, jax installed (one with latest version, one with minimum supported version), and remove them from the other jobs.

cc @slevang

@dcherian dcherian added the needs triage Issue that has not been reviewed by xarray team member label Nov 26, 2024
@dcherian dcherian changed the title Run duck array tests in a single CI job Run duck array tests in separate CI jobs Nov 26, 2024
@TomNicholas TomNicholas added topic-testing topic-arrays related to flexible array support CI Continuous Integration tools array API standard Support for the Python array API standard and removed needs triage Issue that has not been reviewed by xarray team member labels Nov 26, 2024
@slevang
Copy link
Contributor

slevang commented Nov 26, 2024

It looks like sparse and pint are installed "as able" in the various CI environments (e.g. all-but-dask/numba, min-all-deps).

sparse is listed as an optional dependency in pyproject.toml, but is only imported twice in core code and only as a means of special casing some duck array handling thing, which could probably be removed. pint is not listed as an optional dependency.

My thought would be to:

  1. remove pint/sparse/jax from the core CI environments
  2. consider creating a new optional dependency group that gives some user guidance on the array frameworks we test and know mostly work. Today that would be array = ["sparse", "pint", "cupy", "jax"].
  3. as suggested, create latest and minimum CI envs that test duck array integration stuff. Unless that should live externally (xarray-array-testing).

@dcherian
Copy link
Contributor Author

Sounds OK to me.

I'd also suggest restricting the running tests to only those that actually test duck array integration to save some CI time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
array API standard Support for the Python array API standard CI Continuous Integration tools topic-arrays related to flexible array support topic-testing
Projects
None yet
Development

No branches or pull requests

3 participants