gnu: python-anndata: Update to 0.10.7.

* gnu/packages/python-xyz.scm (python-anndata): Update to 0.10.7.
[arguments]: Patch conftest.py; adjust tests; remove old patch for version
string; add phase 'set-numba-cache-dir.
[native-inputs]: Add python-awkward, python-dask, python-distributed,
python-hatchling, python-hatch-vcs, python-loompy, python-matplotlib,
python-pytest-doctestplus, and python-pytest-xdist.
[propagated-inputs]: Add python-array-api-compat and python-exceptiongroup.

Change-Id: I3099cbfbb1865743c75d32243be9e5a59df1507d
This commit is contained in:
Ricardo Wurmus 2024-04-30 23:37:33 +02:00
parent eb866b3699
commit 24bf2329a4
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -180,6 +180,7 @@
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages bdw-gc) #:use-module (gnu packages bdw-gc)
#:use-module (gnu packages bioinformatics)
#:use-module (gnu packages build-tools) #:use-module (gnu packages build-tools)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages cmake) #:use-module (gnu packages cmake)
@ -27567,7 +27568,7 @@ N-dimensional arrays for Python.")
(define-public python-anndata (define-public python-anndata
(package (package
(name "python-anndata") (name "python-anndata")
(version "0.8.0") (version "0.10.7")
(source (source
(origin (origin
;; The tarball from PyPi doesn't include tests. ;; The tarball from PyPi doesn't include tests.
@ -27578,29 +27579,39 @@ N-dimensional arrays for Python.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0v7npqrg1rdm8jzw22a45c0mqrmsv05r3k88i3lhzi0pzzxca1i1")))) "1i08rm1xnsnq12rjv4virgdx61bra1gsfagjdq0kcpz8npxqa0as"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
#:test-flags #:test-flags
'(list "-k" "not concatenation.rst") '(list "-k" (string-append "not concatenation.rst"
;; fixture 'mocker' not found
" and not test_consecutive_bool"))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
;; Doctests require scanpy from (gnu packages bioinformatics) ;; Doctests require scanpy from (gnu packages bioinformatics)
(add-after 'unpack 'disable-doctests (add-after 'unpack 'disable-doctests
(lambda _ (lambda _
(substitute* "conftest.py"
(("import pytest")
(string-append "import pytest\nimport _pytest\n"))
(("pytest.DoctestItem")
"_pytest.doctest.DoctestItem"))
(substitute* "pyproject.toml" (substitute* "pyproject.toml"
(("--doctest-modules") "")))) (("--doctest-modules") ""))))
(add-before 'build 'set-version (add-before 'build 'set-version
(lambda _ (lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version) (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)
(substitute* "anndata/_metadata.py"
(("__version__ =.*")
(string-append "__version__ = \"" #$version "\"\n")))
;; ZIP does not support timestamps before 1980. ;; ZIP does not support timestamps before 1980.
(setenv "SOURCE_DATE_EPOCH" "315532800")))))) (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 (propagated-inputs
(list python-h5py (list python-array-api-compat
python-exceptiongroup ;only for Python <3.11
python-h5py
python-importlib-metadata python-importlib-metadata
python-natsort python-natsort
python-numcodecs python-numcodecs
@ -27610,9 +27621,18 @@ N-dimensional arrays for Python.")
python-scikit-learn python-scikit-learn
python-zarr)) python-zarr))
(native-inputs (native-inputs
(list python-boltons (list python-awkward
python-boltons
python-dask
python-distributed
python-hatchling
python-hatch-vcs
python-joblib python-joblib
python-loompy
python-matplotlib
python-pytest python-pytest
python-pytest-doctestplus
python-pytest-xdist
python-toml python-toml
python-flit python-flit
python-setuptools-scm)) python-setuptools-scm))