mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: python-pytensor: Update to 2.28.3.
* gnu/packages/python-science.scm (python-pytensor): Update to 2.28.3. [arguments]{test-flags}: Use field. {phases}: Remove 'check phase replacement. Simplify 'versioneer. Add phase 'pre-check. Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com> Change-Id: I8f324863438356ebc1ad3d62e86b5b17c416cd02 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This commit is contained in:
parent
2d30f21fb9
commit
58ca499bff
1 changed files with 49 additions and 36 deletions
|
@ -2479,7 +2479,7 @@ objects.")
|
||||||
(define-public python-pytensor
|
(define-public python-pytensor
|
||||||
(package
|
(package
|
||||||
(name "python-pytensor")
|
(name "python-pytensor")
|
||||||
(version "2.18.1")
|
(version "2.28.3") ; the minimal version supporting SciPy 1.12.0
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -2488,52 +2488,65 @@ objects.")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0qa0y13xfm6w7ry7gp0lv84c8blyg34a9ns7ynwqyhf9majq08s5"))))
|
"1yz1yslms6kdmy4sgnvbnghhclcpkc80z3vaw9c2y3b3j1fs9b4v"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
#:test-flags
|
||||||
|
;; XXX: Full test suite takes about 20-30min to complete in single
|
||||||
|
;; thread, attempt to run tests in parallel with pytest-xdist fails even
|
||||||
|
;; so upstream provides a support for that, try to figure out how to
|
||||||
|
;; improve it.
|
||||||
|
;;
|
||||||
|
;; Upstream implements a script, showing slow tests which may be used to
|
||||||
|
;; exclude even more hanging/slow ones, see
|
||||||
|
;; <scripts/slowest_tests/extract-slow-tests.py>.
|
||||||
|
;;
|
||||||
|
;; Skip computationally intensive tests.
|
||||||
|
#~(list "--ignore" "tests/scan/"
|
||||||
|
"--ignore" "tests/tensor/"
|
||||||
|
"--ignore" "tests/sandbox/"
|
||||||
|
"--ignore" "tests/sparse/sandbox/"
|
||||||
|
;; Tests hang while running from these files.
|
||||||
|
"--ignore" "tests/compile/test_compilelock.py"
|
||||||
|
"--ignore" "tests/link/jax/test_tensor_basic.py"
|
||||||
|
;; XXX: Tests finish with error in these files, check why.
|
||||||
|
"--ignore" "tests/compile/function/test_types.py"
|
||||||
|
"--ignore" "tests/link/numba/test_basic.py"
|
||||||
|
"--ignore" "tests/link/numba/test_blockwise.py"
|
||||||
|
"--ignore" "tests/link/numba/test_elemwise.py"
|
||||||
|
"-k" (string-join
|
||||||
|
;; Skip benchmark tests.
|
||||||
|
(list "not test_elemwise_speed"
|
||||||
|
"test_logsumexp_benchmark"
|
||||||
|
"test_fused_elemwise_benchmark"
|
||||||
|
"test_scan_multiple_output"
|
||||||
|
"test_vector_taps_benchmark"
|
||||||
|
"test_cython_performance"
|
||||||
|
;; Assertion fails in tests.
|
||||||
|
"test_choose_signature"
|
||||||
|
"test_fgraph_to_python_names")
|
||||||
|
" and not ")
|
||||||
|
;; Tests collection selects pytensor, which does not contain
|
||||||
|
;; tests and fails to pass; manually provide a test directory
|
||||||
|
;; instead.
|
||||||
|
"tests")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
;; Replace version manually because pytensor uses
|
;; Replace version manually because pytensor uses
|
||||||
;; versioneer, which requires git metadata.
|
;; versioneer, which requires git metadata.
|
||||||
(add-after 'unpack 'versioneer
|
(add-after 'unpack 'versioneer
|
||||||
(lambda _
|
(lambda _
|
||||||
(with-output-to-file "setup.cfg"
|
|
||||||
(lambda ()
|
|
||||||
(display "\
|
|
||||||
[versioneer]
|
|
||||||
VCS = git
|
|
||||||
style = pep440
|
|
||||||
versionfile_source = pytensor/_version.py
|
|
||||||
versionfile_build = pytensor/_version.py
|
|
||||||
tag_prefix =
|
|
||||||
parentdir_prefix = pytensor-
|
|
||||||
")))
|
|
||||||
(invoke "versioneer" "install")
|
(invoke "versioneer" "install")
|
||||||
(substitute* "setup.py"
|
(substitute* "setup.py"
|
||||||
(("versioneer.get_version\\(\\)")
|
(("version=versioneer.get_version\\(),")
|
||||||
(string-append "\"" #$version "\"")))))
|
(format #f "version=~s," #$version)))))
|
||||||
(replace 'check
|
(add-before 'check 'pre-check
|
||||||
(lambda* (#:key tests? #:allow-other-keys)
|
(lambda _
|
||||||
(when tests?
|
;; It is required for most tests.
|
||||||
(setenv "HOME" "/tmp") ; required for most tests
|
(setenv "HOME" "/tmp")
|
||||||
;; Test discovery fails, have to call pytest by hand.
|
;; Cython extensions have to be built before running the tests.
|
||||||
;; test_tensor_basic.py file requires JAX.
|
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
|
||||||
(invoke "python" "-m" "pytest" "-vv"
|
|
||||||
"--ignore" "tests/link/jax/test_tensor_basic.py"
|
|
||||||
;; Skip benchmark tests.
|
|
||||||
"-k" (string-append
|
|
||||||
"not test_elemwise_speed"
|
|
||||||
" and not test_logsumexp_benchmark"
|
|
||||||
" and not test_fused_elemwise_benchmark"
|
|
||||||
" and not test_scan_multiple_output"
|
|
||||||
" and not test_vector_taps_benchmark"
|
|
||||||
" and not test_cython_performance")
|
|
||||||
;; Skip computationally intensive tests.
|
|
||||||
"--ignore" "tests/scan/"
|
|
||||||
"--ignore" "tests/tensor/"
|
|
||||||
"--ignore" "tests/sandbox/"
|
|
||||||
"--ignore" "tests/sparse/sandbox/")))))))
|
|
||||||
(native-inputs (list python-cython
|
(native-inputs (list python-cython
|
||||||
python-pytest
|
python-pytest
|
||||||
python-pytest-mock
|
python-pytest-mock
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue