aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/python-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r--gnu/packages/python-xyz.scm585
1 files changed, 422 insertions, 163 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2e53356b31..1ba366eddf 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -108,7 +108,7 @@
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021, 2022, 2023 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;; Copyright © 2021, 2022 Pradana Aumars <paumars@courrier.dev>
-;;; Copyright © 2021, 2022, 2023 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021–2024 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Sébastien Lerique <sl@eauchat.org>
;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
;;; Copyright © 2021 ZmnSCPxj <ZmnSCPxj@protonmail.com>
@@ -150,6 +150,8 @@
;;; Copyright © 2024 Timothee Mathieu <timothee.mathieu@inria.fr>
;;; Copyright © 2024 Ian Eure <ian@retrospec.tv>
;;; Copyright © 2024 Adriel Dumas--Jondeau <leirda@disroot.org>
+;;; Copyright © 2024 Navid Afkhami <navid.afkhami@mdc-berlin.de>
+;;; Copyright © 2024 TakeV <takev@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -193,6 +195,7 @@
#:use-module (gnu packages djvu)
#:use-module (gnu packages docker)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages elf)
#:use-module (gnu packages enchant)
#:use-module (gnu packages file)
#:use-module (gnu packages fonts)
@@ -230,6 +233,7 @@
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages messaging)
#:use-module (gnu packages monitoring)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
@@ -282,6 +286,7 @@
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix download)
@@ -292,6 +297,51 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
+(define-public python-apprise
+ (package
+ (name "python-apprise")
+ (version "1.7.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "apprise" version))
+ (sha256
+ (base32 "0wvs1k71fipn617y9wsdcvwcgg2pd0nvriarlwl4438la4086ppg"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-certifi
+ python-click
+ python-dataclasses
+ python-markdown
+ python-pyyaml
+ python-requests
+ python-requests-oauthlib))
+ (native-inputs (list python-babel
+ python-coverage
+ python-cryptography
+ python-flake8
+ python-paho-mqtt
+ python-pytest
+ python-pytest-cov
+ python-pytest-mock
+ python-pytest-xdist
+ python-wheel))
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (delete-file "test/test_plugin_macosx.py")
+ (invoke "pytest")))))))
+ (home-page "https://github.com/caronc/apprise")
+ (synopsis
+ "Push notification Python library that works with many platforms")
+ (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-xmldiff
(package
(name "python-xmldiff")
@@ -1029,6 +1079,25 @@ names for 256 color terminal setups.")
as functions or string constants to form colored terminal output.")
(license license:expat)))
+(define-public python-colorthief
+ (package
+ (name "python-colorthief")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "colorthief" version))
+ (sha256
+ (base32 "08bjsmmkihyksms2vgndslln02rvw56lkxz28d39qrnxbg4v1707"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-pillow))
+ (home-page "https://github.com/fengsp/color-thief-py")
+ (synopsis "Grab the color palette of an image")
+ (description
+ "This package provides methods to determine the dominant color
+of an image, as well as constructing a representative color palette.")
+ (license license:bsd-3)))
+
(define-public python-construct-classes
(package
(name "python-construct-classes")
@@ -1944,7 +2013,7 @@ Python library and command line interface.")
(define-public python-glymur
(package
(name "python-glymur")
- (version "0.12.8")
+ (version "0.12.9")
(source
(origin
(method git-fetch) ; no tests data in PyPi package
@@ -1953,10 +2022,12 @@ Python library and command line interface.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0mfyn9j7h13242d41vg12acw55yl2mv6lmgi265hfp11k7g52b6n"))))
+ (base32 "0awyav7071nn9z2g4mmpg33y0y0nfandfr6nr3j5vyb8hnprcmns"))))
(build-system pyproject-build-system)
(arguments
(list
+ #:test-flags
+ #~(list "-n" "auto")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-library-locations
@@ -1982,7 +2053,9 @@ Python library and command line interface.")
;; which is patched above.
(delete-file "tests/test_config.py"))))))
(native-inputs
- (list python-pytest python-scikit-image))
+ (list python-pytest
+ python-pytest-xdist
+ python-scikit-image))
(inputs
(list openjpeg ; glymur/lib/openjp2.py
libtiff)) ; glymur/lib/tiff.py
@@ -5786,14 +5859,14 @@ provides Python-specific tags that represent an arbitrary Python object.")
(define-public python-vine
(package
(name "python-vine")
- (version "5.0.0")
+ (version "5.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "vine" version))
(sha256
- (base32 "0zk3pm0g7s4qfn0gk28lfmsyplvisaxi6826cgpq5njkm4j1cfvx"))))
- (build-system python-build-system)
+ (base32 "1q31krwxdvwawdn1kfqmpplix31d4jhs0qng26908hawsf0yjqlb"))))
+ (build-system pyproject-build-system)
(native-inputs
(list python-pytest python-case))
(home-page "https://github.com/celery/vine")
@@ -7642,6 +7715,71 @@ validation and serialization.")
Interfaces} via data models provided in the JSON format.")
(license license:expat)))
+(define-public python-pydantic-settings
+ (package
+ (name "python-pydantic-settings")
+ (version "2.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pydantic_settings" version))
+ (sha256
+ (base32 "1vf58f398ngk6wpf0jn51ghw65mjs3m03yn06h25jlsmx6jzdf80"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" (string-append
+ ;; Disable tests requiring python-ruff.
+ "not test_docs_examples[docs/index.md:24-83]"
+ " and not test_docs_examples[docs/index.md:113-137]"
+ " and not test_docs_examples[docs/index.md:148-156]"
+ " and not test_docs_examples[docs/index.md:173-183]"
+ " and not test_docs_examples[docs/index.md:193-201]"
+ " and not test_docs_examples[docs/index.md:212-243]"
+ " and not test_docs_examples[docs/index.md:286-317]"
+ " and not test_docs_examples[docs/index.md:331-372]"
+ " and not test_docs_examples[docs/index.md:430-439]"
+ " and not test_docs_examples[docs/index.md:453-459]"
+ " and not test_docs_examples[docs/index.md:514-522]"
+ " and not test_docs_examples[docs/index.md:547-549]"
+ " and not test_docs_examples[docs/index.md:553-585]"
+ " and not test_docs_examples[docs/index.md:620-645]"
+ " and not test_docs_examples[docs/index.md:654-732]"
+ " and not test_docs_examples[docs/index.md:738-772]"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "pyproject.toml"
+ ;; hatchling.build failed on this line with error:
+ ;; ValueError: Unknown classifier in field
+ ;; `project.classifiers`: Framework :: Pydantic :: 2
+ (("'Framework :: Pydantic :: 2',") "")
+ ;; python-dotenv>=0.21.0
+ ((">=0.21.0") ">=0.20.0"))))
+ (add-before 'check 'set-home
+ (lambda _
+ ;; FileNotFoundError: [Errno 2] No such file or directory:
+ ;; '/homeless-shelter/
+ (setenv "HOME" "/tmp"))))))
+ (propagated-inputs
+ (list python-dotenv
+ python-pydantic-2
+ python-pyaml
+ python-tomli))
+ (native-inputs
+ (list python-hatchling
+ python-pytest
+ python-pytest-examples
+ python-pytest-mock))
+ (home-page "https://docs.pydantic.dev/latest/usage/pydantic_settings/")
+ (synopsis "Settings management using Pydantic")
+ (description
+ "Pydantic Settings provides optional Pydantic features for loading a
+settings or config class from environment variables or secrets files.")
+ (license license:expat)))
+
(define-public python-pydoc-markdown
(package
(name "python-pydoc-markdown")
@@ -10606,7 +10744,7 @@ support for Python 3 and PyPy. It is based on cffi.")
(define-public python-cairocffi
(package
(name "python-cairocffi")
- (version "1.3.0")
+ (version "1.6.1")
(source
(origin
;; The PyPI archive does not include the documentation, so use Git.
@@ -10617,13 +10755,15 @@ support for Python 3 and PyPy. It is based on cffi.")
(file-name (git-file-name name version))
(sha256
(base32
- "0lylyxyyd8csjhn5kxwzrcr6ick6pvvm1wclpmb5ni28jznxn7lb"))))
- (build-system python-build-system)
+ "161z2bsp0ai4311mz9n0h6vmz80690jbijxx2gqkknygwm2ynjgd"))))
+ (build-system pyproject-build-system)
(outputs '("out" "doc"))
(inputs
(list glib gtk+ gdk-pixbuf cairo))
(native-inputs
- (list python-numpy
+ (list python-flit-core
+ python-numpy
+ python-pikepdf
python-pytest
python-pytest-cov
python-pytest-runner
@@ -10653,15 +10793,6 @@ support for Python 3 and PyPy. It is based on cffi.")
(search-input-file inputs "/lib/libglib-2.0.so.0"))
(("libgdk-3.so.0")
(search-input-file inputs "/lib/libgdk-3.so.0")))))
- (add-after 'unpack 'disable-linters
- ;; Their check fails; none of our business.
- (lambda _
- (substitute* "setup.cfg"
- ((".*pytest-flake8.*") "")
- ((".*pytest-isort.*") "")
- (("--flake8") "")
- (("--isort") ""))
- #t))
(add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
@@ -13590,18 +13721,16 @@ applications.")
(define-public python-immutabledict
(package
(name "python-immutabledict")
- (version "2.2.1")
+ (version "4.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "immutabledict" version))
(sha256
- (base32 "0fpc4gbk7inpfbgdypsg6c18bmdjw8gwx47bjw0hvixn3gghxnqx"))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f)) ; no tests in PyPI release and no setup.py in GitHub
+ (base32 "0pvwfasa5l78pi32zk55x5ihpdzkdh4f3xwbfmd7ldyjma0zs0z0"))))
+ (build-system pyproject-build-system)
(native-inputs
- (list python-pytest))
+ (list python-poetry-core python-pytest))
(home-page "https://github.com/corenting/immutabledict")
(synopsis "Immutable wrapper around dictionaries")
(description
@@ -13896,6 +14025,24 @@ file (e.g. @file{PKG-INFO}).")
(define-public python-pep621
(deprecated-package "python-pep621" python-pyproject-metadata))
+(define-public python-meson-python
+ (package
+ (name "python-meson-python")
+ (version "0.15.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "meson_python" version))
+ (sha256
+ (base32 "0vyjhjabvm41hqijifk33idbdl62i76kfyf884f9rs29rpp77nzx"))))
+ (build-system meson-build-system)
+ (propagated-inputs (list python-pyproject-metadata python-tomli))
+ (home-page "https://github.com/mesonbuild/meson-python")
+ (synopsis "Meson Python build backend (PEP 517)")
+ (description "This package provides a PEP 517 build backend that makes
+use of the Meson build system.")
+ (license license:expat)))
+
(define-public python-pyflakes
(package
(name "python-pyflakes")
@@ -17502,6 +17649,29 @@ managers. It also contains additional features that are not part of
the standard library.")
(license license:psfl)))
+(define-public python-contexttimer
+ (package
+ (name "python-contexttimer")
+ (version "0.3.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/brouberol/contexttimer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00a9h06a1wj66935n863qlk4jpl9gvdvzkkhl8xmgqwdkwv0js54"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-decorator python-unittest2))
+ (native-inputs (list python-mock))
+ (home-page "https://github.com/brouberol/contexttimer")
+ (synopsis "Timer as a context manager")
+ (description
+ "This package offers utilities to measure code block or function
+execution time.")
+ (license license:gpl3)))
+
(define-public python-texttable
(package
(name "python-texttable")
@@ -18915,30 +19085,27 @@ applications.")
(define-public python-kombu
(package
(name "python-kombu")
- (version "5.2.4")
+ (version "5.3.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "kombu" version))
(sha256
- (base32 "044ng79gj04668kf5fmy7fjkw8302xyapskkn65ym52zfbpf7kip"))))
- (build-system python-build-system)
+ (base32 "1n9i4hj1h3aivgy82l7accyjh1rqn20am00152l5syhl19bmpnpk"))))
+ (build-system pyproject-build-system)
(arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv"
- ;; The transport tests attempt to pass messages to
- ;; many different databases.
- "--ignore" "t/unit/transport")))))))
+ (list #:test-flags
+ ;; TODO: Package azure-identity (required for this file)
+ #~(list "--ignore" "t/unit/transport/test_azurestoragequeues.py")))
(native-inputs
- (list python-case python-pyro4 python-pytest-sugar
- python-pytest python-pytz))
+ (list python-botocore
+ python-case
+ python-pyro4
+ python-pytest
+ python-pytest-sugar
+ python-tzdata))
(propagated-inputs
- (list python-amqp python-cached-property python-vine))
+ (list python-amqp python-typing-extensions python-vine))
(home-page "https://kombu.readthedocs.io")
(synopsis "Message passing library for Python")
(description "The aim of Kombu is to make messaging in Python as easy as
@@ -18952,25 +19119,21 @@ RabbitMQ messaging server is the most popular implementation.")
(define-public python-billiard
(package
(name "python-billiard")
- (version "3.6.4.0")
+ (version "4.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "billiard" version))
(sha256
- (base32 "0ismj2p8c66ykpss94rs0bfra5agxxmljz8r3gaq79r8valfb799"))))
- (build-system python-build-system)
+ (base32 "0b2svqx81511m0k2swjkybcx69f541dzd4rgfdxa2ni7rf232g4s"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'remove-win-files
- (lambda _
- (for-each delete-file-recursively
- ;; test_multiprocessing seem to be written in Python2.
- '("t/integration/tests/test_multiprocessing.py"
- "t/unit/test_win32.py"
- "billiard/popen_spawn_win32.py"
- "billiard/_win.py")))))))
+ (list #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-win-files
+ (lambda _
+ (for-each delete-file-recursively
+ '("billiard/popen_spawn_win32.py"
+ "billiard/_win.py")))))))
(native-inputs
(list python-case python-psutil python-pytest))
(home-page "https://github.com/celery/billiard")
@@ -18985,34 +19148,30 @@ Python 2.4 and 2.5, and will draw its fixes/improvements from python-trunk.")
(define-public python-celery
(package
(name "python-celery")
- (version "5.2.6")
+ (version "5.3.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "celery" version))
(sha256
- (base32 "109lcqarrbmh95sk1dm4yxayq1h3i27f4w23ndk64mqgyfnqqffi"))))
- (build-system python-build-system)
+ (base32 "1fdacw13ij94s59l6lspl09iv6fc8h1p6399jz1h00kwfcfwf347"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "requirements/default.txt"
- (("pytz.*")
- "pytz\n"))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "python" "-m" "pytest" "t"
- "--ignore" "t/integration" ;hangs tests
- ;; The MongoDB backend test appears to expect an older
- ;; version of MongoDB which provided its own bson
- ;; module, fails with " AttributeError: module 'bson'
- ;; has no attribute 'encode'".
- "--ignore" "t/unit/backends/test_mongodb.py"
- ;; AssertionErrors
- "-k" "not test_check_privileges_no_fchown ")))))))
+ (list
+ ;; The MongoDB backend test appears to expect an older
+ ;; version of MongoDB which provided its own bson
+ ;; module, fails with " AttributeError: module 'bson'
+ ;; has no attribute 'encode'".
+ #:test-flags #~(list "--ignore" "t/unit/backends/test_mongodb.py"
+ ;; AssertionError.
+ "-k" "not test_check_privileges_no_fchown")
+ #:phases #~(modify-phases %standard-phases
+ ;; Celery requires tzdata >= 2022.7, we have 2022.1.
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "requirements/default.txt"
+ (("tzdata.*")
+ "tzdata\n")))))))
(native-inputs
(list python-case
python-dnspython
@@ -19022,6 +19181,7 @@ Python 2.4 and 2.5, and will draw its fixes/improvements from python-trunk.")
python-msgpack
python-pytest ;for pytest-subtests
python-pytest-celery
+ python-pytest-click
python-pytest-subtests
python-pytest-timeout
python-toml))
@@ -19032,7 +19192,7 @@ Python 2.4 and 2.5, and will draw its fixes/improvements from python-trunk.")
python-click-plugins
python-click-repl
python-kombu
- python-pytz
+ python-tzdata
python-vine))
(home-page "https://celeryproject.org")
(synopsis "Distributed Task Queue")
@@ -19170,7 +19330,7 @@ applications.")
(define-public python-qasync
(package
(name "python-qasync")
- (version "0.22.0")
+ (version "0.27.1")
(source
(origin
;; There are no tests in the PyPI tarball.
@@ -19180,17 +19340,16 @@ applications.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1q9cllrwf94whr0f6mipa0hdq1rcyqvklwx19g35g2dav8f3xkjl"))))
- (build-system python-build-system)
+ (base32 "0j6ksfnq9qfjdfppbkdz7jh6w0gnslwnckhafmlgim29b25g0z51"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:test-target "pytest"
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'set-qpa
- (lambda _
- (setenv "QT_QPA_PLATFORM" "offscreen"))))))
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'set-qpa
+ (lambda _
+ (setenv "QT_QPA_PLATFORM" "offscreen"))))))
(native-inputs
- (list python-pytest python-pytest-runner))
+ (list python-poetry-core python-pytest))
(propagated-inputs
(list python-pyqt))
(home-page "https://github.com/CabbageDevelopment/qasync")
@@ -20598,6 +20757,35 @@ implementation has been adapted, improved, and fixed from Molten.")
running in.")
(license license:isc)))
+(define-public python-shshsh
+ (package
+ (name "python-shshsh")
+ (version "1.0.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/zqqqqz2000/shshsh")
+ (commit
+ "fd21c8696aebaae04507760c16cb45979291fef5")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1wzqyj1a6jj6cyv5ymzy834qm2lyq80yy1kfz0q0zayq9gm1cj7f"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-poetry-core
+ python-pytest
+ python-tox))
+ (home-page "https://github.com/zqqqqz2000/shshsh")
+ (synopsis "Write Shell commands simply and safely within Python")
+ (description "This package provides a way to write Shell commands from
+within Python. Python functions can be chained together to process input
+Bash control characters are escapted so that parameters can be passed
+without worrying about command injection.")
+ (license license:expat)))
+
(define-public python-memcached
(package
(name "python-memcached")
@@ -27109,33 +27297,39 @@ codecs for use in data storage and communication applications.")
(define-public python-zarr
(package
(name "python-zarr")
- (version "2.13.3")
+ (version "2.17.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "zarr" version))
(sha256
(base32
- "135ls2q7zc98pk61a5cnh88j4hnnavcwasrswdjqyqvcc68b096v"))))
- (build-system python-build-system)
+ "0qb2wj60i7v1c95k6m0pskx20ss6dxrj3ym0d7z4c98jfah3ljsn"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'disable-service-tests
- (lambda _
- (setenv "ZARR_TEST_ABS" "0")
- (setenv "ZARR_TEST_MONGO" "0")
- (setenv "ZARR_TEST_REDIS" "0")
- #t))
- (replace 'check
- (lambda _
- (invoke "pytest" "-vv" "-k" "not lmdb")
- #t)))))
+ (list
+ #:test-flags
+ #~(list "-n" "auto")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'disable-service-tests
+ (lambda _
+ (setenv "ZARR_TEST_ABS" "0")
+ (setenv "ZARR_TEST_MONGO" "0")
+ (setenv "ZARR_TEST_REDIS" "0"))))))
(propagated-inputs
- (list python-asciitree python-fasteners python-numcodecs
+ (list python-asciitree
+ python-fasteners
+ python-numcodecs
python-numpy))
(native-inputs
- (list python-pytest python-setuptools-scm))
+ (list python-fsspec
+ python-pytest
+ python-h5py
+ python-pytest-doctestplus
+ python-pytest-timeout
+ python-pytest-xdist
+ python-setuptools-scm))
(home-page "https://github.com/zarr-developers/zarr-python")
(synopsis "Chunked, compressed, N-dimensional arrays for Python")
(description
@@ -27534,50 +27728,6 @@ data.")
they use the same path.")
(license license:bsd-2)))
-(define-public python-blosc
- (package
- (name "python-blosc")
- (version "1.11.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "blosc" version))
- (sha256
- (base32
- "0xmjs28sgpnb940zrhw010dq2m9d8a5h4fgnjyk6645fgfr1j8f2"))
- (snippet
- #~(begin (use-modules (guix build utils))
- (delete-file-recursively "blosc/c-blosc")))))
- (build-system python-build-system)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'find-blosc
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "USE_SYSTEM_BLOSC" "1")
- (setenv "Blosc_ROOT" #$(this-package-input "c-blosc"))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "python" "-m" "blosc.test")))))))
- (propagated-inputs
- (list python-scikit-build python-numpy))
- (inputs (list c-blosc))
- (native-inputs (list cmake-minimal))
- (home-page "https://github.com/blosc/python-blosc")
- (synopsis "Python wrapper for the Blosc data compressor library")
- (description "Blosc is a high performance compressor optimized for binary
-data. It has been designed to transmit data to the processor cache faster
-than the traditional, non-compressed, direct memory fetch approach via a
-@code{memcpy()} system call.
-
-Blosc works well for compressing numerical arrays that contains data with
-relatively low entropy, like sparse data, time series, grids with
-regular-spaced values, etc.
-
-This Python package wraps the Blosc library.")
- (license license:bsd-3)))
-
(define-public python-partd
(package
(name "python-partd")
@@ -27589,7 +27739,7 @@ This Python package wraps the Blosc library.")
(sha256
(base32
"1sy3vdfyyx3bc5590zb7gwpsmimqz8m992x9hsydq8nmhixqjrxa"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(propagated-inputs
(list python-blosc
python-locket
@@ -27666,7 +27816,8 @@ decisions with any given backend.")
(list
;; Avoid coverage
#:test-flags
- #~(list "-m" "not gpu and not slow and not network"
+ #~(list "-n" "auto"
+ "-m" "not gpu and not slow and not network"
"-k" (string-append
;; This one cannot be interrupted.
"not test_interrupt"
@@ -27719,7 +27870,10 @@ parentdir_prefix = dask-
python-pyyaml))
(native-inputs
(list python-importlib-metadata
- python-pytest python-pytest-runner python-pytest-rerunfailures
+ python-pytest
+ python-pytest-rerunfailures
+ python-pytest-runner
+ python-pytest-xdist
python-versioneer))
(home-page "https://github.com/dask/dask/")
(synopsis "Parallel computing with task scheduling")
@@ -28843,17 +28997,50 @@ structure.")
for YAML and JSON.")
(license license:expat)))
+(define-public python-dbus-python
+ (package
+ (name "python-dbus-python")
+ (version "1.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "dbus-python" version))
+ (sha256
+ (base32 "1y28h90v2ib8zqhs3r2yr7ycg8ccwvw3gqkvadlm12v1129q2rxd"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-requirements
+ (lambda _
+ (substitute* (list "pyproject.toml" "setup.py")
+ (("'(ninja|patchelf)',?") ""))
+ (substitute* "setup.cfg"
+ (("(ninja|patchelf)") "")))))))
+ (inputs (list dbus glib))
+ (propagated-inputs (list python-pygobject))
+ (native-inputs (list pkg-config
+ python-meson-python
+ meson ninja patchelf
+ python-sphinx python-sphinx-rtd-theme
+ python-tappy
+ python-wheel))
+ (home-page "https://dbus.freedesktop.org/doc/dbus-python/")
+ (synopsis "Python bindings for libdbus")
+ (description "This package provides Python bindings to libdbus, the
+reference implementation of the D-Bus protocol.")
+ (license license:expat)))
+
(define-public python-dbusmock
(package
(name "python-dbusmock")
- (version "0.25.0")
+ (version "0.30.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-dbusmock" version))
(sha256
(base32
- "1nwl0gzzds2g1w1gfxfzlgrkb5hr1rrdyn619ml25c6b1rjyfk3g"))))
+ "1hanz6x76jq66ypdirga5h15zjs67kwysl6rmsf0i22dbdqrxdfv"))))
(build-system python-build-system)
(arguments
(list #:modules `((guix build python-build-system)
@@ -28864,6 +29051,9 @@ for YAML and JSON.")
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "tests/test_api.py"
+ (("/usr/bin/python3")
+ (which "python3")))
(substitute* "tests/test_code.py"
(("/bin/bash")
(which "bash")))
@@ -28890,11 +29080,11 @@ for YAML and JSON.")
status))
(loop)))))))))))))
(native-inputs
- (list dbus python-pytest which))
+ (list dbus python-pytest upower which))
(inputs
(list dbus))
(propagated-inputs
- (list python-dbus python-pygobject))
+ (list python-dbus-python python-pygobject))
(home-page "https://github.com/martinpitt/python-dbusmock")
(synopsis "Python library for mock D-Bus objects")
(description "python-dbusmock allows for the easy creation of mock objects on
@@ -28904,6 +29094,16 @@ hard (or impossible without root privileges) to set the state of the real
services to what you expect in your tests.")
(license license:lgpl3+)))
+(define-public python-dbusmock-minimal
+ (package
+ (inherit python-dbusmock)
+ (name "python-dbusmock-minimal")
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-dbusmock)
+ ((#:tests? _ #t) #f)))
+ (native-inputs (list which))
+ (properties '((hidden? . #t)))))
+
(define-public python-jsonplus
(package
(name "python-jsonplus")
@@ -32223,7 +32423,7 @@ used to retry a function a given number of times.")
libice
soqt
glew
- coin3D))
+ coin3d))
(home-page "https://github.com/coin3d/pivy")
(synopsis "Python bindings to Coin3D")
(description
@@ -33553,17 +33753,24 @@ and powerful way to handle real-world data, featuring:
(define-public python-box
(package
(name "python-box")
- (version "5.3.0")
+ (version "7.1.1")
(source
+ ;; The PyPI tarball does not contain all test files.
(origin
- (method url-fetch)
- (uri (pypi-uri "python-box" version))
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/cdgriffith/Box")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0jhrdif57khx2hsw1q6a9x42knwcvq8ijgqyq1jmll6y6ifyzm2f"))))
- (build-system python-build-system)
+ "1v8s6wji17fh87nvamzysvxi8f51h6szh6h6dxvids56gg5zc553"))))
+ (build-system pyproject-build-system)
(propagated-inputs
- (list python-msgpack python-ruamel.yaml python-toml))
+ (list python-msgpack python-ruamel.yaml python-tomli python-tomli-w))
+ (native-inputs
+ (list python-cython python-pytest python-wheel))
(home-page "https://github.com/cdgriffith/Box")
(synopsis "Advanced Python dictionaries with dot notation access")
(description
@@ -34823,6 +35030,28 @@ sources. For example, it allows you to have all your casting and
parsing rules in a single place.")
(license license:bsd-3)))
+(define-public python-iterable-io
+ (package
+ (name "python-iterable-io")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "iterable-io" version))
+ (sha256
+ (base32 "0g4cn522n4dv6ly8pwf97dc62rr4f7my38v0bh6vmac7jmrip7pv"))))
+ (build-system pyproject-build-system)
+ (home-page "https://github.com/pR0Ps/iterable-io")
+ (synopsis "Adapt generators and other iterables to a file-like interface")
+ (description
+ "@code{iterable-io} is a small Python library that provides an adapter so
+that it's possible to read from
+@url{https://docs.python.org/3/glossary.html#term-iterable,iterable} objects
+in the same way as
+@url{https://docs.python.org/3/glossary.html#term-file-object,file-like}
+objects.")
+ (license license:lgpl3)))
+
(define-public python-iteround
(package
(name "python-iteround")
@@ -35999,6 +36228,36 @@ The database contains over 6.5 million entries, over 3.1 million unique word
forms, and about 300,000 distinct lemmas.")
(license license:expat)))
+(define-public python-icecream
+ (package
+ (name "python-icecream")
+ (version "2.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "icecream" version))
+ (sha256
+ (base32 "1pj9kf7lwm799wppvngg3sndi0qf13iq33yhl59n3hsf6z1sg90a"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ '(list "-k"
+ ;; These tests are failing due to a bug:
+ ;; https://github.com/gruns/icecream/issues/144
+ (string-append "not testEnableDisable"
+ " and not testSingledispatchArgumentToString"))))
+ (propagated-inputs (list python-asttokens python-colorama python-executing
+ python-pygments))
+ (native-inputs (list python-hypothesis python-pytest))
+ (home-page "https://github.com/gruns/icecream")
+ (synopsis
+ "Single function call to debug variables, expressions, and program execution")
+ (description
+ "This tool lets you debug variables, expressions, and program execution
+with one function call. IceCream makes print debugging a little sweeter.")
+ (license license:expat)))
+
(define-public python-icegrams
(package
(name "python-icegrams")