guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 2d7ba3c7339b57080fa08eee4b703f6667c66b8c
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Mon Oct 13 09:56:58 2025 +0100
gnu: packages/python-xyz: Sort python-u*.
* gnu/packages/python-xyz.scm (python-ua-parser, python-ubelt,
python-uc-micro-py, python-ujson, python-ukkonen,
python-ukpostcodeparser, python-uncertainties, python-unicodedata2,
python-unidecode, python-unique-log-filter, python-uniseg,
python-unpaddedbase64, python-update-checker, python-uri-template,
python-urwid, python-urwid-2, python-urwid-3,
python-urwid-for-zulip-term, python-urwid-readline, python-urwidgets,
python-urwidtrees, python-user-agents, python-userpath,
python-userspacefs, python-utils): Sort variables alphabetically.
Change-Id: I756f8f8af046cb9fbdf6be647cb0695eada284f5
---
gnu/packages/python-xyz.scm | 1274 +++++++++++++++++++++----------------------
1 file changed, 637 insertions(+), 637 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 790eefed47..e609233cee 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2142,47 +2142,6 @@ library’s logging module. It was designed with both
complex and simple
applications in mind and the idea to make logging fun.")
(license license:bsd-3)))
-(define-public python-ubelt
- (package
- (name "python-ubelt")
- (version "1.3.6")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/Erotemic/ubelt")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1v2kf9lbdfaf9nppdq45rfanz4bdd2v6x59iajcznwgc4jmhj2na"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- ;; The builder user home doesn't match HOME, which causes this test to
- ;; fail.
- #:test-flags #~(list "-k" "not userhome")
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- (setenv "HOME" "/tmp")))))) ;else the test suite hangs
- (native-inputs
- (list python-pytest
- python-requests
- python-setuptools
- python-wheel
- python-xdoctest))
- (propagated-inputs
- (list python-ordered-set))
- (home-page "https://github.com/Erotemic/ubelt")
- (synopsis "Python library for hashing, caching, timing and more")
- (description
- "Ubelt is a small library of simple functions that extend the Python
-standard library. It includes an @acronym{API, Application Programming
-Interface} to simplify common problems such as caching, timing, computing
-progress, among other things.")
- (license license:asl2.0)))
-
(define-public python-databind-core
(package
(name "python-databind-core")
@@ -5387,36 +5346,6 @@ other machines, such as over the network.")
@code{setup.cfg}.")
(license license:asl2.0)))
-(define-public python-uniseg
- (package
- (name "python-uniseg")
- (version "0.10.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "uniseg" version))
- (sha256
- (base32 "18sj1i7xlssrsfwlr95bd4x78mfhq0v6irfx3b7fkgr17a5jbsmm"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest
- python-setuptools
- python-setuptools-scm))
- (home-page "https://bitbucket.org/emptypage/uniseg-python")
- (synopsis "Python library to determine Unicode text segmentations")
- (description
- "Uniseg is a Python package used to determine Unicode text segmentations.
-Supported segmentations include:
-@enumerate
-@item @dfn{Code point} (any value in the Unicode codespace)
-@item @dfn{Grapheme cluster} (user-perceived character made of a single or
-multiple Unicode code points, e.g. \"G\" + acute-accent)
-@item Word break
-@item Sentence break
-@item Line break
-@end enumerate")
- (license license:expat)))
-
(define-public python-humanfriendly
(package
(name "python-humanfriendly")
@@ -7948,29 +7877,6 @@ Capabilities include:
@end itemize")
(license license:expat)))
-(define-public python-unidecode
- (package
- (name "python-unidecode")
- (version "1.4.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "Unidecode" version))
- (sha256
- (base32 "08rbx8vxsnj06cvrdxy80zrn9hk25lwcqfh2fdjng2rk1189hdff"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest python-setuptools))
- (home-page "https://pypi.org/project/Unidecode/")
- (synopsis "ASCII transliterations of Unicode text")
- (description
- "Unidecode provides ASCII transliterations of Unicode text. Unidecode is
-useful when integrating with legacy code that doesn't support Unicode, or for
-ease of entry of non-Roman names on a US keyboard, or when constructing ASCII
-machine identifiers from human-readable Unicode strings that should still be
-somewhat intelligible.")
- (license license:gpl2+)))
-
(define-public python-text-unidecode
(package
(name "python-text-unidecode")
@@ -8168,27 +8074,6 @@ modules. It creates a special virtual environment such
that @command{pip} or
work on your part.")
(license license:expat)))
-(define-public python-uc-micro-py
- (package
- (name "python-uc-micro-py")
- (version "1.0.1")
- (source (origin
- (method git-fetch) ;for tests
- (uri (git-reference
- (url "https://github.com/tsutsu3/uc.micro-py")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "17f55gi55rg47nm88fn3f8851ph03dgykdp011lxr3j6hk18lyfv"))))
- (build-system pyproject-build-system)
- (native-inputs (list python-pytest python-setuptools python-wheel))
- (home-page "https://github.com/tsutsu3/uc.micro-py")
- (synopsis "Unicode data files for linkify-it-py projects")
- (description "This package contains a micro subset of Unicode data files
-for linkify-it-py projects.")
- (license license:expat)))
-
(define-public python-linkify-it-py
(package
(name "python-linkify-it-py")
@@ -15138,154 +15023,6 @@ computing.")
code.")
(license license:bsd-3)))
-(define-public python-uri-template
- (package
- (name "python-uri-template")
- (version "1.3.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "uri-template" version))
- (sha256
- (base32 "1ixczlgnsjv2850r6w0cb2npwcwzdqri8njr1pi7v371cpmzh00f"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- '(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "python3" "test.py")))))))
- (native-inputs
- (list python-setuptools
- python-setuptools-scm
- python-wheel))
- (home-page "https://gitlab.linss.com/open-source/python/uri-template")
- (synopsis "RFC 6570 URI Template Processor")
- (description "This package implements URI Template expansion in strict
-adherence to RFC 6570, but adds a few extensions.")
- (license license:expat)))
-
-(define-public python-urwid
- (package
- (name "python-urwid")
- (version "3.0.3")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "urwid" version))
- (sha256
- (base32
- "16zdji1fdr5jbry9h01dxwnadrygs1xj415jqnhmmnlcavfh821h"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "tests"
- ;; According to Debian these tests are cursed.
- ;;
https://salsa.debian.org/python-team/packages/urwid/-/blob/debian/2.1.2-2/debian/changelog#L141
- "--ignore=tests/test_vterm.py")))
- (native-inputs
- (list python-pytest
- python-pytest-cov
- python-setuptools
- python-setuptools-scm))
- (propagated-inputs
- (list python-wcwidth
- ;; [optional]
- python-pygobject
- python-pyzmq
- python-tornado
- python-pyserial
- python-twisted))
- (home-page "https://urwid.org")
- (synopsis "Console user interface library for Python")
- (description
- "Urwid is a curses-based UI/widget library for Python. It includes many
-features useful for text console applications.")
- (license license:lgpl2.1+)))
-
-(define-public python-urwid-for-zulip-term
- ;; [email protected] requires exact 2.1.2 version otherewise some tests fail
- ;; to pass, remove when no longer required.
- (hidden-package
- (package
- (inherit python-urwid)
- (version "2.1.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "urwid" version))
- (sha256
- (base32 "1bky2bra6673xx8jy0826znw6cmxs89wcwwzda8d025j3jffx2sq"))))
- (arguments
- (list #:tests? #f)))))
-
-(define-public python-urwid-2
- (package
- (inherit python-urwid)
- (name "python-urwid")
- (version "2.6.16")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "urwid" version))
- (sha256
- (base32 "18ijvgf1l7jvmg45x1cysn3c9rdrg1w0405acig3hk7476cj7bck"))))))
-
-(define-deprecated/public-alias python-urwid-3
- python-urwid) ;may be removed after 2025-11-12
-
-(define-public python-urwid-readline
- (package
- (name "python-urwid-readline")
- (version "0.15.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/rr-/urwid_readline")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0zhpx86gvpkziclb7bcqn73fadkzn805rjqy7lzhrza46lphq8qy"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest
- python-setuptools))
- (propagated-inputs
- (list python-urwid))
- (home-page "https://github.com/rr-/urwid_readline")
- (synopsis "Text input widget for urwid that supports readline shortcuts")
- (description
- "This package provides a textbox edit widget for @code{python-urwid} that
-supports @code{readline} shortcuts.")
- (license license:expat)))
-
-(define-public python-urwidgets
- (package
- (name "python-urwidgets")
- (version "0.2.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "urwidgets" version))
- (sha256
- (base32 "1vrydw9h8c5gi89dnv12a9cdyyxaffvxl1kq51f118cxjk9brwpr"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:tests? #f)) ;no tests
- (native-inputs
- (list python-setuptools))
- (propagated-inputs
- (list python-urwid-2))
- (home-page "https://github.com/AnonymouX47/urwidgets")
- (synopsis "Collection of widgets for urwid")
- (description
- "This package provides a collection of widgets for urwid.")
- (license license:expat)))
-
(define-public python-textdistance
(package
(name "python-textdistance")
@@ -15324,83 +15061,6 @@ supports @code{readline} shortcuts.")
distance between two or more sequences by many algorithms.")
(license license:expat)))
-(define-public python-urwidtrees
- (package
- (name "python-urwidtrees")
- (version "1.0.4")
- (source
- (origin
- (method git-fetch)
- ;; package author intends on distributing via github rather than pypi:
- ;; https://github.com/pazz/alot/issues/877#issuecomment-230173331
- (uri (git-reference
- (url "https://github.com/pazz/urwidtrees")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "17k0gx8i7wrzw6skzdjh9b8v3n6lb5zvg9jrybc3d09p8ipvc31i"))))
- (build-system pyproject-build-system)
- (arguments
- '(#:tests? #f)) ; no tests
- (propagated-inputs (list python-urwid))
- (native-inputs (list python-mock python-setuptools python-wheel))
- (home-page "https://github.com/pazz/urwidtrees")
- (synopsis "Tree widgets for urwid")
- (description "Urwidtrees is a Widget Container API for the @code{urwid}
-toolkit. Use it to build trees of widgets.")
- (license license:gpl3+)))
-
-(define-public python-ua-parser
- (package
- (name "python-ua-parser")
- (version "0.10.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "ua-parser" version))
- (sha256
- (base32
- "0csh307zfz666kkk5idrw3crj1x8q8vsqgwqil0r1n1hs4p7ica7"))))
- (build-system pyproject-build-system)
- (arguments
- `(#:tests? #f)) ;no test suite in release
- (native-inputs
- (list python-pyyaml
- python-setuptools))
- (home-page "https://github.com/ua-parser/uap-python")
- (synopsis "User agent parser")
- (description
- "@code{ua-parser} is a Python port of Browserscope's user agent parser.")
- (license license:asl2.0)))
-
-(define-public python-user-agents
- (package
- (name "python-user-agents")
- (version "2.2.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/selwin/python-user-agents")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0pcbjqj21c2ixhl414bh2h8khi8y1igzfpkyqwan1pakix0lq45a"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:test-backend #~'unittest))
- (native-inputs
- (list python-setuptools))
- (propagated-inputs
- (list python-ua-parser))
- (home-page "https://github.com/selwin/python-user-agents")
- (synopsis "User Agent strings parsing library")
- (description
- "A library to identify devices (phones, tablets) and their capabilities by
-parsing (browser/HTTP) user agent strings.")
- (license license:expat)))
-
(define-public python-pydbus
(package
(name "python-pydbus")
@@ -20678,49 +20338,6 @@ document.")
manipulation library.")
(license license:expat)))
-(define-public python-uncertainties
- (package
- (name "python-uncertainties")
- (version "3.2.3")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "uncertainties" version))
- (sha256
- (base32
- "0c9hl35jvld1a1vinh9mdcpfgz4ykqinlm1dj917lqbgd0z6b9bn"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest python-setuptools python-setuptools-scm python-wheel))
- (propagated-inputs (list python-numpy))
- (home-page "https://uncertainties.readthedocs.io/en/latest/")
- (synopsis "Calculations with uncertainties")
- (description
- "The uncertainties package transparently handles calculations with
-numbers with uncertainties. It can also yield the derivatives of any
-expression.")
- (license license:bsd-3)))
-
-(define-public python-unicodedata2
- (package
- (name "python-unicodedata2")
- (version "16.0.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "unicodedata2" version))
- (sha256
- (base32 "1z3llixb4cd6cc6nmyps5vv2sss14n3x6dzcc65xg75mj9jqsj05"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest
- python-setuptools))
- (home-page "https://github.com/fonttools/unicodedata2")
- (synopsis "Python unicodedata backport")
- (description "This package corresponds to the latest @code{unicodedata}
-standard Python module.")
- (license license:asl2.0)))
-
(define-public python-asteval
(package
(name "python-asteval")
@@ -23496,39 +23113,6 @@ simple, lightweight implementation.")
"This library validates email address syntax and deliverability.")
(license license:cc0)))
-(define-public python-ukpostcodeparser
- (package
- (name "python-ukpostcodeparser")
- (version "1.1.2")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "UkPostcodeParser" version))
- (sha256
- (base32
- "03jkf1ygbwq3akzbcjyjk1akc1hv2sfgx90306pq1nwklbpn80lk"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list
- ;; Tests for lowercase postcodes fail.
- "-k" (string-join
- (list "not test_091 "
- "test_097 "
- "test_098 "
- "test_125 "
- "test_131")
- " and not ")
- "ukpostcodeparser/test/parser.py")))
- (native-inputs
- (list python-pytest python-setuptools))
- (home-page "https://github.com/hamstah/ukpostcodeparser")
- (synopsis "UK Postcode parser for Python")
- (description
- "This library provides the @code{parse_uk_postcode} function for
-parsing UK postcodes.")
- (license license:expat)))
-
(define-public python-faker
(package
(name "python-faker")
@@ -25832,40 +25416,6 @@ of x and y values, kneed will return the knee point of
the function. The knee
point is the point of maximum curvature.")
(license license:bsd-3)))
-(define-public python-utils
- (package
- (name "python-utils")
- (version "3.9.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "python_utils" version))
- (sha256
- (base32 "18292j4p1bvlpbrfj2cgkdby6dpgnl5gbjwly0qb4pj1j914nmzb"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'fix-pytest-config
- (lambda _
- ;; Drop test coverage requirements.
- (substitute* "pytest.ini"
- ((".*--cov.*") "")))))))
- (native-inputs
- (list python-pytest
- python-pytest-asyncio
- python-setuptools))
- (propagated-inputs
- (list python-loguru
- python-typing-extensions))
- (home-page "https://github.com/WoLpH/python-utils")
- (synopsis "Convenient utilities not included with the standard Python
install")
- (description
- "Python Utils is a collection of small Python functions and classes
-which make common patterns shorter and easier.")
- (license license:bsd-2)))
-
(define-public python-diff-cover
(package
(name "python-diff-cover")
@@ -28646,53 +28196,6 @@ interface to FUSE on various operating systems. It's
just one file and is
implemented using @code{ctypes}.")
(license license:isc)))
-(define-public python-update-checker
- (package
- (name "python-update-checker")
- (version "0.18.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "update-checker" version))
- (sha256
- (base32 "04yb5a9mi45ax50m2m0ih6gdvkk1j7gfmy83dd58i1f59axlabba"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest
- python-setuptools))
- (propagated-inputs
- (list python-requests))
- (home-page "https://github.com/bboe/update_checker")
- (synopsis "Python module that will check for package updates")
- (description "This package provides a Python module that will check for
-package updates.")
- (license license:bsd-2)))
-
-(define-public python-userspacefs
- (package
- (name "python-userspacefs")
- (version "2.0.5")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "userspacefs" version))
- (sha256
- (base32
- "0v0qkdwfc61s2yiq7d7amin93x5biypfmi9pfhf8yj1rdpx5yvsx"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:tests? #f)) ;no tests
- (native-inputs
- (list python-setuptools))
- (propagated-inputs
- (list python-fusepyng))
- (home-page "https://thelig.ht/code/userspacefs/readme.html")
- (synopsis "User-space file systems for Python")
- (description
- "@code{userspacefs} is a library that allows you to easily write
-user-space file systems in Python.")
- (license license:gpl3+)))
-
(define-public python-stone
(package
(name "python-stone")
@@ -28910,29 +28413,6 @@ and corruption checks.")
library to allow local file system access via @code{file://} URLs.")
(license license:asl2.0)))
-(define-public python-ukkonen
- (package
- (name "python-ukkonen")
- (version "1.0.1")
- (source
- (origin
- ;; There are no tests in the PyPI tarball.
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/asottile/ukkonen")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "17gspl2dsykg000275svvyam4k7wz9ypi9xrfrmsgcgryczravlc"))))
- (build-system pyproject-build-system)
- (native-inputs (list python-pytest python-setuptools python-wheel))
- (propagated-inputs (list python-cffi))
- (home-page "https://github.com/asottile/ukkonen")
- (synopsis "Implementation of bounded Levenshtein distance (Ukkonen)")
- (description "This package is an implementation of of bounded Levenshtein
-distance (Ukkonen).")
- (license license:expat)))
-
(define-public python-identify
(package
(name "python-identify")
@@ -31023,48 +30503,6 @@ to and from JSON. Common data types are implemented
and it is easy to
register custom encoders and decoders.")
(license license:expat)))
-(define-public python-ujson
- (package
- (name "python-ujson")
- (version "5.10.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "ujson" version))
- (sha256
- (base32
- "1habmn3bmmv2ym4ldiijcavdkdzp8h28h60hgwjkhxwcbly8zkdk"))
- (modules '((guix build utils)))
- (snippet
- #~(begin (delete-file-recursively "deps")))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'link-to-system-double-conversion
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((d-c (assoc-ref inputs "double-conversion")))
- (substitute* "setup.py"
- (("./deps/double-conversion/double-conversion\"")
- (string-append d-c "/include/double-conversion\""))
- (("-lstdc++" stdc)
- (string-append "-L" d-c "/lib\","
- " \"-ldouble-conversion\","
- " \"" stdc)))))))))
- (native-inputs
- (list double-conversion
- python-pytest
- python-setuptools
- python-setuptools-scm
- python-wheel))
- (home-page "https://github.com/ultrajson/ultrajson")
- (synopsis "Ultra fast JSON encoder and decoder for Python")
- (description
- "UltraJSON is an ultra fast JSON encoder and decoder written in pure C
with
-bindings for Python 3.")
- (license license:bsd-3)))
-
;; XXX: See: <https://codeberg.org/guix/guix/issues/3054>.
(define-public python-iocapture
;; The latest release is more than a year older than this commit.
@@ -31792,32 +31230,6 @@ as JSON objects. With JSON we can make our logs more
readable by machines and
we can stop writing custom parsers for syslog-type records.")
(license license:bsd-3)))
-(define-public python-unique-log-filter
- (package
- (name "python-unique-log-filter")
- (version "0.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/twizmwazin/unique_log_filter")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "036mh6nqskck2fa1q2inasqxb9wcz2p09qcpldnnffzcy1a6kzba"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:test-backend #~'custom
- #:test-flags #~(list "test_unique_log_filter.py")))
- (native-inputs (list python-flit-core))
- (home-page "https://github.com/twizmwazin/unique_log_filter")
- (synopsis "Log filter that removes duplicate log messages")
- (description
- "This library provides a filter for the @code{logging} module
-from the Python standard library which allows removing duplicate log
-messages.")
- (license license:bsd-2)))
-
(define-public python-daiquiri
(package
(name "python-daiquiri")
@@ -31992,32 +31404,6 @@ implements the complete mapping interface. It can be
used as a drop-in
replacement for dictionaries where immutability is desired.")
(license license:expat)))
-(define-public python-unpaddedbase64
- (package
- (name "python-unpaddedbase64")
- (version "2.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/matrix-org/python-unpaddedbase64")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1n6har8pxv0mqb96lanzihp1xf76aa17jw3977drb1fgz947pnmz"))))
- (build-system pyproject-build-system)
- (native-inputs (list python-poetry-core
- python-pytest
- python-setuptools
- python-wheel))
- (home-page "https://github.com/matrix-org/python-unpaddedbase64")
- (synopsis "Encode and decode Base64 without “=” padding")
- (description
- "RFC 4648 specifies that Base64 should be padded to a multiple of 4 bytes
-using “=” characters. However this conveys no benefit so many protocols
-choose to use Base64 without the “=” padding.")
- (license license:asl2.0)))
-
(define-public python-py-cpuinfo
(package
(name "python-py-cpuinfo")
@@ -33390,29 +32776,6 @@ a console. It provides a collection of ‘print’
functions that allow you to
cleanly print different types of messages.")
(license license:gpl3+)))
-(define-public python-userpath
- (package
- (name "python-userpath")
- (version "1.9.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "userpath" version))
- (sha256
- (base32 "05fqxzdi27vqm5lywxs6bm2j4d8k91fx2ihqhg65g4h6mf6jhlkc"))))
- (build-system pyproject-build-system)
- (arguments
- ;; See https://github.com/ofek/userpath/issues/43.
- ;; In Guix, tests try to find the temporary build directory in PATH, but
- ;; only the store output is present.
- (list #:tests? #f))
- (native-inputs (list python-hatchling python-pytest))
- (propagated-inputs (list python-click))
- (home-page "https://github.com/ofek/userpath")
- (synopsis "Add locations to the user's PATH")
- (description "This package provides a tool for modifying a user's PATH.")
- (license license:expat)))
-
(define-public hatch
(package
(name "hatch")
@@ -38900,6 +38263,643 @@ 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-ua-parser
+ (package
+ (name "python-ua-parser")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ua-parser" version))
+ (sha256
+ (base32
+ "0csh307zfz666kkk5idrw3crj1x8q8vsqgwqil0r1n1hs4p7ica7"))))
+ (build-system pyproject-build-system)
+ (arguments
+ `(#:tests? #f)) ;no test suite in release
+ (native-inputs
+ (list python-pyyaml
+ python-setuptools))
+ (home-page "https://github.com/ua-parser/uap-python")
+ (synopsis "User agent parser")
+ (description
+ "@code{ua-parser} is a Python port of Browserscope's user agent parser.")
+ (license license:asl2.0)))
+
+(define-public python-ubelt
+ (package
+ (name "python-ubelt")
+ (version "1.3.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Erotemic/ubelt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1v2kf9lbdfaf9nppdq45rfanz4bdd2v6x59iajcznwgc4jmhj2na"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; The builder user home doesn't match HOME, which causes this test to
+ ;; fail.
+ #:test-flags #~(list "-k" "not userhome")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ (setenv "HOME" "/tmp")))))) ;else the test suite hangs
+ (native-inputs
+ (list python-pytest
+ python-requests
+ python-setuptools
+ python-wheel
+ python-xdoctest))
+ (propagated-inputs
+ (list python-ordered-set))
+ (home-page "https://github.com/Erotemic/ubelt")
+ (synopsis "Python library for hashing, caching, timing and more")
+ (description
+ "Ubelt is a small library of simple functions that extend the Python
+standard library. It includes an @acronym{API, Application Programming
+Interface} to simplify common problems such as caching, timing, computing
+progress, among other things.")
+ (license license:asl2.0)))
+
+(define-public python-uc-micro-py
+ (package
+ (name "python-uc-micro-py")
+ (version "1.0.1")
+ (source (origin
+ (method git-fetch) ;for tests
+ (uri (git-reference
+ (url "https://github.com/tsutsu3/uc.micro-py")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "17f55gi55rg47nm88fn3f8851ph03dgykdp011lxr3j6hk18lyfv"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (home-page "https://github.com/tsutsu3/uc.micro-py")
+ (synopsis "Unicode data files for linkify-it-py projects")
+ (description "This package contains a micro subset of Unicode data files
+for linkify-it-py projects.")
+ (license license:expat)))
+
+(define-public python-ujson
+ (package
+ (name "python-ujson")
+ (version "5.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ujson" version))
+ (sha256
+ (base32
+ "1habmn3bmmv2ym4ldiijcavdkdzp8h28h60hgwjkhxwcbly8zkdk"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin (delete-file-recursively "deps")))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'link-to-system-double-conversion
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((d-c (assoc-ref inputs "double-conversion")))
+ (substitute* "setup.py"
+ (("./deps/double-conversion/double-conversion\"")
+ (string-append d-c "/include/double-conversion\""))
+ (("-lstdc++" stdc)
+ (string-append "-L" d-c "/lib\","
+ " \"-ldouble-conversion\","
+ " \"" stdc)))))))))
+ (native-inputs
+ (list double-conversion
+ python-pytest
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (home-page "https://github.com/ultrajson/ultrajson")
+ (synopsis "Ultra fast JSON encoder and decoder for Python")
+ (description
+ "UltraJSON is an ultra fast JSON encoder and decoder written in pure C
with
+bindings for Python 3.")
+ (license license:bsd-3)))
+
+(define-public python-ukkonen
+ (package
+ (name "python-ukkonen")
+ (version "1.0.1")
+ (source
+ (origin
+ ;; There are no tests in the PyPI tarball.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/asottile/ukkonen")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17gspl2dsykg000275svvyam4k7wz9ypi9xrfrmsgcgryczravlc"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (propagated-inputs (list python-cffi))
+ (home-page "https://github.com/asottile/ukkonen")
+ (synopsis "Implementation of bounded Levenshtein distance (Ukkonen)")
+ (description "This package is an implementation of of bounded Levenshtein
+distance (Ukkonen).")
+ (license license:expat)))
+
+(define-public python-ukpostcodeparser
+ (package
+ (name "python-ukpostcodeparser")
+ (version "1.1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "UkPostcodeParser" version))
+ (sha256
+ (base32
+ "03jkf1ygbwq3akzbcjyjk1akc1hv2sfgx90306pq1nwklbpn80lk"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list
+ ;; Tests for lowercase postcodes fail.
+ "-k" (string-join
+ (list "not test_091 "
+ "test_097 "
+ "test_098 "
+ "test_125 "
+ "test_131")
+ " and not ")
+ "ukpostcodeparser/test/parser.py")))
+ (native-inputs
+ (list python-pytest python-setuptools))
+ (home-page "https://github.com/hamstah/ukpostcodeparser")
+ (synopsis "UK Postcode parser for Python")
+ (description
+ "This library provides the @code{parse_uk_postcode} function for
+parsing UK postcodes.")
+ (license license:expat)))
+
+(define-public python-uncertainties
+ (package
+ (name "python-uncertainties")
+ (version "3.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "uncertainties" version))
+ (sha256
+ (base32
+ "0c9hl35jvld1a1vinh9mdcpfgz4ykqinlm1dj917lqbgd0z6b9bn"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest python-setuptools python-setuptools-scm python-wheel))
+ (propagated-inputs (list python-numpy))
+ (home-page "https://uncertainties.readthedocs.io/en/latest/")
+ (synopsis "Calculations with uncertainties")
+ (description
+ "The uncertainties package transparently handles calculations with
+numbers with uncertainties. It can also yield the derivatives of any
+expression.")
+ (license license:bsd-3)))
+
+(define-public python-unicodedata2
+ (package
+ (name "python-unicodedata2")
+ (version "16.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "unicodedata2" version))
+ (sha256
+ (base32 "1z3llixb4cd6cc6nmyps5vv2sss14n3x6dzcc65xg75mj9jqsj05"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools))
+ (home-page "https://github.com/fonttools/unicodedata2")
+ (synopsis "Python unicodedata backport")
+ (description "This package corresponds to the latest @code{unicodedata}
+standard Python module.")
+ (license license:asl2.0)))
+
+(define-public python-unidecode
+ (package
+ (name "python-unidecode")
+ (version "1.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Unidecode" version))
+ (sha256
+ (base32 "08rbx8vxsnj06cvrdxy80zrn9hk25lwcqfh2fdjng2rk1189hdff"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest python-setuptools))
+ (home-page "https://pypi.org/project/Unidecode/")
+ (synopsis "ASCII transliterations of Unicode text")
+ (description
+ "Unidecode provides ASCII transliterations of Unicode text. Unidecode is
+useful when integrating with legacy code that doesn't support Unicode, or for
+ease of entry of non-Roman names on a US keyboard, or when constructing ASCII
+machine identifiers from human-readable Unicode strings that should still be
+somewhat intelligible.")
+ (license license:gpl2+)))
+
+(define-public python-unique-log-filter
+ (package
+ (name "python-unique-log-filter")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/twizmwazin/unique_log_filter")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "036mh6nqskck2fa1q2inasqxb9wcz2p09qcpldnnffzcy1a6kzba"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:test-backend #~'custom
+ #:test-flags #~(list "test_unique_log_filter.py")))
+ (native-inputs (list python-flit-core))
+ (home-page "https://github.com/twizmwazin/unique_log_filter")
+ (synopsis "Log filter that removes duplicate log messages")
+ (description
+ "This library provides a filter for the @code{logging} module
+from the Python standard library which allows removing duplicate log
+messages.")
+ (license license:bsd-2)))
+
+(define-public python-uniseg
+ (package
+ (name "python-uniseg")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "uniseg" version))
+ (sha256
+ (base32 "18sj1i7xlssrsfwlr95bd4x78mfhq0v6irfx3b7fkgr17a5jbsmm"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-setuptools-scm))
+ (home-page "https://bitbucket.org/emptypage/uniseg-python")
+ (synopsis "Python library to determine Unicode text segmentations")
+ (description
+ "Uniseg is a Python package used to determine Unicode text segmentations.
+Supported segmentations include:
+@enumerate
+@item @dfn{Code point} (any value in the Unicode codespace)
+@item @dfn{Grapheme cluster} (user-perceived character made of a single or
+multiple Unicode code points, e.g. \"G\" + acute-accent)
+@item Word break
+@item Sentence break
+@item Line break
+@end enumerate")
+ (license license:expat)))
+
+(define-public python-unpaddedbase64
+ (package
+ (name "python-unpaddedbase64")
+ (version "2.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/matrix-org/python-unpaddedbase64")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1n6har8pxv0mqb96lanzihp1xf76aa17jw3977drb1fgz947pnmz"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-poetry-core
+ python-pytest
+ python-setuptools
+ python-wheel))
+ (home-page "https://github.com/matrix-org/python-unpaddedbase64")
+ (synopsis "Encode and decode Base64 without “=” padding")
+ (description
+ "RFC 4648 specifies that Base64 should be padded to a multiple of 4 bytes
+using “=” characters. However this conveys no benefit so many protocols
+choose to use Base64 without the “=” padding.")
+ (license license:asl2.0)))
+
+(define-public python-update-checker
+ (package
+ (name "python-update-checker")
+ (version "0.18.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "update-checker" version))
+ (sha256
+ (base32 "04yb5a9mi45ax50m2m0ih6gdvkk1j7gfmy83dd58i1f59axlabba"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools))
+ (propagated-inputs
+ (list python-requests))
+ (home-page "https://github.com/bboe/update_checker")
+ (synopsis "Python module that will check for package updates")
+ (description "This package provides a Python module that will check for
+package updates.")
+ (license license:bsd-2)))
+
+(define-public python-uri-template
+ (package
+ (name "python-uri-template")
+ (version "1.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "uri-template" version))
+ (sha256
+ (base32 "1ixczlgnsjv2850r6w0cb2npwcwzdqri8njr1pi7v371cpmzh00f"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python3" "test.py")))))))
+ (native-inputs
+ (list python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (home-page "https://gitlab.linss.com/open-source/python/uri-template")
+ (synopsis "RFC 6570 URI Template Processor")
+ (description "This package implements URI Template expansion in strict
+adherence to RFC 6570, but adds a few extensions.")
+ (license license:expat)))
+
+(define-public python-urwid
+ (package
+ (name "python-urwid")
+ (version "3.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "urwid" version))
+ (sha256
+ (base32
+ "16zdji1fdr5jbry9h01dxwnadrygs1xj415jqnhmmnlcavfh821h"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "tests"
+ ;; According to Debian these tests are cursed.
+ ;;
https://salsa.debian.org/python-team/packages/urwid/-/blob/debian/2.1.2-2/debian/changelog#L141
+ "--ignore=tests/test_vterm.py")))
+ (native-inputs
+ (list python-pytest
+ python-pytest-cov
+ python-setuptools
+ python-setuptools-scm))
+ (propagated-inputs
+ (list python-wcwidth
+ ;; [optional]
+ python-pygobject
+ python-pyzmq
+ python-tornado
+ python-pyserial
+ python-twisted))
+ (home-page "https://urwid.org")
+ (synopsis "Console user interface library for Python")
+ (description
+ "Urwid is a curses-based UI/widget library for Python. It includes many
+features useful for text console applications.")
+ (license license:lgpl2.1+)))
+
+(define-public python-urwid-2
+ (package
+ (inherit python-urwid)
+ (name "python-urwid")
+ (version "2.6.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "urwid" version))
+ (sha256
+ (base32 "18ijvgf1l7jvmg45x1cysn3c9rdrg1w0405acig3hk7476cj7bck"))))))
+
+(define-deprecated/public-alias python-urwid-3
+ python-urwid) ;may be removed after 2025-11-12
+
+(define-public python-urwid-for-zulip-term
+ ;; [email protected] requires exact 2.1.2 version otherewise some tests fail
+ ;; to pass, remove when no longer required.
+ (hidden-package
+ (package
+ (inherit python-urwid)
+ (version "2.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "urwid" version))
+ (sha256
+ (base32 "1bky2bra6673xx8jy0826znw6cmxs89wcwwzda8d025j3jffx2sq"))))
+ (arguments
+ (list #:tests? #f)))))
+
+(define-public python-urwid-readline
+ (package
+ (name "python-urwid-readline")
+ (version "0.15.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rr-/urwid_readline")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zhpx86gvpkziclb7bcqn73fadkzn805rjqy7lzhrza46lphq8qy"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools))
+ (propagated-inputs
+ (list python-urwid))
+ (home-page "https://github.com/rr-/urwid_readline")
+ (synopsis "Text input widget for urwid that supports readline shortcuts")
+ (description
+ "This package provides a textbox edit widget for @code{python-urwid} that
+supports @code{readline} shortcuts.")
+ (license license:expat)))
+
+(define-public python-urwidgets
+ (package
+ (name "python-urwidgets")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "urwidgets" version))
+ (sha256
+ (base32 "1vrydw9h8c5gi89dnv12a9cdyyxaffvxl1kq51f118cxjk9brwpr"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;no tests
+ (native-inputs
+ (list python-setuptools))
+ (propagated-inputs
+ (list python-urwid-2))
+ (home-page "https://github.com/AnonymouX47/urwidgets")
+ (synopsis "Collection of widgets for urwid")
+ (description
+ "This package provides a collection of widgets for urwid.")
+ (license license:expat)))
+
+(define-public python-urwidtrees
+ (package
+ (name "python-urwidtrees")
+ (version "1.0.4")
+ (source
+ (origin
+ (method git-fetch)
+ ;; package author intends on distributing via github rather than pypi:
+ ;; https://github.com/pazz/alot/issues/877#issuecomment-230173331
+ (uri (git-reference
+ (url "https://github.com/pazz/urwidtrees")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "17k0gx8i7wrzw6skzdjh9b8v3n6lb5zvg9jrybc3d09p8ipvc31i"))))
+ (build-system pyproject-build-system)
+ (arguments
+ '(#:tests? #f)) ; no tests
+ (propagated-inputs (list python-urwid))
+ (native-inputs (list python-mock python-setuptools python-wheel))
+ (home-page "https://github.com/pazz/urwidtrees")
+ (synopsis "Tree widgets for urwid")
+ (description "Urwidtrees is a Widget Container API for the @code{urwid}
+toolkit. Use it to build trees of widgets.")
+ (license license:gpl3+)))
+
+(define-public python-user-agents
+ (package
+ (name "python-user-agents")
+ (version "2.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/selwin/python-user-agents")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0pcbjqj21c2ixhl414bh2h8khi8y1igzfpkyqwan1pakix0lq45a"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:test-backend #~'unittest))
+ (native-inputs
+ (list python-setuptools))
+ (propagated-inputs
+ (list python-ua-parser))
+ (home-page "https://github.com/selwin/python-user-agents")
+ (synopsis "User Agent strings parsing library")
+ (description
+ "A library to identify devices (phones, tablets) and their capabilities by
+parsing (browser/HTTP) user agent strings.")
+ (license license:expat)))
+
+(define-public python-userpath
+ (package
+ (name "python-userpath")
+ (version "1.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "userpath" version))
+ (sha256
+ (base32 "05fqxzdi27vqm5lywxs6bm2j4d8k91fx2ihqhg65g4h6mf6jhlkc"))))
+ (build-system pyproject-build-system)
+ (arguments
+ ;; See https://github.com/ofek/userpath/issues/43.
+ ;; In Guix, tests try to find the temporary build directory in PATH, but
+ ;; only the store output is present.
+ (list #:tests? #f))
+ (native-inputs (list python-hatchling python-pytest))
+ (propagated-inputs (list python-click))
+ (home-page "https://github.com/ofek/userpath")
+ (synopsis "Add locations to the user's PATH")
+ (description "This package provides a tool for modifying a user's PATH.")
+ (license license:expat)))
+
+(define-public python-userspacefs
+ (package
+ (name "python-userspacefs")
+ (version "2.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "userspacefs" version))
+ (sha256
+ (base32
+ "0v0qkdwfc61s2yiq7d7amin93x5biypfmi9pfhf8yj1rdpx5yvsx"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;no tests
+ (native-inputs
+ (list python-setuptools))
+ (propagated-inputs
+ (list python-fusepyng))
+ (home-page "https://thelig.ht/code/userspacefs/readme.html")
+ (synopsis "User-space file systems for Python")
+ (description
+ "@code{userspacefs} is a library that allows you to easily write
+user-space file systems in Python.")
+ (license license:gpl3+)))
+
+(define-public python-utils
+ (package
+ (name "python-utils")
+ (version "3.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "python_utils" version))
+ (sha256
+ (base32 "18292j4p1bvlpbrfj2cgkdby6dpgnl5gbjwly0qb4pj1j914nmzb"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-pytest-config
+ (lambda _
+ ;; Drop test coverage requirements.
+ (substitute* "pytest.ini"
+ ((".*--cov.*") "")))))))
+ (native-inputs
+ (list python-pytest
+ python-pytest-asyncio
+ python-setuptools))
+ (propagated-inputs
+ (list python-loguru
+ python-typing-extensions))
+ (home-page "https://github.com/WoLpH/python-utils")
+ (synopsis "Convenient utilities not included with the standard Python
install")
+ (description
+ "Python Utils is a collection of small Python functions and classes
+which make common patterns shorter and easier.")
+ (license license:bsd-2)))
+
(define-public python-validate-email
(package
(name "python-validate-email")