summaryrefslogtreecommitdiff
path: root/gnu/packages/python-science.scm
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2025-07-24 15:33:45 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2025-07-24 15:52:13 +0100
commitf9f378224d72f20f9de9a86af4f8fa0848e5c52b (patch)
treefe768c228e7c01a0eeff2e89ef27de50c990f5c6 /gnu/packages/python-science.scm
parentaaeb42f675dbed592b244cc4886fe6433ad3f9b8 (diff)
gnu: python-anndata: Move to python-science.
* gnu/packages/python-xyz.scm (python-anndata): Move from here ... * gnu/packages/python-science.scm: ... to here. Change-Id: I3d968728de04610984c08884bd29cd9c055fa284
Diffstat (limited to 'gnu/packages/python-science.scm')
-rw-r--r--gnu/packages/python-science.scm80
1 files changed, 80 insertions, 0 deletions
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index f66e546df7..561f4f0936 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -249,6 +249,86 @@ possibility to differentiate functions that contain matrix functions as
+,-,*,/, dot, solve, qr, eigh, cholesky.")
(license license:bsd-3)))
+(define-public python-anndata
+ (package
+ (name "python-anndata")
+ (version "0.11.1")
+ (source
+ (origin
+ ;; The tarball from PyPi doesn't include tests.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/theislab/anndata")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0skmjjvxk5gdsx6fkplszff92jsb4l45j23c6mhq1vdi3wqhqhcw"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" #$(string-append
+ ;; This one test seemingly freezes
+ "not test_read_lazy_h5_cluster"
+ ;; Fails with a numpy deprecation warning
+ ;; but not an actual failure
+ " and not test_read_write_X"))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Doctests require scanpy from (gnu packages bioinformatics)
+ (add-after 'unpack 'disable-doctests
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("--doctest-modules") ""))))
+ (add-before 'build 'set-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)
+ ;; ZIP does not support timestamps before 1980.
+ (setenv "SOURCE_DATE_EPOCH" "315532800")))
+ ;; Numba needs a writable dir to cache functions.
+ (add-before 'check 'set-numba-cache-dir
+ (lambda _
+ (setenv "NUMBA_CACHE_DIR" "/tmp"))))))
+ (propagated-inputs
+ (list python-array-api-compat
+ python-exceptiongroup ;only for Python <3.11
+ python-h5py
+ python-importlib-metadata
+ python-natsort
+ python-numcodecs
+ python-packaging
+ python-pandas
+ python-scipy
+ python-scikit-learn
+ python-setuptools ; For pkg_resources.
+ python-zarr))
+ (native-inputs
+ (list python-awkward
+ python-boltons
+ python-dask
+ python-distributed
+ python-hatchling
+ python-hatch-vcs
+ python-joblib
+ python-loompy
+ python-matplotlib
+ python-pytest
+ python-pytest-mock
+ python-pytest-doctestplus
+ python-pytest-xdist
+ python-toml
+ python-flit
+ python-setuptools-scm))
+ (home-page "https://github.com/theislab/anndata")
+ (synopsis "Annotated data for data analysis pipelines")
+ (description "Anndata is a package for simple (functional) high-level APIs
+for data analysis pipelines. In this context, it provides an efficient,
+scalable way of keeping track of data together with learned annotations and
+reduces the code overhead typically encountered when using a mostly
+object-oriented library such as @code{scikit-learn}.")
+ (license license:bsd-3)))
+
(define-public python-aplus
(package
(name "python-aplus")