Skip to content

Commit dd3427d

Browse files
authored
ci: fix tests in 1.11 branch (#3860)
1 parent ab6c6c6 commit dd3427d

File tree

5 files changed

+20
-14
lines changed

5 files changed

+20
-14
lines changed

hatch.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ overrides.matrix.deps.python = [
3131
{ if = [ "stable", "pre" ], value = "3.12" },
3232
]
3333
overrides.matrix.deps.extra-dependencies = [
34-
{ if = [ "pre" ], value = "anndata[dev,test] @ git+https://github.com/scverse/anndata.git" },
34+
{ if = [ "pre" ], value = "anndata[test-min] @ git+https://github.com/scverse/anndata.git" },
3535
]
3636
overrides.matrix.deps.features = [
3737
{ if = [ "stable", "pre", "low-vers" ], value = "test" },

src/testing/scanpy/_helpers/__init__.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,10 +141,13 @@ def as_dense_dask_array(*args, **kwargs) -> DaskArray:
141141
return as_dense_dask_array(*args, **kwargs)
142142

143143

144-
def as_sparse_dask_array(*args, **kwargs) -> DaskArray:
145-
from anndata.tests.helpers import as_sparse_dask_array
144+
def as_sparse_dask_matrix(*args, **kwargs) -> DaskArray:
145+
try:
146+
from anndata.tests.helpers import as_sparse_dask_matrix
147+
except ImportError:
148+
from anndata.tests.helpers import as_sparse_dask_array as as_sparse_dask_matrix
146149

147-
return as_sparse_dask_array(*args, **kwargs)
150+
return as_sparse_dask_matrix(*args, **kwargs)
148151

149152

150153
@dataclass(init=False)

src/testing/scanpy/_pytest/params.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
from .._helpers import (
1212
as_dense_dask_array,
13-
as_sparse_dask_array,
13+
as_sparse_dask_matrix,
1414
)
1515
from .._pytest.marks import needs
1616

@@ -51,7 +51,7 @@ def param_with(
5151
),
5252
("dask", "sparse"): (
5353
pytest.param(
54-
as_sparse_dask_array,
54+
as_sparse_dask_matrix,
5555
marks=[needs.dask, pytest.mark.anndata_dask_support],
5656
id="dask_array_sparse",
5757
),

tests/test_pca.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ def wrapper(a: np.ndarray) -> DaskArray:
8787

8888
DASK_CONVERTERS = {
8989
f: _chunked_1d(f)
90-
for f in (_helpers.as_dense_dask_array, _helpers.as_sparse_dask_array)
90+
for f in (_helpers.as_dense_dask_array, _helpers.as_sparse_dask_matrix)
9191
}
9292

9393

@@ -131,7 +131,10 @@ def gen_pca_params(
131131
svd_solver_type: Literal["valid", "invalid"] | None,
132132
zero_center: bool,
133133
) -> Generator[tuple[SVDSolver | None, str | None, str | None], None, None]:
134-
if array_type is DASK_CONVERTERS[_helpers.as_sparse_dask_array] and not zero_center:
134+
if (
135+
array_type is DASK_CONVERTERS[_helpers.as_sparse_dask_matrix]
136+
and not zero_center
137+
):
135138
xfail_reason = "Sparse-in-dask with zero_center=False not implemented yet"
136139
yield None, None, xfail_reason
137140
return
@@ -171,7 +174,7 @@ def possible_solvers(
171174
svd_solvers = {"auto", "full", "tsqr", "randomized", "covariance_eigh"}
172175
case (dc, False) if dc is DASK_CONVERTERS[_helpers.as_dense_dask_array]:
173176
svd_solvers = {"tsqr", "randomized"}
174-
case (dc, True) if dc is DASK_CONVERTERS[_helpers.as_sparse_dask_array]:
177+
case (dc, True) if dc is DASK_CONVERTERS[_helpers.as_sparse_dask_matrix]:
175178
svd_solvers = {"covariance_eigh"}
176179
case (type() as dc, True) if issubclass(dc, CSBase):
177180
svd_solvers = {"arpack"} | SKLEARN_ADDITIONAL
@@ -570,7 +573,7 @@ def test_pca_layer():
570573
"other_array_type",
571574
[
572575
lambda x: x.toarray(),
573-
DASK_CONVERTERS[_helpers.as_sparse_dask_array],
576+
DASK_CONVERTERS[_helpers.as_sparse_dask_matrix],
574577
DASK_CONVERTERS[_helpers.as_dense_dask_array],
575578
],
576579
ids=["dense-mem", "sparse-dask", "dense-dask"],
@@ -616,7 +619,7 @@ def test_covariance_eigh_impls(other_array_type):
616619
)
617620
def test_sparse_dask_input_errors(msg_re: str, op: Callable[[DaskArray], DaskArray]):
618621
adata_sparse = pbmc3k_normalized()
619-
adata_sparse.X = op(DASK_CONVERTERS[_helpers.as_sparse_dask_array](adata_sparse.X))
622+
adata_sparse.X = op(DASK_CONVERTERS[_helpers.as_sparse_dask_matrix](adata_sparse.X))
620623

621624
with pytest.raises(ValueError, match=msg_re):
622625
sc.pp.pca(adata_sparse, svd_solver="covariance_eigh")
@@ -635,7 +638,7 @@ def test_sparse_dask_input_errors(msg_re: str, op: Callable[[DaskArray], DaskArr
635638
)
636639
def test_cov_sparse_dask(dtype, dtype_arg, rtol):
637640
x_arr = A_list.astype(dtype)
638-
x = DASK_CONVERTERS[_helpers.as_sparse_dask_array](x_arr)
641+
x = DASK_CONVERTERS[_helpers.as_sparse_dask_matrix](x_arr)
639642
cov, gram, mean = _cov_sparse_dask(x, return_gram=True, dtype=dtype_arg)
640643
np.testing.assert_allclose(mean, np.mean(x_arr, axis=0))
641644
np.testing.assert_allclose(gram, (x_arr.T @ x_arr) / x.shape[0])

tests/test_qc_metrics.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
top_proportions,
2020
top_segment_proportions,
2121
)
22-
from testing.scanpy._helpers import as_sparse_dask_array, maybe_dask_process_context
22+
from testing.scanpy._helpers import as_sparse_dask_matrix, maybe_dask_process_context
2323
from testing.scanpy._pytest.marks import needs
2424
from testing.scanpy._pytest.params import ARRAY_TYPES, ARRAY_TYPES_MEM
2525

@@ -180,7 +180,7 @@ def test_qc_metrics_no_log1p(adata_prepared: AnnData):
180180
@pytest.mark.parametrize("log1p", [True, False], ids=["log1p", "no_log1p"])
181181
def test_dask_against_in_memory(adata, log1p):
182182
adata_as_dask = adata.copy()
183-
adata_as_dask.X = as_sparse_dask_array(adata.X)
183+
adata_as_dask.X = as_sparse_dask_matrix(adata.X)
184184
adata = prepare_adata(adata)
185185
adata_as_dask = prepare_adata(adata_as_dask)
186186
with maybe_dask_process_context():

0 commit comments

Comments
 (0)