diff options
| author | Sharlatan Hellseher <sharlatanus@gmail.com> | 2025-10-13 09:56:58 +0100 |
|---|---|---|
| committer | Sharlatan Hellseher <sharlatanus@gmail.com> | 2025-10-13 12:00:49 +0100 |
| commit | 2d7ba3c7339b57080fa08eee4b703f6667c66b8c (patch) | |
| tree | c7e58b137652978e8ac767c1da931208ea99a722 /gnu/packages/python-xyz.scm | |
| parent | 2cda76b2f43c8cb2ab5fa2fbc456e7aa14a01210 (diff) | |
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
Diffstat (limited to 'gnu/packages/python-xyz.scm')
| -rw-r--r-- | gnu/packages/python-xyz.scm | 1274 |
1 files changed, 637 insertions, 637 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 790eefed47b..e609233cee1 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 - ;; zulip-term@0.7.0 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 + ;; zulip-term@0.7.0 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") |
