lol
fork

Configure Feed

Select the types of activity you want to include in your feed.

python313Packages.scanpy: init at 1.11.4 (#433795)

authored by

Samuel Ainsworth and committed by
GitHub
95080569 52c5f757

+256 -33
+12 -33
pkgs/development/python-modules/anndata/default.nix
··· 1 1 { 2 + anndata, 2 3 array-api-compat, 3 4 awkward, 4 5 boltons, ··· 17 18 numba, 18 19 numpy, 19 20 openpyxl, 20 - packaging, 21 21 pandas, 22 22 pyarrow, 23 23 pytest-mock, 24 24 pytest-xdist, 25 25 pytestCheckHook, 26 - pythonOlder, 26 + scanpy, 27 27 scikit-learn, 28 28 scipy, 29 29 stdenv, 30 - typing-extensions, 31 30 zarr, 32 31 }: 33 32 ··· 56 55 numpy 57 56 pandas 58 57 scipy 58 + zarr 59 59 ]; 60 60 61 61 nativeCheckInputs = [ ··· 72 72 pytest-xdist 73 73 pytestCheckHook 74 74 scikit-learn 75 - zarr 75 + scanpy 76 76 ]; 77 77 78 78 # Optionally disable pytest-xdist to make it easier to debug the test suite. ··· 80 80 # fail when running without pytest-xdist ("worker_id not found"). 81 81 # pytestFlags = [ "-oaddopts=" ]; 82 82 83 - disabledTestPaths = [ 84 - # Tests that require scanpy, creating a circular dependency chain 85 - "src/anndata/_core/anndata.py" 86 - "src/anndata/_core/merge.py" 87 - "src/anndata/_core/sparse_dataset.py" 88 - "src/anndata/_io/specs/registry.py" 89 - "src/anndata/_io/utils.py" 90 - "src/anndata/_warnings.py" 91 - "src/anndata/experimental/merge.py" 92 - "src/anndata/experimental/multi_files/_anncollection.py" 93 - "src/anndata/utils.py" 94 - ]; 83 + preCheck = '' 84 + export NUMBA_CACHE_DIR=$(mktemp -d); 85 + ''; 86 + 87 + doCheck = false; # use passthru.tests instead to prevent circularity with `scanpy` 88 + 89 + passthru.tests = anndata.overridePythonAttrs { doCheck = true; }; 95 90 96 91 disabledTests = [ 97 92 # requires data from a previous test execution: 98 93 "test_no_diff" 99 94 100 - # doctests that require scanpy, creating a circular dependency chain. These 101 - # do not work in disabledTestPaths for some reason. 102 - "anndata._core.anndata.AnnData.concatenate" 103 - "anndata._core.anndata.AnnData.obs_names_make_unique" 104 - "anndata._core.anndata.AnnData.var_names_make_unique" 105 - "anndata._core.extensions.register_anndata_namespac" 106 - "anndata._core.merge.concat" 107 - "anndata._core.merge.gen_reindexer" 108 - "anndata._core.sparse_dataset.sparse_dataset" 109 - "anndata._io.specs.registry.read_elem_as_dask" 95 + # try to download data: 110 96 "anndata._io.specs.registry.read_elem_lazy" 111 - "anndata._io.utils.report_read_key_on_error" 112 - "anndata._io.utils.report_write_key_on_error" 113 - "anndata._warnings.ImplicitModificationWarning" 114 - "anndata.experimental.backed._io.read_lazy" 115 97 "anndata.experimental.merge.concat_on_disk" 116 98 "anndata.experimental.multi_files._anncollection.AnnCollection" 117 - "anndata.utils.make_index_unique" 118 - "ci.scripts.min-deps.min_dep" 119 - "concatenation.rst" 120 99 121 100 # Tests that require cupy and GPU access. Introducing cupy as a dependency 122 101 # would make this package unfree and GPU access is not possible within the
+182
pkgs/development/python-modules/scanpy/default.nix
··· 1 + { 2 + lib, 3 + buildPythonPackage, 4 + fetchFromGitHub, 5 + hatch-vcs, 6 + hatchling, 7 + anndata, 8 + h5py, 9 + joblib, 10 + legacy-api-wrap, 11 + matplotlib, 12 + natsort, 13 + networkx, 14 + numba, 15 + numpy, 16 + packaging, 17 + pandas, 18 + patsy, 19 + pynndescent, 20 + scikit-learn, 21 + scipy, 22 + seaborn, 23 + session-info2, 24 + statsmodels, 25 + tqdm, 26 + typing-extensions, 27 + umap-learn, 28 + dask, 29 + dask-ml, 30 + 31 + igraph, 32 + leidenalg, 33 + scikit-image, 34 + scikit-misc, 35 + zarr, 36 + pytestCheckHook, 37 + pytest-cov-stub, 38 + pytest-mock, 39 + pytest-randomly, 40 + pytest-rerunfailures, 41 + pytest-xdist, 42 + tuna, 43 + }: 44 + 45 + buildPythonPackage rec { 46 + pname = "scanpy"; 47 + version = "1.11.4"; 48 + pyproject = true; 49 + 50 + src = fetchFromGitHub { 51 + owner = "scverse"; 52 + repo = "scanpy"; 53 + tag = version; 54 + hash = "sha256-EvNelorfLOpYLGGZ1RSq4+jk6emuCWCKBdUop24iLf4="; 55 + }; 56 + 57 + build-system = [ 58 + hatch-vcs 59 + hatchling 60 + ]; 61 + 62 + dependencies = [ 63 + anndata 64 + h5py 65 + joblib 66 + legacy-api-wrap 67 + matplotlib 68 + natsort 69 + networkx 70 + numba 71 + numpy 72 + packaging 73 + pandas 74 + patsy 75 + pynndescent 76 + scikit-learn 77 + scipy 78 + seaborn 79 + session-info2 80 + statsmodels 81 + tqdm 82 + typing-extensions 83 + umap-learn 84 + ]; 85 + 86 + optional-dependencies = { 87 + # commented attributes are due to some dependencies not being in Nixpkgs 88 + #bbknn = [ 89 + # bbknn 90 + #]; 91 + dask = [ 92 + anndata 93 + dask 94 + ]; 95 + dask-ml = [ 96 + dask-ml 97 + ]; 98 + #harmony = [ 99 + # harmonypy 100 + #]; 101 + leiden = [ 102 + igraph 103 + leidenalg 104 + ]; 105 + #louvain = [ 106 + # igraph 107 + # louvain 108 + #]; 109 + #magic = [ 110 + # magic-impute 111 + #]; 112 + paga = [ 113 + igraph 114 + ]; 115 + #rapids = [ 116 + # cudf 117 + # cugraph 118 + # cuml 119 + #]; 120 + #scanorama = [ 121 + # scanorama 122 + #]; 123 + scrublet = [ 124 + scikit-image 125 + ]; 126 + skmisc = [ 127 + scikit-misc 128 + ]; 129 + }; 130 + 131 + nativeCheckInputs = [ 132 + pytestCheckHook 133 + pytest-cov-stub 134 + pytest-mock 135 + pytest-randomly 136 + pytest-rerunfailures 137 + pytest-xdist 138 + tuna 139 + zarr 140 + ]; 141 + 142 + preCheck = '' 143 + export NUMBA_CACHE_DIR=$(mktemp -d); 144 + ''; 145 + 146 + disabledTestPaths = [ 147 + # try to download data: 148 + "tests/test_aggregated.py" 149 + "tests/test_highly_variable_genes.py" 150 + "tests/test_normalization.py" 151 + "tests/test_pca.py" 152 + "tests/test_plotting.py" 153 + "tests/test_plotting_embedded/" 154 + ]; 155 + 156 + disabledTests = [ 157 + # try to download data: 158 + "scanpy.get._aggregated.aggregate" 159 + "scanpy.plotting._tools.scatterplots.spatial" 160 + "test_clip" 161 + "test_download_failure" 162 + "test_mean_var" 163 + "test_regress_out_int" 164 + "test_score_with_reference" 165 + 166 + # fails to find the trivial test script for some reason: 167 + "test_external" 168 + ]; 169 + 170 + pythonImportsCheck = [ 171 + "scanpy" 172 + ]; 173 + 174 + meta = { 175 + description = "Single-cell analysis in Python which scales to >100M cells"; 176 + homepage = "https://scanpy.readthedocs.io"; 177 + changelog = "https://github.com/scverse/scanpy/releases/tag/${src.tag}"; 178 + license = lib.licenses.bsd3; 179 + maintainers = with lib.maintainers; [ bcdarwin ]; 180 + mainProgram = "scanpy"; 181 + }; 182 + }
+58
pkgs/development/python-modules/session-info2/default.nix
··· 1 + { 2 + lib, 3 + buildPythonPackage, 4 + fetchFromGitHub, 5 + hatch-docstring-description, 6 + hatch-vcs, 7 + hatchling, 8 + coverage, 9 + ipykernel, 10 + jupyter-client, 11 + pytestCheckHook, 12 + pytest-asyncio, 13 + pytest-subprocess, 14 + testing-common-database, 15 + writableTmpDirAsHomeHook, 16 + }: 17 + 18 + buildPythonPackage rec { 19 + pname = "session-info2"; 20 + version = "0.2"; 21 + pyproject = true; 22 + 23 + src = fetchFromGitHub { 24 + owner = "scverse"; 25 + repo = "session-info2"; 26 + tag = "v${version}"; 27 + hash = "sha256-DsI2mFM7xZgSm24yVzF6B+2aruKsjkTKZAmJPg7mWgg="; 28 + }; 29 + 30 + build-system = [ 31 + hatch-docstring-description 32 + hatch-vcs 33 + hatchling 34 + ]; 35 + 36 + nativeCheckInputs = [ 37 + coverage 38 + ipykernel 39 + jupyter-client 40 + pytestCheckHook 41 + pytest-asyncio 42 + pytest-subprocess 43 + testing-common-database 44 + writableTmpDirAsHomeHook 45 + ]; 46 + 47 + pythonImportsCheck = [ 48 + "session_info2" 49 + ]; 50 + 51 + meta = { 52 + description = "Report Python session information"; 53 + homepage = "https://session-info2.readthedocs.io"; 54 + changelog = "https://github.com/scverse/session-info2/releases/tag/${src.tag}"; 55 + license = lib.licenses.mpl20; 56 + maintainers = with lib.maintainers; [ bcdarwin ]; 57 + }; 58 + }
+4
pkgs/top-level/python-packages.nix
··· 16185 16185 16186 16186 scancode-toolkit = callPackage ../development/python-modules/scancode-toolkit { }; 16187 16187 16188 + scanpy = callPackage ../development/python-modules/scanpy { }; 16189 + 16188 16190 scapy = callPackage ../development/python-modules/scapy { 16189 16191 inherit (pkgs) libpcap; # Avoid confusion with python package of the same name 16190 16192 }; ··· 16434 16436 serverlessrepo = callPackage ../development/python-modules/serverlessrepo { }; 16435 16437 16436 16438 service-identity = callPackage ../development/python-modules/service-identity { }; 16439 + 16440 + session-info2 = callPackage ../development/python-modules/session-info2 { }; 16437 16441 16438 16442 setproctitle = callPackage ../development/python-modules/setproctitle { }; 16439 16443