From 27f867ce57f8f61c43bfa09bd7156142f5941ac3 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Fri, 26 Sep 2025 21:49:36 +0100 Subject: [PATCH 01/41] gnu: python-elevate: Disable tests. * gnu/packages/python-xyz.scm (python-elevate)[arguments] : No tests in PyPI or Git. [native-inputs]: Remove python-wheel. Change-Id: I91a7d6d6cbf534ec8881f1da850781ec79a54811 --- gnu/packages/python-xyz.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index f1fb89a2951..92c751d9001 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -8543,6 +8543,7 @@ important tasks for becoming a daemon process: ;; Only setup.py is gpl3+, everything else is apache 2.0 licensed. (license (list license:asl2.0 license:gpl3+)))) +;; XXX: See: . (define-public python-elevate (package (name "python-elevate") @@ -8555,13 +8556,14 @@ important tasks for becoming a daemon process: (base32 "02g23lxzzl64j1b4fsnrdxqiahl9lnrqyxpqwcfzn0g33px1kbak")))) (build-system pyproject-build-system) (arguments - `(#:phases + `(#:tests? #f ;no tests in PyPI + #:phases (modify-phases %standard-phases (add-after 'unpack 'clean-up (lambda _ ;; Uses stuff we don't have. (delete-file "elevate/windows.py")))))) - (native-inputs (list python-setuptools python-wheel)) + (native-inputs (list python-setuptools)) (home-page "https://github.com/barneygale/elevate") (synopsis "Python library for requesting root privileges") (description "This package provides a Python library for requesting From df87078828fd4533b1531ee914503637ffc15f73 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Fri, 26 Sep 2025 21:57:21 +0100 Subject: [PATCH 02/41] gnu: python-doxyqml: Fix tests. * gnu/packages/python-xyz.scm (python-doxyqml)[arguments] : Use 'custom. : Provide path to the test file. [native-inputs]: Remove python-wheel. Change-Id: Ic89f338fec5cfc434a2d1a25bd903232236c4129 --- gnu/packages/python-xyz.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 92c751d9001..c3259f7417c 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6524,9 +6524,11 @@ other Python program.") (base32 "0skrs5i5pvpzvihgxw766zi1c9bbp33aisdldxgj470mlchvdgyy")))) (build-system pyproject-build-system) + (arguments + (list #:test-backend #~'custom + #:test-flags #~(list "tests/functional/tests.py"))) (native-inputs - (list python-setuptools - python-wheel)) + (list python-setuptools)) (home-page "https://agateau.com/projects/doxyqml") (synopsis "Doxygen input filter for QML files") (description From 6ba36049aea8f8a76e8074052fd60a28c4b0f432 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Fri, 26 Sep 2025 22:03:28 +0100 Subject: [PATCH 03/41] gnu: python-columnize: Fix test. * gnu/packages/python-xyz.scm (python-columnize)[native-inputs]: Remove python-wheel; add python-pytest. Change-Id: I25a274e2086a396d05119987915551102c20e727 --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index c3259f7417c..4e61b632bee 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -23224,7 +23224,7 @@ specified in POSIX.1-2001 and POSIX.1-2008.") (sha256 (base32 "1clb3lfw694crq8m767q0yjaazkplcrbzdr9fr2w39hhndivhcd6")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (native-inputs (list python-pytest python-setuptools)) (home-page "https://github.com/rocky/pycolumnize") (synopsis "Format a simple (i.e. not nested) list into aligned columns.") (description From a8a93afce3c9324f8a92f7ca9d386ee95edb793b Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Fri, 26 Sep 2025 22:10:48 +0100 Subject: [PATCH 04/41] gnu: python-ndeflib: Fix tests. * gnu/packages/python-xyz.scm (python-ndeflib)[arguments] : Skip 2 test groups. [native-inputs]: Remove python-wheel; add python-pytest. Change-Id: I609f6d9ce7b4f98bae1639769d51f4fa83ac8531 --- gnu/packages/python-xyz.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 4e61b632bee..d5bcadd7825 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -39410,7 +39410,19 @@ client library.") (sha256 (base32 "122a8prbcj070y3fl82kvxmbciv36hj1h1d448l6zcdrb22q4mhx")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (arguments + (list + ;; tests: 1571 passed, 37 deselected, 1 warning + ;; + ;; Two test fail with assertion not equal: + ;; + ;; test_decode_error[0001-unpack_from requires a buffer of at least 1 + ;; bytes] - AssertionError + ;; + ;; test_decode_error[00000101-unpack_from requires a buffer of at least + ;; 1 bytes] - AssertionError + #:test-flags #~(list "-k" "not test_decode_error"))) + (native-inputs (list python-pytest python-setuptools)) (home-page "https://ndeflib.readthedocs.io/") (synopsis "NFC Data Exchange Format decoder and encoder.") (description "This package provides a NFC (Near-Field Communication) From 8b627e931ae65c74581b839275d50fdb07ab2666 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Fri, 26 Sep 2025 22:14:39 +0100 Subject: [PATCH 05/41] gnu: python-rgbxy: Disable tests. * gnu/packages/python-xyz.scm (python-rgbxy)[arguments] : No tests. [native-inputs]: Remove python-wheel. Change-Id: I1a440d8e3f3e1b9d80c9d4c693e40de5ad4cd1ef --- gnu/packages/python-xyz.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d5bcadd7825..65854a7c403 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -27000,9 +27000,10 @@ filetypes can be easily added by creating plugins for them.") (sha256 (base32 "0c3dgm1rf7ih79pgkj7adffn8hlyqh5qah8rbzlq436kz3srk83q")))) (build-system pyproject-build-system) + (arguments + (list #:tests? #f)) ;no tests in PyPI or Git (native-inputs - (list python-setuptools - python-wheel)) + (list python-setuptools)) (home-page "https://github.com/benknight/hue-python-rgb-converter") (synopsis "RGB conversion tool in Python") (description From 06c8ae0c3d784c74dbb6d2e91d3de1633c4d81e3 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Fri, 26 Sep 2025 22:20:44 +0100 Subject: [PATCH 06/41] gnu: python-rich-tables: Update to 0.8.0. * gnu/packages/python-xyz.scm (python-rich-tables): Update to 0.8.0. [arguments] : Skip one test. [propagated-inputs]: Add python-humanize. Change-Id: If6472174a057eba03ae9a9c5c367a577b5c29db0 --- gnu/packages/python-xyz.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 65854a7c403..f96c498dd53 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -4179,7 +4179,7 @@ with Numpy and SciPy.") (define-public python-rich-tables (package (name "python-rich-tables") - (version "0.6.1") + (version "0.8.0") (source (origin (method git-fetch) ; no tests data in PyPi package @@ -4188,8 +4188,13 @@ with Numpy and SciPy.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1wqr6sldf97ycs4gfvsqhbh1ki2kgsaicsy44g9lspvlda5nfcp1")))) + (base32 "1gkwgxcjnghn0alqw53kgb4ixf047dnb49kc0af3blvcwnmfmb5f")))) (build-system pyproject-build-system) + (arguments + (list + #:test-flags + ;; TypeError: can't subtract offset-naive and offset-aware datetimes + #~(list "--deselect=tests/test_outputs.py::test_outputs[tests/json/album.json]"))) (native-inputs (list python-freezegun python-poetry-core @@ -4197,6 +4202,7 @@ with Numpy and SciPy.") python-pytest-cov)) (propagated-inputs (list python-funcy + python-humanize python-multimethod python-platformdirs python-rgbxy From dcf6ee11c79d3c0918d61d55d777649232888e04 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Fri, 26 Sep 2025 22:27:57 +0100 Subject: [PATCH 07/41] gnu: python-kconfiglib: Disable tests. * gnu/packages/python-xyz.scm (python-kconfiglib)[arguments] : They require some set up. [native-inputs]: Remove python-wheel. Change-Id: I50b415a1564a9a831bf7383f6eb6f00b46cdd998 --- gnu/packages/python-xyz.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index f96c498dd53..7e8a07d1563 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -7786,6 +7786,7 @@ something else) to Python data-types.") (base32 "10zqvpaky51kgb8nd42bk7jwl8cn2zvayxjpdc1wwmpybj92x67s")))))) +;; XXX: See: . (define-public python-kconfiglib (package (name "python-kconfiglib") @@ -7797,9 +7798,10 @@ something else) to Python data-types.") (sha256 (base32 "0g690bk789hsry34y4ahvly5c8w8imca90ss4njfqf7m2qicrlmy")))) (build-system pyproject-build-system) + (arguments + (list #:tests? #f)) ;tests require complex set up (native-inputs (list python-setuptools - python-wheel `(,python "tk"))) (home-page "https://github.com/ulfalizer/Kconfiglib") (synopsis From 13ce9973141091b2378083566f67b3e3d5f01a67 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Fri, 26 Sep 2025 22:38:07 +0100 Subject: [PATCH 08/41] gnu: python-zeroc-ice-3.6: Move closer to python-zeroc-ice. * gnu/packages/python-xyz.scm (python-zeroc-ice-3.6): Move variable after python-zeroc-ice. Change-Id: If63359d3b5fb1821a3d8232bdd266aba2225a597 --- gnu/packages/python-xyz.scm | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 7e8a07d1563..f30340c9c2c 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -40196,6 +40196,21 @@ software by taking care of all interactions with low-level network programming interfaces.") (license license:gpl2))) +;; Package variant to build python-omero-py@5.20.0 +(define-public python-zeroc-ice-3.6 + (package + (inherit python-zeroc-ice) + (version "3.6.5") + (source (origin + (method url-fetch) + (uri (pypi-uri "zeroc-ice" version)) + (sha256 + (base32 + "0mikjfvq26kh8asnn9v55z41pap4c5ypymqnwwi4xkavc3mzyda2")) + (patches + (search-patches + "python-zeroc-ice-3.6.5-python-3.11-support.patch")))))) + (define-public python-islenska (package (name "python-islenska") @@ -40296,20 +40311,6 @@ instance in spelling correction, predictive typing, to help disabled people write text fast, and for various text generation, statistics, and modeling tasks.") (license license:expat))) -(define-public python-zeroc-ice-3.6 - (package - (inherit python-zeroc-ice) - (version "3.6.5") - (source (origin - (method url-fetch) - (uri (pypi-uri "zeroc-ice" version)) - (sha256 - (base32 - "0mikjfvq26kh8asnn9v55z41pap4c5ypymqnwwi4xkavc3mzyda2")) - (patches - (search-patches - "python-zeroc-ice-3.6.5-python-3.11-support.patch")))))) - (define-public python-whenever (package (name "python-whenever") From 7ca5588e58d9a7dd06b07066593a8c4b0d3e9fd6 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Fri, 26 Sep 2025 23:00:15 +0100 Subject: [PATCH 09/41] gnu: python-zeroc-ice: Disable tests. * gnu/packages/python-xyz.scm (python-zeroc-ice)[arguments] : Test provided in Git, but there is no tag reflecting PyPI archive. [native-inputs]: Remove python-wheel. Change-Id: I1a9b2453fc53589e1701e5eb7d78575416881734 --- gnu/packages/python-xyz.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index f30340c9c2c..4031cc8b8da 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -40186,8 +40186,16 @@ read all zbar supported codes.") (base32 "0r46q4hd7xbpvnidbra1prkg4xhmajxjjmclfqgp3pv0lgyslqxh")))) (build-system pyproject-build-system) + (arguments + ;; XXX: No tests in PyPI, tere are tests in Git, but there is no 3.7.10.1 + ;; tag. + ;; + ;; See: + ;; - URL: + ;; - File: + (list #:tests? #f)) (inputs (list openssl)) - (native-inputs (list python-setuptools python-wheel)) + (native-inputs (list python-setuptools)) (home-page "https://zeroc.com") (synopsis "RPC framework") (description From f00ebc2d5ec41e7d849a93e76b063a022ec66483 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Fri, 26 Sep 2025 23:10:26 +0100 Subject: [PATCH 10/41] gnu: python-zeroc-ice-3.6: Fix build with gcc-14. * gnu/packages/python-xyz.scm (python-zeroc-ice-3.6)[arguments] : Add 'relax-gcc-14-strictness. Change-Id: I205e103f6e8e5856a10fb716fec3831b555ab3cf --- gnu/packages/python-xyz.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 4031cc8b8da..03d50970588 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -40217,7 +40217,15 @@ interfaces.") "0mikjfvq26kh8asnn9v55z41pap4c5ypymqnwwi4xkavc3mzyda2")) (patches (search-patches - "python-zeroc-ice-3.6.5-python-3.11-support.patch")))))) + "python-zeroc-ice-3.6.5-python-3.11-support.patch")))) + (arguments + (substitute-keyword-arguments (package-arguments python-zeroc-ice) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + (add-before 'build 'relax-gcc-14-strictness + (lambda _ + (setenv "CFLAGS" + "-g -O2 -Wno-error=implicit-function-declaration"))))))))) (define-public python-islenska (package From 90b43a23338ad5f1c545f6c616c2580eaa2811bf Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Fri, 26 Sep 2025 23:10:26 +0100 Subject: [PATCH 11/41] gnu: python-attr: Fix tests. * gnu/packages/python-xyz.scm (python-attr)[arguments] : Use 'custom. : Provide test script as seen in . [native-inputs]: Remove python-wheel. Change-Id: Iee70e41ca607f0200ac2387fd62e01a2a7b5e49e --- gnu/packages/python-xyz.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 03d50970588..7f0bf20afb3 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -31004,6 +31004,7 @@ module.") (properties '((upstream-name . "Wikidata"))) (license license:gpl3+))) +;; XXX: Not maintained since 2022, leaf package. (define-public python-attr (package (name "python-attr") @@ -31015,8 +31016,11 @@ module.") (sha256 (base32 "1x2627x0n2rxx8wib4cksbjjnncff8finq97k37dq70qd2kvrvhw")))) (build-system pyproject-build-system) + (arguments + (list #:test-backend #~'custom + #:test-flags #~(list "-c" "import dry_attr; dry_attr.test()"))) (native-inputs - (list python-setuptools python-wheel)) + (list python-setuptools)) (home-page "https://github.com/denis-ryzhkov/attr") (synopsis "Decorator for attributes of target function or class") (description "Simple decorator to set attributes of target function or From 3e634c5d19d5d03fd6f896b529ffa09f5236a49e Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Fri, 26 Sep 2025 23:35:58 +0100 Subject: [PATCH 12/41] gnu: python-calmjs-parse: Fix tests. * gnu/packages/python-xyz.scmf (python-calmjs-parse)[native-inputs]: Remove python-wheel; add python-pytest. Change-Id: I0cde88ae9fa6f210e436a64a7a3f0ea1114506df --- gnu/packages/python-xyz.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 7f0bf20afb3..752f4fd194d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -646,7 +646,8 @@ line drawing algorithm}.") (sha256 (base32 "08dmi4chamk5dbdpvrc0nb09iybfhj3wqwxgffiqnkj7030qhqb8")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + ;; tests: 797 passed, 1 warning + (native-inputs (list python-pytest python-setuptools)) (propagated-inputs (list python-ply)) (home-page "https://github.com/calmjs/calmjs.parse/") (synopsis "Parsers for ECMA standards") From 51fa44d0939218ca17e9dbadcb151345deee9cd1 Mon Sep 17 00:00:00 2001 From: Hugo Buddelmeijer Date: Sat, 27 Sep 2025 22:16:18 +0200 Subject: [PATCH 13/41] gnu: python-grandalf: Update to 0.8. * gnu/packages/python-xyz.scm (python-grandalf): Update to 0.8. [build-system]: Switch to pyproject-build-system. [native-inputs]: Remove python-pytest-runner; add python-setuptools. [arguments] <#:phases>: Add 'patch-requirements phase; remove check-phase replacement. Change-Id: Icaf77d0909b67b857bceffd21bb132c9e0e69edc Signed-off-by: Sharlatan Hellseher --- gnu/packages/python-xyz.scm | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 752f4fd194d..8efb3527990 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -13783,10 +13783,10 @@ memoizing PEG/Packrat parser in Python.") (define-public python-grandalf (package (name "python-grandalf") - (version "0.7") + ;; `guix refresh` will try to upgrade to v0.55555, but that is older. + (version "0.8") (source (origin - ;; There's no source tarball on PyPI. (method git-fetch) (uri (git-reference (url "https://github.com/bdcht/grandalf") @@ -13794,16 +13794,18 @@ memoizing PEG/Packrat parser in Python.") (file-name (git-file-name name version)) (sha256 (base32 - "03p8w8ljpb87qbyldm3s6b7qi30hfcn43h33iwlgqcf31fjsyr4g")))) - (build-system python-build-system) + "199f86hz3g4p237ma4j27rzwmska3bxzsbgq20i4l4pczf9v7ax0")))) + (build-system pyproject-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "python" "setup.py" "pytest")))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'patch-requirements + (lambda _ + (substitute* "setup.py" + (("install_requires=\\['pyparsing'],") ""))))))) (native-inputs - (list python-pytest python-pytest-runner)) + (list python-setuptools python-pytest)) (propagated-inputs (list python-numpy python-ply)) (home-page "https://github.com/bdcht/grandalf") From 0a0f1e30a85ffda9f606cf07c3747656d8c37d8a Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sat, 27 Sep 2025 21:45:07 +0100 Subject: [PATCH 14/41] gnu: python-mathics-pygments: Fix tests. * gnu/packages/maths.scm (python-mathics-pygments)[native-inputs]: Remove python-wheel; add python-pytest. Change-Id: I01471fd8835c7cbc21fae497bedb177a1230eae1 --- gnu/packages/maths.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1cd0865263a..82d878592ac 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -11316,8 +11316,12 @@ the Wolfram language.") (sha256 (base32 "1iagdic8f0yjx01kdds40jfcxcpdbrd3i0ywydl01dhyyvd2yjk9")))) (build-system pyproject-build-system) - (propagated-inputs (list python-mathics-scanner python-pygments)) - (native-inputs (list python-setuptools python-wheel)) + (native-inputs + (list python-pytest + python-setuptools)) + (propagated-inputs + (list python-mathics-scanner + python-pygments)) (home-page "http://github.com/Mathics3/mathics-pygments/") (synopsis "Wolfram language lexer for Pygments") (description "This package provides a Wolfram language lexer for Pygments.") From 52081ff06b1fbeeaae41c320964d172ff5ab6e1a Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sat, 27 Sep 2025 21:52:16 +0100 Subject: [PATCH 15/41] gnu: python-pydes: Disable tests. Project is not maintained since 2016, this change fix check phase by skipping tests. Web search leads to repository, while home-page URL is a dead link. * gnu/packages/python-crypto.scm (python-pydes)[arguments] : No tests in PyPI, I could not find Git. [native-inputs]: Remove python-wheel. Change-Id: Icd47c0012dc1d2bab68d7f287e5f1af0254dae2b --- gnu/packages/python-crypto.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 32b9f17aaa7..b20bec061fd 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -1771,6 +1771,7 @@ in different situations. @end enumerate") (license license:expat))) +;; XXX: Not maintained since 2016. (define-public python-pydes (package (name "python-pydes") @@ -1782,8 +1783,10 @@ in different situations. (sha256 (base32 "04lh71f47y04vspfrdrq6a0hn060ibxvdp5z1pcr0gmqs8hqxaz2")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) - (home-page "http://twhiteman.netfirms.com/des.html") + (arguments + (list #:tests? #f)) ;no tests in PyPI, I could not fine Git + (native-inputs (list python-setuptools)) + (home-page "http://twhiteman.netfirms.com/des.html") ;XXX: Dead link (synopsis "Pure python implementation of the DES and TRIPLE DES encryption algorithms") (description From e976d192a4e18b5d07e43a764034a63c401e26c8 Mon Sep 17 00:00:00 2001 From: Hugo Buddelmeijer Date: Fri, 26 Sep 2025 19:02:21 +0200 Subject: [PATCH 16/41] gnu: python-flexmock: Fix by using python-poetry-core * gnu/packages/check.scm (python-flexmock): Fix. [native-inputs]: Remove poetry; add python-poetry-core. [homepage]: Switch to https://flexmock.readthedocs.io/ as lint suggested. Change-Id: I0271a2af4c18c957cad86e26b5d2f833e8184fc1 Signed-off-by: Sharlatan Hellseher --- gnu/packages/check.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 2451fd9d045..436f992f0ab 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -3195,8 +3195,8 @@ time by mocking the datetime module.") (base32 "18dcr7mpldf3cxsqi9rak75n4z7x3j544l4ixdspairm7cf6cp23")))) (build-system pyproject-build-system) - (native-inputs (list poetry python-pytest)) - (home-page "https://flexmock.readthedocs.org") + (native-inputs (list python-poetry-core python-pytest)) + (home-page "https://flexmock.readthedocs.io/") (synopsis "Testing library for Python") (description "flexmock is a testing library for Python that makes it easy to create From f35a36f906ab2f1d676225e0d0c9aea73b2759a1 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sat, 27 Sep 2025 22:49:59 +0100 Subject: [PATCH 17/41] gnu: python-flexmock: Move to python-check. * gnu/packages/check.scm (python-flexmock): Move from here ... * gnu/packages/python-check.scm: ... to here. * gnu/packages/shellutils.scm: Add python-check module. Change-Id: I6aebe1eb1f9bdbeb140af4538a9af0becccc6e92 --- gnu/packages/check.scm | 19 ------------------- gnu/packages/python-check.scm | 23 +++++++++++++++++++++++ gnu/packages/shellutils.scm | 1 + 3 files changed, 24 insertions(+), 19 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 436f992f0ab..4b974917893 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -3184,25 +3184,6 @@ JSON APIs with Behave.") time by mocking the datetime module.") (license license:asl2.0))) -(define-public python-flexmock - (package - (name "python-flexmock") - (version "0.12.2") - (source (origin - (method url-fetch) - (uri (pypi-uri "flexmock" version)) - (sha256 - (base32 - "18dcr7mpldf3cxsqi9rak75n4z7x3j544l4ixdspairm7cf6cp23")))) - (build-system pyproject-build-system) - (native-inputs (list python-poetry-core python-pytest)) - (home-page "https://flexmock.readthedocs.io/") - (synopsis "Testing library for Python") - (description - "flexmock is a testing library for Python that makes it easy to create -mocks, stubs and fakes.") - (license license:bsd-3))) - (define-public python-flaky (package (name "python-flaky") diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index c95596dd4d6..c6f52eb8439 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 Cyril Roelandt ;;; Copyright © 2015, 2019, 2020, 2021 Efraim Flashner ;;; Copyright © 2016-2022 Marius Bakke +;;; Copyright © 2016 宋文武 ;;; Copyright © 2017 Muriithi Frederick Muriuki ;;; Copyright © 2018-2020 Tobias Geerinckx-Rice ;;; Copyright © 2019-2025 Ricardo Wurmus @@ -23,6 +24,7 @@ ;;; Copyright © 2022 Tomasz Jeneralczyk ;;; Copyright © 2022 jgart ;;; Copyright © 2023 John Kehayias +;;; Copyright © 2024 Danny Milosavljevic ;;; Copyright © 2024-2025 Troy Figiel ;;; Copyright © 2024 Navid Afkhami ;;; Copyright © 2024, 2025 David Elsing @@ -786,6 +788,27 @@ list/set/dict comprehensions.") providing hints about what deprecated methods should be replaced with.") (license license:gpl2))) +(define-public python-flexmock + (package + (name "python-flexmock") + (version "0.12.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "flexmock" version)) + (sha256 + (base32 "18dcr7mpldf3cxsqi9rak75n4z7x3j544l4ixdspairm7cf6cp23")))) + (build-system pyproject-build-system) + (native-inputs + (list python-poetry-core + python-pytest)) + (home-page "https://flexmock.readthedocs.io/") + (synopsis "Testing library for Python") + (description + "flexmock is a testing library for Python that makes it easy to create +mocks, stubs and fakes.") + (license license:bsd-3))) + (define-public python-gcovr (package (name "python-gcovr") diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm index bc52898c0ae..71d9cee818c 100644 --- a/gnu/packages/shellutils.scm +++ b/gnu/packages/shellutils.scm @@ -69,6 +69,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-build) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) #:use-module (gnu packages ruby) From c78545b3349f233177b7de6861d612c889b017c9 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sat, 27 Sep 2025 22:56:53 +0100 Subject: [PATCH 18/41] gnu: python-iocapture: Fix tests. * gnu/packages/python-xyz.scm (python-iocapture)[native-inputs]: Remove python-wheel; add python-six. Change-Id: Ifa2191412463b03759527cd8073e6760d648c2f4 --- gnu/packages/python-xyz.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 8efb3527990..ae5e5c270e3 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -32158,6 +32158,7 @@ register custom encoders and decoders.") bindings for Python 3.") (license license:bsd-3))) +;; XXX: See: . (define-public python-iocapture ;; The latest release is more than a year older than this commit. (let ((commit "fdc021c431d0840303908dfc3ca8769db383595c") @@ -32175,8 +32176,12 @@ bindings for Python 3.") (sha256 (base32 "1mkbhqibxvgwg0p7slr8dfraa3g2s6bsayladhax2jccwj4kcndz")))) (build-system pyproject-build-system) - (native-inputs (list python-flexmock python-pytest python-pytest-cov - python-setuptools python-wheel)) + (native-inputs + (list python-flexmock + python-pytest + python-pytest-cov + python-setuptools + python-six)) (home-page "https://github.com/oinume/iocapture") (synopsis "Python capturing tool for stdout and stderr") (description From b60bb57fb6339e2328d6c295f3b090d58b4f6ae3 Mon Sep 17 00:00:00 2001 From: Rodion Goritskov Date: Sat, 27 Sep 2025 18:24:06 +0200 Subject: [PATCH 19/41] gnu: python-u-boot-pylib: Fix build. * gnu/packages/bootloaders.scm (python-u-boot-pylib)[native-inputs]: Add python-setuptools. Change-Id: I94052f3a3db1aeb734025011e93e8efe279ccdb5 Signed-off-by: Sharlatan Hellseher --- gnu/packages/bootloaders.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index dbce7075e30..ef064a522b4 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -1041,6 +1041,7 @@ CONFIG_TOOLS_KWBIMAGE=n") (lambda* (#:key tests? #:allow-other-keys) (when tests? (invoke "./u_boot_pylib"))))))) + (native-inputs (list python-setuptools)) (synopsis "U-Boot Python library") (description "This package provides common Python code used by some of the commands part of the U-Boot project, such as Patman."))) From 7c1eb3247abb4a5d9e1110e1baf999dc2fce3885 Mon Sep 17 00:00:00 2001 From: Rodion Goritskov Date: Sat, 27 Sep 2025 18:49:33 +0200 Subject: [PATCH 20/41] gnu: patman: Fix build. * gnu/packages/bootloaders.scm (patman):[native-inputs]: Add python-setuptools. Change-Id: Ia39f2aee4cb7480a445266d113407467207bbf2e Signed-off-by: Sharlatan Hellseher --- gnu/packages/bootloaders.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index ef064a522b4..840cce37122 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -1077,6 +1077,7 @@ commands part of the U-Boot project, such as Patman."))) ,(dirname (search-input-file inputs "libexec/git-core/git-send-email")))))))))) + (native-inputs (list python-setuptools)) (inputs (list git `(,git "send-email") From 31b4c153e1890b72407ae2543d8d92da3753102e Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Sat, 27 Sep 2025 18:03:12 +0200 Subject: [PATCH 21/41] gnu: python-mathlibtools: Switch to pyproject. * gnu/packages/lean.scm (python-mathlibtools): [source]: Switch to git-fetch. [build-system]: Switch to pyproject-build-system. [arguments]<#:test-flags>: Disable failing tests. [native-inputs]: Add python-pytest, python-setuptools. Change-Id: I48805383c0dd6fc4d033cbe7fe3e039cf388eb12 Signed-off-by: Sharlatan Hellseher --- gnu/packages/lean.scm | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/gnu/packages/lean.scm b/gnu/packages/lean.scm index 82bca77dd71..8229c7e7306 100644 --- a/gnu/packages/lean.scm +++ b/gnu/packages/lean.scm @@ -24,11 +24,12 @@ #:use-module (ice-9 match) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages check) #:use-module (gnu packages llvm) #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) #:use-module (guix build-system cmake) - #:use-module (guix build-system python) + #:use-module (guix build-system pyproject) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix gexp) #:use-module (guix packages) @@ -165,18 +166,33 @@ interactive and automated theorem proving.") (package (name "python-mathlibtools") (version "1.1.1") - (source (origin - (method url-fetch) - (uri (pypi-uri "mathlibtools" version)) - (sha256 - (base32 - "089pql105imx8z7ar1wiz9fn000jp6xqdfixw4jf2vric94vn9fj")))) - (build-system python-build-system) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/leanprover-community/mathlib-tools") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kllk99cd9vsbmb0ifi21gkhrg2w803z4y5xhx0a7hx3viyjb3cv")))) + (build-system pyproject-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-before 'check 'fix-home-directory - (lambda _ - (setenv "HOME" "/tmp")))))) + (list + #:test-flags + #~(list "-k" + ;; These tests require network access. + (string-join (list "not test_new" + "test_add" + "test_upgrade_project" + "test_upgrade_mathlib" + "test_get_tutorials") + " and not ")) + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'fix-home-directory + (lambda _ + (setenv "HOME" "/tmp")))))) + (native-inputs (list python-pytest python-setuptools)) (inputs (list python-toml python-pygithub python-certifi From a99b3b8c209833e84f1f3e76a439e2373a9a3daf Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Sat, 27 Sep 2025 18:18:46 +0200 Subject: [PATCH 22/41] gnu: python-pycountry: Move to (gnu packages iso-codes). This package makes a lot more sense there, and is actually needed to run tests of other python packages in this module. * gnu/packages/python-xyz.scm (python-pycountry) (python-pycountry@20.7.3): Move them... * gnu/packages/iso-codes.scm (python-pycountry) (python-pycountry-20.7.3): ... to this module. * gnu/packages/music.scm: Import (gnu packages iso-codes). * gnu/packages/tryton.scm: Import (gnu packages iso-codes). (trytond-country): Correct python-pycountry@20.7.3 to python-pycountry-20.7.3. Change-Id: I7aa424663fb2edc73bca3fcac38de3226cc57a9b Signed-off-by: Sharlatan Hellseher --- gnu/packages/iso-codes.scm | 40 ++++++++++++++++++++++++++++++++++++ gnu/packages/music.scm | 1 + gnu/packages/python-xyz.scm | 41 +------------------------------------ gnu/packages/tryton.scm | 3 ++- 4 files changed, 44 insertions(+), 41 deletions(-) diff --git a/gnu/packages/iso-codes.scm b/gnu/packages/iso-codes.scm index ad9b90a5641..6de45208d4f 100644 --- a/gnu/packages/iso-codes.scm +++ b/gnu/packages/iso-codes.scm @@ -181,3 +181,43 @@ groups.") (synopsis "Self-contained ISO 3166-1 country definitions") (description "This package provides the ISO 3166-1 country definitions.") (license license:expat))) + +(define-public python-pycountry + (package + (name "python-pycountry") + (version "22.3.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pycountry" version)) + (sha256 + (base32 + "0ihnkh86zz01vi46gcwgq6h71jrpj7hq71zi13c98n2qdhj3l5mj")))) + (build-system python-build-system) + (home-page "https://bitbucket.org/flyingcircus/pycountry") + (synopsis "ISO databases for languages, countries, currencies, etc.") + (description + "@code{pycountry} provides the ISO databases for the standards: + @enumerate + @item 639-3 (Languages) + @item 3166 (Countries) + @item 3166-3 (Deleted Countries) + @item 3166-2 (Subdivisions of countries) + @item 4217 (Currencies) + @item 15924 (Scripts) + @end enumerate + It includes a copy from Debian’s pkg-isocodes and makes the data accessible + through a Python API.") + (license license:lgpl2.1+))) + +(define-public python-pycountry-20.7.3 + (package + (inherit python-pycountry) + (name "python-pycountry") + (version "20.7.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pycountry" version)) + (sha256 + (base32 "0hnbabsmqimx5hqh0jbd2f64i8fhzhhbrvid57048hs5sd9ll241")))))) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index c789ae54fa2..763c21b7933 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -154,6 +154,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages image-viewers) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages iso-codes) #:use-module (gnu packages java) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages libevent) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ae5e5c270e3..ef95f3a05d6 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -237,6 +237,7 @@ #:use-module (gnu packages image-processing) #:use-module (gnu packages imagemagick) #:use-module (gnu packages inkscape) + #:use-module (gnu packages iso-codes) #:use-module (gnu packages java) #:use-module (gnu packages jupyter) #:use-module (gnu packages kerberos) @@ -26034,46 +26035,6 @@ converting text with ANSI color codes to HTML or LaTeX.") can even create animations with the cursor controls.") (license license:expat))) -(define-public python-pycountry - (package - (name "python-pycountry") - (version "22.3.5") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pycountry" version)) - (sha256 - (base32 - "0ihnkh86zz01vi46gcwgq6h71jrpj7hq71zi13c98n2qdhj3l5mj")))) - (build-system python-build-system) - (home-page "https://bitbucket.org/flyingcircus/pycountry") - (synopsis "ISO databases for languages, countries, currencies, etc.") - (description - "@code{pycountry} provides the ISO databases for the standards: - @enumerate - @item 639-3 (Languages) - @item 3166 (Countries) - @item 3166-3 (Deleted Countries) - @item 3166-2 (Subdivisions of countries) - @item 4217 (Currencies) - @item 15924 (Scripts) - @end enumerate - It includes a copy from Debian’s pkg-isocodes and makes the data accessible - through a Python API.") - (license license:lgpl2.1+))) - -(define-public python-pycountry@20.7.3 - (package - (inherit python-pycountry) - (name "python-pycountry") - (version "20.7.3") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pycountry" version)) - (sha256 - (base32 "0hnbabsmqimx5hqh0jbd2f64i8fhzhhbrvid57048hs5sd9ll241")))))) - (define-public python-pycosat (package (name "python-pycosat") diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index ee6cc9b6bfc..0261e92e8e7 100644 --- a/gnu/packages/tryton.scm +++ b/gnu/packages/tryton.scm @@ -33,6 +33,7 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) + #:use-module (gnu packages iso-codes) #:use-module (gnu packages pdf) #:use-module (gnu packages python) #:use-module (gnu packages python-build) @@ -1739,7 +1740,7 @@ month and a year of work.") (arguments (tryton-arguments "country" "--no-doctest")) (native-inputs (%standard-trytond-native-inputs)) (propagated-inputs - (list python-pycountry@20.7.3 trytond)) + (list python-pycountry-20.7.3 trytond)) (home-page "http://www.tryton.org/") (synopsis "Tryton module with countries") (description From 8c7daa1e57bf678d730ccf2cfc6a7788d7bc7b86 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Sat, 27 Sep 2025 18:29:34 +0200 Subject: [PATCH 23/41] gnu: python-pycountry: Update to 24.6.1. * gnu/packages/iso-codes.scm (python-pycountry): Update to 24.6.1. [build-system]: Switch to pyproject-build-system. [native-inputs]: Add python-poetry-core, python-pytest, python-pytest-cov. [home-page]: Update them. Change-Id: Ic78b2ea3b268a0da80186647164072b4e1909083 Signed-off-by: Sharlatan Hellseher --- gnu/packages/iso-codes.scm | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/gnu/packages/iso-codes.scm b/gnu/packages/iso-codes.scm index 6de45208d4f..c6e08b9f9d2 100644 --- a/gnu/packages/iso-codes.scm +++ b/gnu/packages/iso-codes.scm @@ -185,16 +185,19 @@ groups.") (define-public python-pycountry (package (name "python-pycountry") - (version "22.3.5") + (version "24.6.1") (source (origin - (method url-fetch) - (uri (pypi-uri "pycountry" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/pycountry/pycountry") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0ihnkh86zz01vi46gcwgq6h71jrpj7hq71zi13c98n2qdhj3l5mj")))) - (build-system python-build-system) - (home-page "https://bitbucket.org/flyingcircus/pycountry") + (base32 "0qs99acz1vsj96s8pcwbnp3z3s01mzzvdayk7fm0nnl6lf3lz1g1")))) + (build-system pyproject-build-system) + (native-inputs (list python-poetry-core python-pytest python-pytest-cov)) + (home-page "https://github.com/pycountry/pycountry") (synopsis "ISO databases for languages, countries, currencies, etc.") (description "@code{pycountry} provides the ISO databases for the standards: From c8cea00406d49a3d73a461c880894896a79b2374 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Sat, 27 Sep 2025 18:31:59 +0200 Subject: [PATCH 24/41] gnu: python-iso639: Switch to pyproject. * gnu/packages/iso-codes.scm (python-iso639): [build-system]: Switch to pyproject-build-system. [arguemnts]<#:test-flags>: Ignore failing tests. [native-inputs]: Add python-pycountry, python-pytest, python-pytest-cov. [description]: Improve style. Change-Id: I7e88a4d2e1a867937b7ce3f80774e8bb235e5b6e Signed-off-by: Sharlatan Hellseher --- gnu/packages/iso-codes.scm | 42 ++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/gnu/packages/iso-codes.scm b/gnu/packages/iso-codes.scm index c6e08b9f9d2..49fd84da3c4 100644 --- a/gnu/packages/iso-codes.scm +++ b/gnu/packages/iso-codes.scm @@ -21,6 +21,7 @@ (define-module (gnu packages iso-codes) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -152,17 +153,42 @@ region, WIOD classification, ccTLD.") (version "0.4.5") (source (origin - (method url-fetch) - (uri (pypi-uri "iso-639" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/noumar/iso639") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0jffmh4m20q8j27xb2fqbnlghjj0cx8pgsbzqisdg65qh2wd976w")))) - (build-system python-build-system) + (base32 "02kx6kr3x43linxqafjlx85zdk04s6ab2fv5ikyglghwr5hsvic4")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "tests/tests.py" + "-k" (string-join + (list + ;; module 'collections' has no attribute 'Iterable' + "not test_iter" + ;; 'Moroccan Arabic' != 'Arabic' + "test_logic_part2" + ;; 'Languages' object has no attribute 'indices' + "test_compare_alpha2" + "test_compare_bibliographic" + "test_compare_terminology") + " and not ")) + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'configure-tests + (lambda _ + (setenv "PYTHONPATH" + (string-append (getcwd) ":" + (getenv "GUIX_PYTHONPATH")))))))) + (native-inputs (list python-pycountry python-pytest python-setuptools)) (home-page "https://github.com/noumar/iso639") (synopsis "Python library for ISO 639 standard") - (description "This package provides a Python library for ISO 639 standard -that is concerned with representation of names for languages and language -groups.") + (description + "This package provides a Python library for ISO 639 standard that is +concerned with representation of names for languages and language groups.") (license license:agpl3+))) (define-public python-iso3166 From fdf06879c760b6c99cae2cf5d8504d7dc6c2d254 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Sat, 27 Sep 2025 18:39:51 +0200 Subject: [PATCH 25/41] gnu: python-iso3166: Switch to pyproject. * gnu/packages/iso-codes.scm (python-iso3166): [source]: Switch to git-fetch. [build-system]: Switch to pyproject-build-system. [native-inputs]: Add python-pytest, python-setuptools. Change-Id: I846061c4cba9edc9c795c8540c86dba02581ec5e Signed-off-by: Sharlatan Hellseher --- gnu/packages/iso-codes.scm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gnu/packages/iso-codes.scm b/gnu/packages/iso-codes.scm index 49fd84da3c4..7c032ae3b65 100644 --- a/gnu/packages/iso-codes.scm +++ b/gnu/packages/iso-codes.scm @@ -197,12 +197,15 @@ concerned with representation of names for languages and language groups.") (version "2.1.1") (source (origin - (method url-fetch) - (uri (pypi-uri "iso3166" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/deactivated/python-iso3166") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "068p94gavc8gbmp5a2kw8hi5l551wfzbpmp6z7ll8sx6vnw53mgw")))) - (build-system python-build-system) + (base32 "0j0bnm4bd23cyb7dga00gb20myg9skylchkw4d23yh31b7a315m8")))) + (build-system pyproject-build-system) + (native-inputs (list python-pytest python-setuptools)) (home-page "https://github.com/deactivated/python-iso3166") (synopsis "Self-contained ISO 3166-1 country definitions") (description "This package provides the ISO 3166-1 country definitions.") From 0c2c5fc8cf5a61f648ff150fc73a52fab547da27 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Sat, 27 Sep 2025 18:42:28 +0200 Subject: [PATCH 26/41] gnu: python-pycountry-20.7.3: Switch to git source. * gnu/packages/iso-codes.scm (python-pycountry-20.7.3): Hide package. [source]: Switch to git-fetch. [native-inputs]: Replace inherited python-poetry-core by python-setuptools. Change-Id: Ie8832b0dddb3f83d14ea43bf80585aa8fa6739d1 Signed-off-by: Sharlatan Hellseher --- gnu/packages/iso-codes.scm | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/gnu/packages/iso-codes.scm b/gnu/packages/iso-codes.scm index 7c032ae3b65..000ea057b30 100644 --- a/gnu/packages/iso-codes.scm +++ b/gnu/packages/iso-codes.scm @@ -26,7 +26,6 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) - #:use-module (guix build-system python) #:use-module (guix build-system pyproject) #:use-module (gnu packages check) #:use-module (gnu packages gettext) @@ -243,13 +242,18 @@ concerned with representation of names for languages and language groups.") (license license:lgpl2.1+))) (define-public python-pycountry-20.7.3 - (package - (inherit python-pycountry) - (name "python-pycountry") - (version "20.7.3") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pycountry" version)) - (sha256 - (base32 "0hnbabsmqimx5hqh0jbd2f64i8fhzhhbrvid57048hs5sd9ll241")))))) + (hidden-package + (package + (inherit python-pycountry) + (name "python-pycountry") + (version "20.7.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pycountry/pycountry") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1aqzbdqvy3pg0x33ay099vriazs28v6kw7fwc8ajg3avdcws2mgm")))) + (native-inputs (list python-pytest python-pytest-cov python-setuptools))))) From 460ef912ae22ef9811935487595b06359e8d80e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Tempel?= Date: Sun, 14 Sep 2025 18:47:27 +0200 Subject: [PATCH 27/41] gnu: htop: Enable support for temperature readings via lm-sensors. * gnu/packages/admin.scm (htop)[inputs]: add lm-sensors. [arguments] <#:configure-flags>: pass --enable-sensors. [arguments] <#:phases>: patch dlopen(3) invocation. Change-Id: Ibb4476b85289d2200bd899adb785fa967a603c75 Reviewed-by: Cayetano Santos Signed-off-by: Sharlatan Hellseher --- gnu/packages/admin.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 53483d22165..186a1ea5310 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1115,8 +1115,21 @@ on memory usage on GNU/Linux systems.") (base32 "058y4a4mvx9m179dyr4wi8mlm6i4ybywshadaj4cvfn9fv0r0nkx")) (file-name (git-file-name name version)))) (build-system gnu-build-system) + (arguments + (list + #:configure-flags + #~(list "--enable-sensors") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-dlopen + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "linux/LibSensors.c" + (("dlopen\\(\"libsensors\\.so") + (string-append "dlopen(\"" + (search-input-file + inputs "/lib/libsensors.so"))))))))) (inputs - (list ncurses)) + (list ncurses (list lm-sensors "lib"))) (native-inputs (list autoconf automake python-minimal-wrapper)) ; for scripts/MakeHeader.py (home-page "https://htop.dev") From 0c3cac7e0e736a5ae6c824b062c32d8aea8655ae Mon Sep 17 00:00:00 2001 From: Hugo Buddelmeijer Date: Fri, 26 Sep 2025 22:02:19 +0200 Subject: [PATCH 28/41] gnu: python-geometric: Fix build. * gnu/packages/chemistry.scm (python-geometric): Fix build. [native-inputs]: Remove python-wheel. [arguments] <#:phases>: Remove six dependency. Change-Id: I2dd5191bf2b41719dc3b56c8b914eb090161b090 Reviewed-by: Nicolas Graves Signed-off-by: Sharlatan Hellseher --- gnu/packages/chemistry.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index 06fa6676e23..93fe90a858f 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -701,10 +701,20 @@ symmetries written in C. Spglib can be used to: (sha256 (base32 "0w3c71wvhnc44pfafcjfgqkjimkcdkpjk3bahg9v6l1z8c0cyhfy")))) (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-six + (lambda _ + (substitute* "geometric/nifty.py" + (("import six") "") + (("six\\.string_types") "str")) + (substitute* "setup.py" + (("'six',") ""))))))) (native-inputs (list python-pytest - python-setuptools - python-wheel)) + python-setuptools)) (propagated-inputs (list python-numpy python-scipy From cf7a0a747e81b08cd51208e1768ffda901209a55 Mon Sep 17 00:00:00 2001 From: Hugo Buddelmeijer Date: Fri, 26 Sep 2025 19:37:34 +0200 Subject: [PATCH 29/41] gnu: python-apprise: Update to 1.9.4. * gnu/packages/python-xyz.scm (python-apprise): Update to 1.9.4. [arguments] <#:test-flags>: Remove --numprocesses in the hope to make the tests more deterministic. [propagated-inputs]: Add python-pygobject. [native-inputs]: Remove python-pytest-xdist, and python-wheel. Change-Id: I3c63be39433d9044b0c994c7adb5ab6a4e9f2a2d Signed-off-by: Sharlatan Hellseher --- gnu/packages/python-xyz.scm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ef95f3a05d6..96a74635ffc 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -348,32 +348,31 @@ user.") (define-public python-apprise (package (name "python-apprise") - (version "1.9.3") + (version "1.9.4") (source (origin (method url-fetch) (uri (pypi-uri "apprise" version)) (sha256 - (base32 "19k51ici58134m61f6di0m36mbqgdyr6r31i8v6rk22vldz6d0zm")))) + (base32 "126951n9lnlqrw5lbsvs9xs7jzg33bqqxm7cfnqag2csw6p24ca8")))) (build-system pyproject-build-system) (arguments (list + ;; These tests used to be ran with --numprocesses, but that seems to have + ;; made them non-deterministic. #:test-flags - #~(list "--numprocesses" (number->string (parallel-job-count)) - "--ignore=test/test_plugin_macosx.py" - ;; AssertionError - "--deselect=test/test_plugin_wxpusher.py::test_plugin_wxpusher_urls"))) + #~(list "--ignore=tests/test_plugin_macosx.py" + "-k" "not test_plugin_glib_send_raises_generic"))) (native-inputs (list python-babel python-pytest python-pytest-mock - python-pytest-xdist - python-setuptools - python-wheel)) + python-setuptools)) (propagated-inputs (list python-certifi python-click python-markdown + python-pygobject python-pyyaml python-requests python-requests-oauthlib)) From be923f92948584d7c48206210edfdf98d5280579 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sun, 28 Sep 2025 00:10:54 +0100 Subject: [PATCH 30/41] gnu: python-apprise: Move to python-web. * gnu/packages/python-xyz.scm (python-apprise): Move from here ... * gnu/packages/python-web.scm: ... to here. Change-Id: Iec9be9ed71ea199bbcf9a0ad66a6251d51bc0484 --- gnu/packages/python-web.scm | 41 +++++++++++++++++++++++++++++++++++++ gnu/packages/python-xyz.scm | 39 ----------------------------------- 2 files changed, 41 insertions(+), 39 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index ee9b4aadaab..e290daa3356 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -64,6 +64,8 @@ ;;; Copyright © 2023 dan ;;; Copyright © 2023 John Kehayias ;;; Copyright © 2023 Ivan Vilata-i-Balaguer +;;; Copyright © 2024 Fabio Natali +;;; Copyright © 2024 Steve George ;;; Copyright © 2024 Troy Figiel ;;; Copyright © 2024, 2025 Sharlatan Hellseher ;;; Copyright © 2024 normally_js @@ -205,6 +207,45 @@ writing applications that talk to network enabled embedded @acronym{IoT,Internet of Things} devices.") (license license:expat))) +(define-public python-apprise + (package + (name "python-apprise") + (version "1.9.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "apprise" version)) + (sha256 + (base32 "126951n9lnlqrw5lbsvs9xs7jzg33bqqxm7cfnqag2csw6p24ca8")))) + (build-system pyproject-build-system) + (arguments + (list + ;; These tests used to be ran with --numprocesses, but that seems to have + ;; made them non-deterministic. + #:test-flags + #~(list "--ignore=tests/test_plugin_macosx.py" + "-k" "not test_plugin_glib_send_raises_generic"))) + (native-inputs + (list python-babel + python-pytest + python-pytest-mock + python-setuptools)) + (propagated-inputs + (list python-certifi + python-click + python-markdown + python-pygobject + python-pyyaml + python-requests + python-requests-oauthlib)) + (home-page "https://github.com/caronc/apprise") + (synopsis "Push notification library") + (description + "Apprise is a Python library that allows sending push notifications to a +broad range of notification services, such as Telegram, Discord, Slack, Amazon +SNS, Gotify, etc.") + (license license:bsd-2))) + (define-public python-devpi-common (package (name "python-devpi-common") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 96a74635ffc..12af733d7f3 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -345,45 +345,6 @@ protocol of git-annex, while leaving the behavior of the remote up to the user.") (license license:gpl3))) -(define-public python-apprise - (package - (name "python-apprise") - (version "1.9.4") - (source - (origin - (method url-fetch) - (uri (pypi-uri "apprise" version)) - (sha256 - (base32 "126951n9lnlqrw5lbsvs9xs7jzg33bqqxm7cfnqag2csw6p24ca8")))) - (build-system pyproject-build-system) - (arguments - (list - ;; These tests used to be ran with --numprocesses, but that seems to have - ;; made them non-deterministic. - #:test-flags - #~(list "--ignore=tests/test_plugin_macosx.py" - "-k" "not test_plugin_glib_send_raises_generic"))) - (native-inputs - (list python-babel - python-pytest - python-pytest-mock - python-setuptools)) - (propagated-inputs - (list python-certifi - python-click - python-markdown - python-pygobject - python-pyyaml - python-requests - python-requests-oauthlib)) - (home-page "https://github.com/caronc/apprise") - (synopsis "Push notification library") - (description - "Apprise is a Python library that allows sending push notifications to a -broad range of notification services, such as Telegram, Discord, Slack, Amazon -SNS, Gotify, etc.") - (license license:bsd-2))) - (define-public python-archspec (package (name "python-archspec") From e61954267117541c6f37596388599dad89a1565e Mon Sep 17 00:00:00 2001 From: wrobell Date: Wed, 18 Jun 2025 19:54:55 +0100 Subject: [PATCH 31/41] gnu: Add python-essentials. * gnu/packages/python-xyz.scm (python-essentials): New variable. Change-Id: Ief6d00aac122d33269f9237673770bfd7f98fbb8 Modified-by: Sharlatan Hellseher Signed-off-by: Sharlatan Hellseher --- gnu/packages/python-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 12af733d7f3..50255df0fb9 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -20372,6 +20372,33 @@ package and greatly reduce the number of imports for your users. It is a small pure Python module that works on virtually all Python versions.") (license license:expat))) +(define-public python-essentials + (package + (name "python-essentials") + (version "1.1.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Neoteroi/essentials") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bh8yi79gn9fg26mp58nm9xhnxcfab7rhc076av4qg00mg5p9rn0")))) + (build-system pyproject-build-system) + (native-inputs + (list python-hatchling + python-pydantic + python-pytest-asyncio)) + (home-page "https://github.com/Neoteroi/essentials/wiki") + (synopsis + "Utility functions, exceptions, and classes for Python applications") + (description + "Essentials is a collection of functions, exceptions, and classes for Python +applications. Examples of utilities are exceptions for common scenarios, +friendly JSON encoder, decorators for retries and logging.") + (license license:expat))) + (define-public python-execnet (package (name "python-execnet") From bdde705c8c7ff922972115852f992a08cea9af18 Mon Sep 17 00:00:00 2001 From: wrobell Date: Wed, 18 Jun 2025 19:55:20 +0100 Subject: [PATCH 32/41] gnu: Add python-rodi. * gnu/packages/python-xyz.scm (python-rodi): New variable. Change-Id: I72d04e61b7286047906d303af03e91696d6a66c0 Modified-by: Sharlatan Hellseher Signed-off-by: Sharlatan Hellseher --- gnu/packages/python-xyz.scm | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 50255df0fb9..6737fe7a5af 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -17280,7 +17280,7 @@ pseudo terminal (pty), and interact with both the process and its pty.") ;; XXX: Snippet below is required because on v1.1.30 the source code ;; has configshell_fb as softlink to configshell and guix ;; pyproject-build-system doesn't work with symlinks very well. - ;; + ;; ;; This package is only used in spdk for now and it's crucial to keep ;; it locked on version and keep the snipped for spdk to build ;; successfully. @@ -25318,6 +25318,41 @@ GraphQL schema describes your data model, and provides a GraphQL server with an associated set of resolve methods that know how to fetch data.") (license license:expat))) +(define-public python-rodi + (package + (name "python-rodi") + (version "2.0.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Neoteroi/rodi") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0kf98yjllrq7vqcp07r2gmkqcviqglsnai3sdigdsrwrfc0b44yp")))) + (build-system pyproject-build-system) + (native-inputs + (list python-hatchling + python-pytest + python-pytest-asyncio)) + (home-page "https://github.com/Neoteroi/rodi") + (synopsis "Dependency injection framework for Python") + (description + "Rodi is a dependency injection framework for Python applications. + +Its features include + +@itemize +@item Type resolution by signature types annotations. +@item Type resolution by class annotations. +@item Type resolution by names and aliases. +@item Build graph of objects without the need for source code changes. +@item Minimum overhead to obtain services, once the objects graph is built. +@item Support for singleton, transient, and scoped services. +@end itemize") + (license license:expat))) + ;; XXX: The last time updated in 2015, consider to remove it when nothing is ;; depend on it. (define-public python-snowballstemmer From b286fc5ac19b55f9c6b83db53c1a61280e091da5 Mon Sep 17 00:00:00 2001 From: wrobell Date: Wed, 18 Jun 2025 19:55:35 +0100 Subject: [PATCH 33/41] gnu: Add python-essentials-openapi. * gnu/packages/python-web.scm (python-essentials-openapi): New variable. Change-Id: I80a6c65c2865b79ce01d541d53f8859e9aa9c157 Modified-by: Sharlatan Hellseher Signed-off-by: Sharlatan Hellseher --- gnu/packages/python-web.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index e290daa3356..f40c068eeb1 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -647,6 +647,40 @@ Async mode for @url{https://domainconnect.org/, Domain Connect protocol}.") Dropbox API v2.") (license license:expat))) +(define-public python-essentials-openapi + (package + (name "python-essentials-openapi") + (version "1.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Neoteroi/essentials-openapi") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0f3lhpkqhvv8sr1c34cvzdqkc61306m03w3jp0zdih1v6is05j8x")))) + (build-system pyproject-build-system) + (native-inputs + (list python-flask + python-hatchling + python-pydantic + python-pytest + python-rich)) + (propagated-inputs + (list python-essentials + python-httpx + python-jinja2 + python-markupsafe + python-pyyaml)) + (home-page "https://github.com/Neoteroi/essentials-openapi/") + (synopsis "Generator for OpenAPI Documentation") + (description + "Generator for OpenAPI Documentation version 2 and 3, in JSON and YAML +formats. Generator for other kinds of documents from OpenAPI Documentation +files.") + (license license:expat))) + (define-public python-eventlet (package (name "python-eventlet") From 7dca3b9e0aa7fdbe69088f8c6a01b3398f2ff560 Mon Sep 17 00:00:00 2001 From: wrobell Date: Wed, 18 Jun 2025 19:55:59 +0100 Subject: [PATCH 34/41] gnu: Add python-guardpost. * gnu/packages/python-web.scm (python-guardpost): New variable. Change-Id: Ib77bb20020770ac5a3369e97279b19bd75bbcc8b Modified-by: Sharlatan Hellseher Signed-off-by: Sharlatan Hellseher --- gnu/packages/python-web.scm | 45 +++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index f40c068eeb1..18714354258 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -848,6 +848,51 @@ formats (PDF/XML/CSV).") @url{https://www.globus.org/, Globus} APIs.") (license license:asl2.0))) +(define-public python-guardpost + (package + (name "python-guardpost") + (version "1.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Neoteroi/guardpost") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1cwxxxhazpaphhcysgpivk51vp76zdf7hrryc1vr6vlp2zzgwsxd")))) + (build-system pyproject-build-system) + (arguments + (list + ;; Possible timing issue, see: + ;; . + #:test-flags '(list "--ignore=tests/test_jwts.py"))) + (native-inputs + (list python-cryptography + python-flask + python-hatchling + python-pyjwt + python-pytest + python-pytest-asyncio)) + (propagated-inputs + (list python-rodi)) + (home-page "https://github.com/Neoteroi/GuardPost/") + (synopsis + "Authentication and authorization framework for Python applications") + (description + "GuardPost is a framework to handle authentication and +authorization in asynchronous Python applications. + +Its features include + +@itemize +@item Strategy to implement authentication. +@item Strategy to implement authorization. +@item Support for dependency injection +@item Built-in support for JSON Web Tokens (JWTs) authentication. +@end itemize") + (license license:expat))) + (define-public python-hookdns (package (name "python-hookdns") From 60027b1c0fd87ad35edfa82bee847c78f3f46733 Mon Sep 17 00:00:00 2001 From: wrobell Date: Wed, 18 Jun 2025 19:56:12 +0100 Subject: [PATCH 35/41] gnu: Add python-blacksheep. * gnu/packages/python-web.scm (python-blacksheep): New variable. Change-Id: Ia6ffb6360f6ba932936dc2196161b4ef2cbcd733 Modified-by: Sharlatan Hellseher Signed-off-by: Sharlatan Hellseher --- gnu/packages/python-web.scm | 67 +++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 18714354258..ed1f7fe8afb 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -246,6 +246,73 @@ broad range of notification services, such as Telegram, Discord, Slack, Amazon SNS, Gotify, etc.") (license license:bsd-2))) +(define-public python-blacksheep + (package + (name "python-blacksheep") + (version "2.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Neoteroi/BlackSheep") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1iwlj6vl0rnvddbn9zsdgpya88z0lifr86wz3ci1d67li7w5bjiq")))) + (build-system pyproject-build-system) + (arguments + (list + ;; tests: 1443 passed, 3 skipped + ;; + ;; 1. Ignore integration tests. + ;; 2. Client tests use test fixture no longer available in + ;; pytest-asyncio, + ;; + ;; See: . + #:test-flags + #~(list "--ignore=itests" + "--ignore=tests/client") + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'cythonize + (lambda _ + (with-directory-excursion "blacksheep" + (for-each (lambda (file) + (invoke "cython" "-3" file "-I" ".")) + (find-files "." ".*\\.pyx$")))))))) + (native-inputs + (list python-cython + python-flask + python-jinja2 + python-pydantic + python-pyjwt + python-pytest + python-pytest-asyncio + python-setuptools)) + (propagated-inputs + (list python-certifi + python-dateutil + python-essentials-openapi + python-guardpost + python-itsdangerous)) + (home-page "https://github.com/Neoteroi/BlackSheep") + (synopsis "Asynchronous framework to build event based web applications") + (description + "BlackSheep is a lightweight, asynchronous, event driven Web framework. + +The framework offers +@itemize +@item A rich code API, based on dependency injection and inspired by Flask and +ASP.NET Core. +@item A typing-friendly codebase, which enables a comfortable development +experience thanks to hints when coding with IDEs. +@item Built-in generation of OpenAPI Documentation, supporting version 3, YAML, +and JSON. +@item A cross-platform framework, using the most modern versions of Python. +@item Good performance. +@end itemize") + (license license:expat))) + (define-public python-devpi-common (package (name "python-devpi-common") From 622f2105ebb2c64764ae373d553fd2660d6b6936 Mon Sep 17 00:00:00 2001 From: Hugo Buddelmeijer Date: Tue, 23 Sep 2025 20:49:40 +0200 Subject: [PATCH 36/41] gnu: Add python-types-regex. * gnu/packages/python-xyz.scm (python-types-regex): New variable. Change-Id: Ie526b19c84c08c7778d41bc12619b4d2e8f0dd8b Signed-off-by: Sharlatan Hellseher --- gnu/packages/python-xyz.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 6737fe7a5af..2f6ed897d87 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -39837,6 +39837,24 @@ package. It can be used by type-checking tools like mypy, PyCharm, pytype etc. to check code that uses @code{orjson}.") (license license:asl2.0))) +(define-public python-types-regex + (package + (name "python-types-regex") + (version "2025.9.18.20250921") + (source + (origin + (method url-fetch) + (uri (pypi-uri "types_regex" version)) + (sha256 + (base32 "0gqc8b9d38pdm1l6nryi9rq9vmpis575hqnxlvj904n3n4hhqw71")))) + (build-system pyproject-build-system) + (arguments (list #:tests? #f)) ;no tests in PyPI archive + (native-inputs (list python-setuptools)) + (home-page "https://github.com/python/typeshed") + (synopsis "Typing stubs for regex") + (description "This package provides typing stubs for regex.") + (license license:asl2.0))) + (define-public python-rpds-py (package (name "python-rpds-py") From 6b48bd14dfca14c265e1747bfcff121ec8f5b6b1 Mon Sep 17 00:00:00 2001 From: Hugo Buddelmeijer Date: Tue, 23 Sep 2025 21:39:45 +0200 Subject: [PATCH 37/41] gnu: Add python-types-aiofiles. * gnu/packages/python-xyz.scm (python-types-aiofiles): New variable. Change-Id: I7f21b80b47f1c0a71812623c574a6892a9782af0 Signed-off-by: Sharlatan Hellseher --- gnu/packages/python-xyz.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 2f6ed897d87..a5bbb9bc678 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -38009,6 +38009,24 @@ static types.") (description "This package providis typing stubs for python-dateutil.") (license license:asl2.0))) +(define-public python-types-aiofiles + (package + (name "python-types-aiofiles") + (version "24.1.0.20250822") + (source + (origin + (method url-fetch) + (uri (pypi-uri "types_aiofiles" version)) + (sha256 + (base32 "0ysar1an6il2rsd54fwzwdis209z3qq3i4zhgixfjzrh1j70vfcs")))) + (build-system pyproject-build-system) + (arguments (list #:tests? #f)) ;no tests in PyPI archive + (native-inputs (list python-setuptools)) + (home-page "https://github.com/python/typeshed") + (synopsis "Typing stubs for python-aiofiles") + (description "This package providis typing stubs for python-aiofiles.") + (license license:asl2.0))) + (define-public python-types-docutils (package (name "python-types-docutils") From c6a808735a1582de3b1c2f80ab8cc7548ae0d02d Mon Sep 17 00:00:00 2001 From: Hugo Buddelmeijer Date: Tue, 23 Sep 2025 21:43:38 +0200 Subject: [PATCH 38/41] gnu: Add python-types-tqdm. * gnu/packages/python-xyz.scm (python-types-tqdm): New variable. Change-Id: I91ba21d84b467c9bf172db48aeba5309a70fe51d --- gnu/packages/python-xyz.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index a5bbb9bc678..a23c6e40fc3 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -38027,6 +38027,25 @@ static types.") (description "This package providis typing stubs for python-aiofiles.") (license license:asl2.0))) +(define-public python-types-tqdm + (package + (name "python-types-tqdm") + (version "4.67.0.20250809") + (source + (origin + (method url-fetch) + (uri (pypi-uri "types_tqdm" version)) + (sha256 + (base32 "006md2hnsq79p7d5z3kiaapvl9wwa4dz3yb39jf0n22n2awpmgq2")))) + (build-system pyproject-build-system) + (arguments (list #:tests? #f)) ;no tests in PyPI archive + (native-inputs (list python-setuptools)) + (propagated-inputs (list python-types-requests)) + (home-page "https://github.com/python/typeshed") + (synopsis "Typing stubs for python-tqdm") + (description "This package providis typing stubs for python-tqdm.") + (license license:asl2.0))) + (define-public python-types-docutils (package (name "python-types-docutils") From a6075f65c8c3465d343868f6a639a693c72cc5be Mon Sep 17 00:00:00 2001 From: Hugo Buddelmeijer Date: Tue, 23 Sep 2025 21:51:26 +0200 Subject: [PATCH 39/41] gnu: python-taggd: Update to 0.4.0. * gnu/packages/bioinformatics.scm (python-taggd): Update to 0.4.0. [origin, homepage]: Change to "https://github.com/jfnavarro/taggd" [source]: Remove out-dated snippet. [arguments] : Reenable fixed test. [propagated-inputs]: Add python-tqdm, python-aiofiles, python-dnaio, python-types-aiofiles, and python-types-tqdm. Change-Id: I8c1c445bdf1b463b9ffd16602001608a3c9d4fcd Signed-off-by: Sharlatan Hellseher --- gnu/packages/bioinformatics.scm | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 5d218e6a690..3c2b5d4f5e7 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -12165,26 +12165,19 @@ interpretation.") (define-public python-taggd (package (name "python-taggd") - (version "0.3.6") + (version "0.4.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/SpatialTranscriptomicsResearch/taggd") + (url "https://github.com/jfnavarro/taggd") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 - "0j19ah81z7aqrdljah9hyarp91gvgbk63pz6fz3pdpksy1yqyi6k")) - (modules '((guix build utils))) - (snippet - '(for-each delete-file - (find-files "taggd" "\\.c$"))))) + "17hi1vs1qwhxx8jnradnl9k471li6fjb6w5sljkpzjxy7rkxwb85")))) (build-system pyproject-build-system) (arguments (list - #:test-flags - ;; AssertionError: 0 is not true : Running Normal BAM test failed. - #~(list "-k" "not test_normal_bam_run") #:phases #~(modify-phases %standard-phases (add-before 'check 'remove-local-taggd @@ -12193,10 +12186,16 @@ interpretation.") ;; taggd when running tests. (delete-file-recursively "taggd")))))) (propagated-inputs - (list python-numpy python-pysam)) + (list python-numpy + python-pysam + python-tqdm + python-aiofiles + python-dnaio + python-types-aiofiles + python-types-tqdm)) (native-inputs (list python-cython python-pytest python-setuptools)) - (home-page "https://github.com/SpatialTranscriptomicsResearch/taggd") + (home-page "https://github.com/jfnavarro/taggd") (synopsis "Genetic barcode demultiplexing") (description "This package provides TagGD barcode demultiplexing utilities for Spatial Transcriptomics data.") From b2c07235259da3b5dc658527c5194e0f7c3cc640 Mon Sep 17 00:00:00 2001 From: Hugo Buddelmeijer Date: Tue, 23 Sep 2025 22:26:25 +0200 Subject: [PATCH 40/41] gnu: stpipeline: Update to 2.0.0. * gnu/packages/bioinformatics.scm (stpipeline): Update to 2.0.0. [source, homepage]: Switched to https://github.com/jfnavarro/st_pipeline. [source]: Switch to git-fetch. [arguments] : Skip check phase because dependencies are too narrow. [propagated-inputs]: Remove python-cython, python-invoke, python-pympler, python-setuptools, and python-sqlitedict; add python-distance, python-dnaio, and python-types-regex. [native-inputs]: Remove python-setuptools and python-wheel; add python-cython, python-pytest, and python-poetry-core. Change-Id: Iaa05b23e58e9f254ed9293244d955e63c2e69cd5 Signed-off-by: Sharlatan Hellseher --- gnu/packages/bioinformatics.scm | 37 +++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 3c2b5d4f5e7..75fc119f681 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -12204,40 +12204,45 @@ for Spatial Transcriptomics data.") (define-public stpipeline (package (name "stpipeline") - (version "1.8.1") + (version "2.0.0") (source (origin - (method url-fetch) - (uri (pypi-uri "stpipeline" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/jfnavarro/st_pipeline") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0har2g42fvaqpiz66lincy86aj1hvwzds26kxhxfamvyvv4721wk")))) + (base32 "1qah9sa7wy9ywf0si2ngqg0qyr9jjp5gxmjx3y65i78bxyq8pfyx")))) (build-system pyproject-build-system) (arguments (list #:phases '(modify-phases %standard-phases - (add-after 'unpack 'relax-requirements - (lambda _ - (substitute* "requirements.txt" - (("argparse.*") - ""))))))) + ;; requirements.txt and pyproject.toml have all versions + ;; of the dependencies hardcoded. All tests pass, so it should + ;; be good enough. + ;; However, the sanity-check of any Python package that has + ;; stpipelines a dependency, would fail too. + (delete 'sanity-check)))) (propagated-inputs (list htseq - python-cython - python-invoke + python-distance + python-dnaio python-numpy python-pandas - python-pympler python-pysam python-regex python-scikit-learn python-scipy python-seaborn - python-setuptools - python-sqlitedict python-taggd + python-types-regex samtools star)) - (native-inputs (list python-setuptools python-wheel)) - (home-page "https://github.com/SpatialTranscriptomicsResearch/st_pipeline") + (native-inputs (list + python-cython + python-pytest + python-poetry-core)) + (home-page "https://github.com/jfnavarro/st_pipeline") (synopsis "Pipeline for spatial mapping of unique transcripts") (description "This package provides an automated pipeline for spatial mapping of From 8c9572b68df2020dcacd5324f0e369be72549256 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sun, 28 Sep 2025 00:59:59 +0100 Subject: [PATCH 41/41] gnu: python-git-hammer: Update to 0.3.2. * gnu/packages/python-xyz.scm (python-git-hammer): Update to 0.3.2. Fix indentation. [build-system]: Switch to pyproject-build-system. [arguments] : Remove 'patch-setup.py, add 'relax-requirements. [native-inputs]: Add python-pytest and python-setuptools. [description]: Fix fill column. Change-Id: I22609e48142c2dacf2d9dec7c07a9cc917f5db03 --- gnu/packages/python-xyz.scm | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index a23c6e40fc3..a990cef1365 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -29465,29 +29465,32 @@ supports the globstar @code{**} operator to match an arbitrary number of path components.") (license license:asl2.0))) +;; XXX: Not maintained since 2021. (define-public python-git-hammer (package (name "python-git-hammer") - (version "0.3.1") + (version "0.3.2") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/asharov/git-hammer") - (commit version))) + (url "https://github.com/asharov/git-hammer") + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "0f9xlk86ijzpdj25hr1q4wcy8k72v3w470ngwm9mpdkfj8ng84wr")))) - (build-system python-build-system) + (base32 "0j0skpbhi7js45hp1w2n87093yz1hjdg5y3kicwvm84fb8i38gvx")))) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-setup.py + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements (lambda _ (substitute* "setup.py" - (("setup\\(") - "setup(\n test_suite=\"test\","))))))) + (("matplotlib <3.1") "matplotlib"))))))) + (native-inputs + (list python-pytest + python-setuptools)) (propagated-inputs (list python-beautifultable python-dateutil @@ -29499,8 +29502,8 @@ path components.") (home-page "https://github.com/asharov/git-hammer") (synopsis "Provide statistics for git repositories") (description - "Git Hammer is a statistics tool for projects in git repositories. -Its major feature is tracking the number of lines authored by each person for every + "Git Hammer is a statistics tool for projects in git repositories. Its major +feature is tracking the number of lines authored by each person for every commit, but it also includes some other useful statistics.") (license license:asl2.0)))