diff --git a/pyproject.toml b/pyproject.toml index a6af021886..7ba6dd06c3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -57,17 +57,17 @@ dependencies = [ "h5py>=3.11", "joblib", # skip 3.11.0rc1 for now: https://github.com/matplotlib/matplotlib/issues/31575 - "matplotlib>=3.9,!=3.11.0rc1", + "matplotlib>=3.10,!=3.11.0rc1", "natsort", - "networkx>=2.8.8", - "numba>=0.60", - "numpy>=2", + "networkx>=3.4", + "numba>=0.61", + "numpy>=2.1", "packaging>=25", "pandas>=2.3", "patsy", "pynndescent>=0.5.13", "scikit-learn>=1.6", - "scipy>=1.13", + "scipy>=1.14", "scverse-misc[settings]>=0.0.5", "seaborn>=0.13.2", "session-info2", @@ -95,7 +95,7 @@ magic = [ "magic-impute>=2.0.4" ] paga = [ "igraph" ] plotting = [ "colour-science" ] scanorama = [ "scanorama" ] -scrublet = [ "scikit-image>=0.23.1" ] +scrublet = [ "scikit-image>=0.25" ] # highly_variable_genes method 'seurat_v3' skmisc = [ "scikit-misc>=0.5.1" ] scanpy2 = [ "igraph>=0.10.8", "scikit-misc>=0.5.1" ] @@ -116,7 +116,7 @@ test = [ { include-group = "test-min" }, ] doc = [ - "ipython>=7.20", # for nbsphinx code highlighting + "ipython>=8.27", # for nbsphinx code highlighting "myst-nb>=1.4", "myst-parser>=2", "nbsphinx>=0.9", diff --git a/src/scanpy/preprocessing/_normalization.py b/src/scanpy/preprocessing/_normalization.py index 28d7c20293..79eb5cf0d1 100644 --- a/src/scanpy/preprocessing/_normalization.py +++ b/src/scanpy/preprocessing/_normalization.py @@ -203,7 +203,7 @@ def normalize_total( # noqa: PLR0912 >>> import scanpy as sc >>> sc.settings.verbosity = "info" >>> sc.settings.logfile = sys.stdout # for doctests - >>> np.set_printoptions(precision=2) + >>> np.set_printoptions(precision=2) and None >>> adata = AnnData( ... np.array( ... [ diff --git a/src/scanpy/preprocessing/_pca/__init__.py b/src/scanpy/preprocessing/_pca/__init__.py index 4cbcf4c7e6..4f7a267e15 100644 --- a/src/scanpy/preprocessing/_pca/__init__.py +++ b/src/scanpy/preprocessing/_pca/__init__.py @@ -4,10 +4,9 @@ import numpy as np from anndata import AnnData -from packaging.version import Version from ... import logging as logg -from ..._compat import CSBase, DaskArray, pkg_version, warn +from ..._compat import CSBase, DaskArray, warn from ..._docs import doc_rng from ..._settings import Default, settings from ..._utils import _doc_params, get_literal_vals, is_backed_type @@ -35,10 +34,7 @@ type SvdSolvTruncatedSVDDaskML = Literal["tsqr", "randomized"] type SvdSolvDaskML = SvdSolvPCADaskML | SvdSolvTruncatedSVDDaskML -if pkg_version("scikit-learn") >= Version("1.5") or TYPE_CHECKING: - type SvdSolvPCASparseSklearn = Literal["arpack", "covariance_eigh"] -else: - type SvdSolvPCASparseSklearn = Literal["arpack"] +type SvdSolvPCASparseSklearn = Literal["arpack", "covariance_eigh"] type SvdSolvPCADenseSklearn = ( Literal["auto", "full", "randomized"] | SvdSolvPCASparseSklearn )