summaryrefslogtreecommitdiff
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.scm712
1 files changed, 658 insertions, 54 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e2d082091f..8bd43cb6d3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com>
;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
@@ -166,6 +166,7 @@
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
+ #:use-module (gnu packages crates-io)
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
@@ -267,6 +268,7 @@
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
@@ -917,6 +919,87 @@ template")
variables into the markdown template")
(license license:expat)))
+(define-public python-mysql-connector-python
+ (package
+ (name "python-mysql-connector-python")
+ (version "8.0.33")
+ ;; The archive on PyPi does not contain a build system
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://cdn.mysql.com/Downloads/"
+ "Connector-Python/mysql-connector-python-"
+ version "-src.tar.gz"))
+ (sha256
+ (base32
+ "00j9xgd43yzx5yiijnlmpaqpa58m5lscjglsgzg48dibhr69br0l"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ #~(list (string-append "--with-mysql-capi="
+ #$(this-package-input "mysql"))
+ (string-append "--with-protobuf-include-dir="
+ #$(this-package-input "protobuf")
+ "/include/google/protobuf")
+ (string-append "--with-protobuf-lib-dir="
+ #$(this-package-input "protobuf")
+ "/lib")
+ (string-append "--with-protoc="
+ #$(this-package-input "protobuf")
+ "/bin/protoc"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'compatibility
+ (lambda _
+ (substitute* "src/mysql_capi.c"
+ (("res = mysql_options\\(&self->session, MYSQL_OPT_LOAD_DATA_LOCAL_DIR.*")
+ "res = 0;")
+ (("mysql_options\\(&self->session, MYSQL_OPT_LOAD_DATA_LOCAL_DIR.*")
+ "")
+ (("mysql_options\\(&self->session, MYSQL_OPT_TLS_CIPHERSUITES.*")
+ "")
+ ;; The C API does not have mysql_bind_param, so we produce an
+ ;; error here.
+ (("status = mysql_bind_param.*") "status = 1;"))
+ ;; See https://github.com/protocolbuffers/protobuf/issues/9943
+ (substitute* "src/mysqlxpb/mysqlxpb.cc"
+ (("google::protobuf::string") "std::string"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Some of these tests might be failing due to the build
+ ;; container's restrictions, others are due to the version
+ ;; mismatch.
+ (substitute* "tests/cext/test_cext_api.py"
+ (("def test_change_user") "def _do_not_test_change_user")
+ (("def test_get_character_set_info")
+ "def _do_not_test_get_character_set_info"))
+ (substitute* "tests/test_bugs.py"
+ (("def test_change_user") "def _do_not_test_change_user")
+ (("def test_lost_connection") "def _do_not_test_lost_connection")
+ (("def test_kill_query") "def _do_not_test_kill_query"))
+ (substitute* "tests/test_connection.py"
+ (("def test_allow_local_infile_in_path")
+ "def _do_not_test_allow_local_infile_in_path"))
+ (substitute* "tests/test_constants.py"
+ (("def test_deprecated")
+ "def _do_not_test_deprecated"))
+ (mkdir-p "/tmp/datadir")
+ (invoke "python3" "unittests.py"
+ "--verbosity=3"
+ (string-append "--with-mysql=" #$(this-package-input "mysql"))
+ "--keep"
+ "--mysql-topdir=/tmp/datadir"
+ "--unix-socket=/tmp/datadir")))))))
+ (propagated-inputs (list python-protobuf))
+ (inputs (list mysql protobuf-3.20 openssl-1.1 zlib))
+ (home-page "https://dev.mysql.com/doc/connector-python/en/index.html")
+ (synopsis "MySQL driver written in Python")
+ (description "MySQL Connector/Python enables Python programs to access
+MySQL databases, using an API that is compliant with the Python Database API
+Specification v2.0 (PEP 249).")
+ (license license:gpl2)))
+
(define-public python-py4j
(package
(name "python-py4j")
@@ -2216,6 +2299,26 @@ a platform independent file lock in Python, which provides a simple way of
inter-process communication.")
(license license:unlicense)))
+(define-public python-filelock-3.5
+ (package
+ (name "python-filelock")
+ (version "3.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "filelock" version))
+ (sha256
+ (base32
+ "058av1r760ws7z6qffsjpqa39fmdxw0s1wnyr7p50y3zclg6cyqk"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools-scm))
+ (home-page "https://github.com/tox-dev/py-filelock")
+ (synopsis "Platform independent file lock")
+ (description "@code{filelock} contains a single module implementing
+a platform independent file lock in Python, which provides a simple way of
+inter-process communication.")
+ (license license:unlicense)))
+
(define-public python-semantic-version
(package
(name "python-semantic-version")
@@ -2587,6 +2690,99 @@ a library.")
(description "DiskCache is a disk and file backed persistent cache.")
(license license:asl2.0)))
+(define-public python-orjson
+ (package
+ (name "python-orjson")
+ (version "3.8.8")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "orjson" version))
+ (sha256
+ (base32
+ "1nn617pzn8smjkf7j593ybq16qfnj53bla52qjwzzrms4fjxg5n0"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'build-python-module
+ (lambda _
+ ;; We don't use maturin.
+ (delete-file "pyproject.toml")
+ (call-with-output-file "pyproject.toml"
+ (lambda (port)
+ (format port "\
+[build-system]
+build-backend = 'setuptools.build_meta'
+requires = ['setuptools']
+")))
+ (call-with-output-file "setup.cfg"
+ (lambda (port)
+ (format port "\
+
+[metadata]
+name = orjson
+version = '~a'
+
+[options]
+packages = find:
+
+[options.packages.find]
+exclude =
+ src
+ integration
+ test
+ Cargo.toml
+" #$version)))
+ ;; ZIP does not support timestamps before 1980.
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (add-after 'build-python-module 'install-python-module
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" #$output whl))))
+ (add-after 'install-python-module 'install-python-library
+ (lambda _
+ (let ((site (string-append #$output "/lib/python"
+ #$(version-major+minor
+ (package-version python))
+ "/site-packages")))
+ (mkdir-p site)
+ (copy-file "target/release/liborjson.so"
+ (string-append site "/orjson.so"))))))
+ #:cargo-inputs
+ `(("rust-ahash" ,rust-ahash-0.8)
+ ("rust-arrayvec" ,rust-arrayvec-0.7)
+ ("rust-associative-cache" ,rust-associative-cache-1)
+ ("rust-beef" ,rust-beef-0.5)
+ ("rust-bytecount" ,rust-bytecount-0.6)
+ ("rust-chrono" ,rust-chrono-0.4)
+ ("rust-compact-str" ,rust-compact-str-0.7)
+ ("rust-encoding-rs" ,rust-encoding-rs-0.8)
+ ("rust-itoa" ,rust-itoa-1)
+ ("rust-itoap" ,rust-itoap-1)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-pyo3-ffi" ,rust-pyo3-ffi-0.18)
+ ("rust-ryu" ,rust-ryu-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-simdutf8" ,rust-simdutf8-0.1)
+ ("rust-smallvec" ,rust-smallvec-1))
+ #:install-source? #false))
+ (native-inputs
+ (list python-wrapper
+ python-pypa-build
+ python-wheel))
+ (home-page "https://github.com/ijl/orjson")
+ (synopsis "Python JSON library supporting dataclasses, datetimes, and numpy")
+ (description "Orjson is a fast, correct JSON library for Python. It
+benchmarks as the fastest Python library for JSON and is more correct than the
+standard @code{json} library or other third-party libraries. It serializes
+dataclass, datetime, numpy, and UUID instances natively.")
+ ;; Either of these licenses
+ (license (list license:asl2.0 license:expat))))
+
(define-public python-argparse-addons
(package
(name "python-argparse-addons")
@@ -3189,6 +3385,53 @@ audio playback capability for Python 3 on OSX, Windows, and Linux.")
Python.")
(license license:expat)))
+(define-public python-jsonargparse
+ (package
+ (name "python-jsonargparse")
+ (version "4.21.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "jsonargparse" version))
+ (sha256
+ (base32
+ "1k3b60x0zf86fh50y2jyby30gksqriyvvpfnf5mqq0qn7jih01y7"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ '(list "-k" (string-append "not test_env_prefix"
+ " and not test_basemodel"
+ " and not test_field_default_factory"
+ " and not test_field_description"
+ " and not test_get_param_relative_import_from_init"
+ ;; Strangely, the arguments are interpreted
+ ;; as arguments to pytest.
+ " and not test_pydantic_types"))))
+ (propagated-inputs
+ (list python-contextvars
+ python-dataclasses
+ python-docstring-parser
+ python-pyyaml
+ python-typeshed-client))
+ (native-inputs
+ (list python-attrs
+ python-coverage
+ python-pre-commit
+ python-pycodestyle
+ python-pydantic
+ python-pytest
+ python-pytest-subtests
+ python-responses
+ python-tox
+ python-types-requests))
+ (home-page "https://github.com/omni-us/jsonargparse/")
+ (synopsis "Implement minimal boilerplate CLIs derived from type hints")
+ (description
+ "This package lets you implement minimal boilerplate CLIs derived from
+type hints and parse from command line, config files and environment
+variables.")
+ (license license:expat)))
+
(define-public python-simplejson
(package
(name "python-simplejson")
@@ -3374,6 +3617,26 @@ system is highly configurable via command line options and embedded
commands.")
(license license:lgpl2.1+)))
+(define-public python-palettable
+ (package
+ (name "python-palettable")
+ (version "3.3.3")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "palettable" version))
+ (sha256
+ (base32
+ "1a4h0jpsr3wjciqg9a5kslxv65d3qqgmqgkpai4cl77wlpcxfk89"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest))
+ (home-page "https://jiffyclub.github.io/palettable/")
+ (synopsis "Color palettes for Python")
+ (description "Palettable (formerly brewer2mpl) is a library of color
+palettes for Python. It’s written in pure Python with no dependencies, but it
+can supply color maps for matplotlib. You can use Palettable to customize
+matplotlib plots or supply colors for a web application.")
+ (license license:expat)))
+
(define-public python-parse-type
(package
(name "python-parse-type")
@@ -3569,23 +3832,30 @@ and is not compatible with JSON.")
(define-public python-extension-helpers
(package
(name "python-extension-helpers")
- (version "0.1")
+ (version "1.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "extension-helpers" version))
(sha256
- (base32 "10iqjzmya2h4sk765dlm1pbqypwlqyh8rw59a5m9i63d3klnz2mc"))))
- (build-system python-build-system)
+ (base32 "1rjha07ds633fb81hn3i2yzk3v2flbi6qa091ix4mkvrgk3gl6ya"))))
+ (build-system pyproject-build-system)
+ ;; FIXME: pytest failed to load test suit, find out why.
+ ;; - _pytest.pathlib.ImportPathMismatchError: ('extension_helpers.conftes
+ (arguments (list #:tests? #f))
(native-inputs
- (list python-coverage python-pytest-astropy python-pytest-cov
+ (list python-coverage
+ python-pytest
+ python-pytest-astropy
+ python-pytest-cov
python-setuptools-scm))
- (home-page "https://github.com/astropy/astropy-helpers")
- (synopsis
- "Utilities for building and installing packages in the Astropy ecosystem")
+ (home-page "https://extension-helpers.readthedocs.io")
+ (synopsis "Astropy ecosystem utilities for building and installing packages")
(description
- "The extension-helpers package includes many build, installation, and
-documentation-related tools used by the Astropy project.")
+ "The extension-helpers package includes convenience helpers to assist with
+building Python packages with compiled C/Cython extensions. It is developed by
+the Astropy project but is intended to be general and usable by any Python
+package.")
(license license:bsd-3)))
(define-public python-extras
@@ -3654,6 +3924,27 @@ matching them against a list of media-ranges.")
server.")
(license license:asl2.0)))
+(define-public python-mir-eval
+ (package
+ (name "python-mir-eval")
+ (version "0.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "mir_eval" version))
+ (sha256
+ (base32
+ "0pp6xdflqhj2czhb2w3kk2c7mx4h2hj0n5rabiaafrbcfsjvmzp1"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-future python-numpy python-scipy
+ python-six))
+ (native-inputs (list python-matplotlib))
+ (home-page "https://github.com/craffel/mir_eval")
+ (synopsis "Common metrics for common audio/music processing tasks.")
+ (description "This is a Python library for computing common heuristic
+accuracy scores for various music/audio information retrieval/signal
+processing tasks.")
+ (license license:expat)))
+
(define-public python-pafy
(package
(name "python-pafy")
@@ -5055,6 +5346,24 @@ which only supports flat sequences, and allows you to apply a function to each
leaf preserving the overall structure.")
(license license:asl2.0)))
+(define-public python-docstring-parser
+ (package
+ (name "python-docstring-parser")
+ (version "0.15")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "docstring_parser" version))
+ (sha256
+ (base32
+ "10pnbg2q0ic1h6pwbyhhqd075fv67sq07k3gjncmi1mix29w1pa8"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-poetry-core python-pytest))
+ (home-page "https://github.com/rr-/docstring_parser")
+ (synopsis "Parse Python docstrings in reST, Google and Numpydoc format")
+ (description "This package lets you parse Python docstrings in reST,
+Google and Numpydoc format.")
+ (license license:expat)))
+
(define-public python-docutils
(package
(name "python-docutils")
@@ -6410,6 +6719,10 @@ include_dirs = ~:*~a/include~%"
`(" and not test_identityless_reduction_huge_array"
" and not (TestKind and test_all)")
'())
+ ;; This test fails when building from aarch64-linux.
+ #$@(if (target-arm32?)
+ `(" and not test_features")
+ '())
;; These tests seem to fail on machines without
;; an FPU is still under investigation upstream.
;; https://github.com/numpy/numpy/issues/20635
@@ -6919,6 +7232,23 @@ flexible plugin systems in Python.")
semantic version parser for Node.js.")
(license license:expat)))
+(define-public python-norns
+ (package
+ (name "python-norns")
+ (version "0.1.6")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "norns" version))
+ (sha256
+ (base32
+ "1r1lcq59v6l75wkbp7mypanr69a6fv6m58v6dw3v6b4vwz5nqg0z"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-appdirs python-nose python-pyyaml))
+ (home-page "https://github.com/simonvh/norns")
+ (synopsis "Simple YAML-based config module")
+ (description "This package provides a simple YAML-based config module.")
+ (license license:expat)))
+
(define-public python-patch-ng
(package
(name "python-patch-ng")
@@ -7890,17 +8220,17 @@ a general image processing tool.")
(package
(inherit python-pillow)
(name "python-pillow-simd")
- (version "9.0.0.post1")
+ (version "9.2.0")
;; The PyPI tarball does not include test files.
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/uploadcare/pillow-simd")
- (commit (string-append "v" version))))
+ (commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1dnvsln451aw3qy2cxg2ndd5mcanf5nrhxw9l7mcam730635hdm9"))))
+ (base32 "13wwq7slw2q9djh7n39qdmlrzd9k3x7hdr36wk8qbgp3b6bcgvj6"))))
(inputs
(modify-inputs (package-inputs python-pillow)
(prepend libraqm libimagequant)))
@@ -9460,23 +9790,20 @@ connect strings, then issue SQL commands within IPython or IPython Notebook.")
(define-public python-traitlets
(package
(name "python-traitlets")
- (version "5.1.1")
+ (version "5.9.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "traitlets" version))
(sha256
(base32
- "1ivhxglsrnhqw4g98ihddn7i5f6976gpk31fijwq473wb9n4b7q5"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv" "traitlets")))))))
+ "1ndslgsan1g5xhrvxrv2x03zcfvjb8nzfd90y1m7bkv8khdf5kgn"))))
+ (build-system pyproject-build-system)
(native-inputs
- (list python-pytest))
+ (list python-hatchling
+ python-pre-commit
+ python-pytest
+ python-pytest-mock))
(home-page "https://ipython.org")
(synopsis "Configuration system for Python applications")
(description
@@ -10998,6 +11325,42 @@ provides convenient short API for print out of values, tracebacks, and
falling into the Python interpreter.")
(license license:asl2.0)))
+(define-public python-qnorm
+ (package
+ (name "python-qnorm")
+ (version "0.8.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "qnorm" version))
+ (sha256
+ (base32
+ "1iykxrvlg32h78d3cr0137x93w8krcwc8gdqyfj55id917pz7ck1"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #false ;there are none
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-pyproject-format
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("url = .*") (string-append "version = \"" #$version "\""))
+ (("python_requires.*") "")
+ (("packages =.*") "")
+ (("install_requires") "dependencies")
+ (("\"Maarten van der Sande <maartenvandersande@hotmail.com>\"")
+ "{ name = \"Maarten van der Sande\", email = \"maartenvandersande@hotmail.com\"}")
+ (("license = \"MIT\"") "license = { file = \"LICENSE\"}")))))))
+ (propagated-inputs (list python-numba python-numpy python-pandas))
+ (home-page "https://github.com/Maarten-vd-Sande/qnorm")
+ (synopsis "Quantile normalization")
+ (description "This tool implements quantile normalization. It properly
+resolves rank ties, which is important when ties happen frequently, such as
+when working with discrete numbers (integers) in count tables. This
+implementation should be relatively fast, and can use multiple cores to sort
+the columns and tie-resolvement is accelerated by numba.")
+ (license license:expat)))
+
(define-public python-xlib
(package
(name "python-xlib")
@@ -12283,6 +12646,8 @@ It has a flexible system of @samp{authorizers} able to manage both
(build-system python-build-system)
(arguments
(list
+ #:tests? (and (not (%current-target-system))
+ (->bool (this-package-native-input "python-pytest")))
#:phases #~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
@@ -12292,7 +12657,14 @@ It has a flexible system of @samp{authorizers} able to manage both
(propagated-inputs
(list python-appdirs python-pytz python-six))
(native-inputs
- (list python-mock python-parameterized python-pyftpdlib python-pytest))
+ ;; 'python-pyftpdlib' is needed for tests but it indirectly depends Rust,
+ ;; which is currently unavailable on aarch64-linux. Remove all the test
+ ;; dependencies in that case.
+ (if (and (not (%current-target-system))
+ (supported-package? python-pyftpdlib))
+ (list python-mock python-parameterized python-pyftpdlib
+ python-pytest)
+ '()))
(home-page "https://github.com/PyFilesystem/pyfilesystem2/")
(synopsis "File system abstraction layer for Python")
(description "PyFilesystem's @code{FS} object is a file system abstraction
@@ -14082,20 +14454,21 @@ systems, as a command line tool, and as a Python library.")
(define-public python-bleach
(package
(name "python-bleach")
- (version "5.0.0")
+ (version "5.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bleach" version))
(sha256
- (base32 "0rc5avysbsl3w3i2qvb6522263zhwlvf50w0ifs8776w9c2wrmn6"))))
- (build-system python-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests? (invoke "pytest" "-vv")))))))
- (propagated-inputs (list python-tinycss2 python-webencodings))
+ (base32 "0p089853pkwzf1j2zjlmw67pwbkk0whpzfx9dbrd56zb8xf2a0qd"))
+ (snippet
+ #~(begin
+ (use-modules (guix build utils))
+ (substitute* (find-files "." "\\.py$")
+ (("bleach\\._vendor\\.html5lib") "html5lib"))
+ (delete-file-recursively "bleach/_vendor/html5lib")))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-html5lib python-tinycss2 python-webencodings))
(native-inputs (list python-pytest))
(home-page "https://github.com/mozilla/bleach")
(synopsis "Whitelist-based HTML-sanitizing tool")
@@ -15999,6 +16372,28 @@ interface to the Amazon Web Services (AWS) API.")
in pure Python.")
(license license:expat)))
+(define-public python-xdg
+ (package
+ (name "python-xdg")
+ (version "6.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "xdg" version))
+ (sha256
+ (base32
+ "14hwk9j5zjc8rvirw95mrb07zdnpjaxjx2mj3rnq8pnlyaa809r4"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-poetry-core))
+ (home-page "https://github.com/srstevenson/xdg-base-dirs")
+ (synopsis "Variables defined by the XDG Base Directory Specification")
+ (description "xdg-base-dirs is a Python module that provides functions to
+return paths to the directories defined by the XDG Base Directory
+Specification, to save you from duplicating the same snippet of logic in every
+Python utility you write that deals with user cache, configuration, or data
+files.")
+ (license license:isc)))
+
(define-public python-xdo
(package
(name "python-xdo")
@@ -19310,13 +19705,13 @@ numbers, real numbers, mixed types and more, and comes with a shell command
(define-public glances
(package
(name "glances")
- (version "3.3.0.4")
+ (version "3.3.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Glances" version))
(sha256
- (base32 "0klyyxqc7cbrf1i741304i3rrwan19qm2v58xmrlgqsmxac542la"))
+ (base32 "16i92vsjpxpnpkab1wa1y2iw931mq1hna0d2gkkjmgxz1hhr58ih"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -19330,7 +19725,7 @@ numbers, real numbers, mixed types and more, and comes with a shell command
#t))))
(build-system python-build-system)
(propagated-inputs
- (list python-defusedxml python-future python-packaging python-psutil))
+ (list python-defusedxml python-future python-packaging python-psutil python-ujson))
(home-page "https://github.com/nicolargo/glances")
(synopsis "Cross-platform curses-based monitoring tool")
(description
@@ -19820,6 +20215,24 @@ from the header, as well as section details and data available.")
@end enumerate")
(license (license:x11-style "file://LICENSE"))))
+(define-public python-chevron
+ (package
+ (name "python-chevron")
+ (version "0.14.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "chevron" version))
+ (sha256
+ (base32
+ "1gqfh00ics2k1sm5g46l3bi8cl5fc5d1cwzh1ylvcxvdvypklqc7"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #false)) ;there are none
+ (home-page "https://github.com/noahmorrison/chevron")
+ (synopsis "Mustache templating language renderer")
+ (description "This package provides a Python implementation of the
+Mustache templating language renderer.")
+ (license license:expat)))
+
(define-public python-dulwich
(package
(name "python-dulwich")
@@ -20649,6 +21062,45 @@ point is the point of maximum curvature.")
make common patterns shorter and easier.")
(license license:bsd-2)))
+(define-public python-diff-cover
+ (package
+ (name "python-diff-cover")
+ (version "7.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "diff_cover" version))
+ (sha256
+ (base32
+ "1z7bxnij2sqsiz9313nwcak7nshakpq4b6c05v13hkqyhd505cx4"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ ;; missing fixture 'datadir'.
+ '(list "--ignore=tests/test_clover_violations_reporter.py"
+ ;; Difference in line breaks
+ "-k" "not test_html_with_external_css")))
+ (propagated-inputs
+ (list python-chardet
+ python-jinja2
+ python-pluggy
+ python-pygments
+ python-tomli))
+ (native-inputs
+ (list python-flake8
+ python-poetry-core
+ python-pylint
+ python-pytest
+ python-pytest-flake8
+ python-pytest-mock))
+ (home-page "https://github.com/Bachmann1234/diff-cover")
+ (synopsis "Run coverage and linting reports on diffs")
+ (description "Automatically find diff lines that need test coverage. It
+also finds diff lines that have violations (according to tools such as
+pycodestyle, pyflakes, flake8, or pylint). This is used as a code quality
+metric during code reviews.")
+ (license license:asl2.0)))
+
(define-public python-diff-match-patch
(package
(name "python-diff-match-patch")
@@ -25582,14 +26034,14 @@ register custom encoders and decoders.")
(define-public python-ujson
(package
(name "python-ujson")
- (version "4.0.2")
+ (version "5.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ujson" version))
(sha256
(base32
- "0k9w0kypy7vlskzzp2vsjswaw8lbqdrplzkbflxki9vqwglsj5f6"))
+ "08vvyfyg4qvjy2vxrvc0qix5zmd0j6wd0icvmhc633xfvkayb277"))
(modules '((guix build utils)))
(snippet
'(begin (delete-file-recursively "deps") #t))))
@@ -26098,14 +26550,14 @@ Notation (CSON).")
(define-public python-k5test
(package
(name "python-k5test")
- (version "0.9.2")
+ (version "0.10.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "k5test" version))
(sha256
(base32
- "1lqp3jgfngyhaxjgj3n230hn90wsylwilh120yjf62h7b1s02mh8"))))
+ "07sp9hc6nkbgzywvr2ivcik03wibs6gmxm1k33l1b8v3mnyfx7cw"))))
(build-system python-build-system)
(propagated-inputs
(list python-six
@@ -26134,14 +26586,14 @@ tests.")
(define-public python-gssapi
(package
(name "python-gssapi")
- (version "1.6.12")
+ (version "1.8.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "gssapi" version))
(sha256
(base32
- "1j2idrbrbczykzlb56q1bn0ivc9c0rjjljpk4yz86xn3gxfkpv8n"))))
+ "16n86nr19s95czvc1a9mdhs1kiq77qkcjp2c1rk5h4f93h10m3mp"))))
(build-system python-build-system)
(propagated-inputs
(list python-decorator python-six))
@@ -26149,7 +26601,8 @@ tests.")
(list mit-krb5))
;; for tests
(native-inputs
- (list python-parameterized python-k5test python-nose))
+ (list python-parameterized python-k5test python-nose
+ python-cython))
(home-page "https://github.com/pythongssapi/python-gssapi")
(synopsis "Python GSSAPI Wrapper")
(description
@@ -27540,24 +27993,24 @@ placement and scaling of SVG figures and adding markers, such as labels.")
(define-public python-blessed
(package
(name "python-blessed")
- (version "1.17.8")
+ (version "1.20.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "blessed" version))
(sha256
(base32
- "1wdj342sk22hfrg0n91x2qnqsbzbiyq9y009v3pxnvfzn9bx0wbn"))
- (modules '((guix build utils)))
+ "103ng3ap33xs6i7606q3k6rwvjva9l7qi8j7vw08y13ffkw6gp9c"))
(snippet
- '(begin
- ;; Don't get hung up on Windows test failures.
- (delete-file "blessed/win_terminal.py") #t))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-jinxed python-six python-wcwidth))
- (native-inputs
- (list python-mock python-pytest))
+ ;; Don't get hung up on Windows test failures.
+ '(delete-file "blessed/win_terminal.py"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; Avoid python-pytest-coverage
+ #:test-flags '(list "-c /dev/null")))
+ (propagated-inputs (list python-wcwidth))
+ (native-inputs (list python-pytest))
(home-page "https://github.com/jquast/blessed")
(synopsis "Wrapper around terminal capabilities")
(description
@@ -28499,6 +28952,40 @@ versions which have appeared in recent Python releases, but are usable with
older versions of Python and so are packaged here.")
(license license:bsd-3)))
+(define-public python-loguru
+ (package
+ (name "python-loguru")
+ (version "0.7.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "loguru" version))
+ (sha256
+ (base32
+ "1q83kr9zwwxchgyzf8gc6wi68ch5391mwzfxb5wlvs3axly0a4hn"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ ;; All of these fail with: error: Cannot find implementation or library
+ ;; stub for module named "loguru"
+ '(list "--ignore=tests/typesafety/test_logger.yml")))
+ (propagated-inputs (list python-colorama))
+ (native-inputs (list python-colorama
+ python-freezegun
+ python-mypy
+ python-pre-commit
+ python-pytest
+ python-pytest-cov
+ python-pytest-mypy-plugins
+ python-sphinx
+ python-sphinx-autobuild
+ python-sphinx-rtd-theme
+ python-tox))
+ (home-page "https://github.com/Delgan/loguru")
+ (synopsis "Python logging made (stupidly) simple")
+ (description "Python logging made (stupidly) simple")
+ (license license:expat)))
+
(define-public python-helper
(package
(name "python-helper")
@@ -30543,6 +31030,73 @@ static types.")
Python, with static types.")
(license license:asl2.0)))
+(define-public python-types-requests
+ (package
+ (name "python-types-requests")
+ (version "2.30.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "types-requests" version))
+ (sha256
+ (base32
+ "0cas3cjkhrvsz2rmqnhqiihy9j79wxi9xbih8jk0p9r48c2q3iyy"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-types-urllib3))
+ (home-page "https://github.com/python/typeshed")
+ (synopsis "Typing stubs for requests")
+ (description "This package provides typing stubs for requests.")
+ (license license:asl2.0)))
+
+(define-public python-types-setuptools
+ (package
+ (name "python-types-setuptools")
+ (version "67.6.0.5")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "types-setuptools" version))
+ (sha256
+ (base32
+ "0qlrxgl4mz6hs8z4qnl91hsa8mqcfm6397s3s3j21imxqxk8ww1s"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/python/typeshed")
+ (synopsis "Typing stubs for setuptools")
+ (description "This package provides typing stubs for setuptools.")
+ (license license:asl2.0)))
+
+(define-public python-types-urllib3
+ (package
+ (name "python-types-urllib3")
+ (version "1.26.25.12")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "types-urllib3" version))
+ (sha256
+ (base32
+ "0zcipjdnbnc8ymk8mh9n5mypa0qr03rqj98lbmahldcdrrap6md1"))))
+ (build-system pyproject-build-system)
+ (home-page "https://github.com/python/typeshed")
+ (synopsis "Typing stubs for urllib3")
+ (description "This package provides typing stubs for urllib3.")
+ (license license:asl2.0)))
+
+(define-public python-typeshed-client
+ (package
+ (name "python-typeshed-client")
+ (version "2.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "typeshed_client" version))
+ (sha256
+ (base32
+ "1vdwp1jjg27b22qxgm49v21nb8vm1iki3bfsm0fnq2rsz5alfwz2"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-importlib-resources))
+ (home-page "https://github.com/JelleZijlstra/typeshed_client")
+ (synopsis "Library for accessing stubs in typeshed")
+ (description
+ "This package provides a library for accessing stubs in typeshed.")
+ (license license:expat)))
+
(define-public python-psycopg2-binary
(package
(name "python-psycopg2-binary")
@@ -31121,6 +31675,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-iteround
+ (package
+ (name "python-iteround")
+ (version "1.0.4")
+ ;; PyPI only has wheels.
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cgdeboer/iteround")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1irw4sqrsgpc0ibxdv1hlx0d0jr1fqs48bj6mpfylzqkag9ywlfj"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest))
+ (home-page "https://github.com/cgdeboer/iteround")
+ (synopsis "Sum-safe rounding for Iterables")
+ (description "Iteround is a standard library sum-safe rounding library for
+Python iterables (lists, tuples, dicts).")
+ (license license:expat)))
+
(define-public python-hypy-utils
(package
(name "python-hypy-utils")
@@ -31209,6 +31785,34 @@ development but it can be used for all sorts of general purpose parsing.")
object, which can be useful if you want to force your objects into a table.")
(license license:expat)))
+(define-public python-deepdiff
+ (package
+ (name "python-deepdiff")
+ (version "6.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "deepdiff" version))
+ (sha256
+ (base32
+ "0i5nnb3nppi2vgbhiakpxiagyhx7l1f50hzcl8fcgica4bkz2fva"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-ordered-set))
+ (native-inputs
+ (list python-click
+ python-dateutil
+ python-jsonpickle
+ python-mock
+ python-numpy
+ python-pytest
+ python-pyyaml))
+ (home-page "https://github.com/seperman/deepdiff")
+ (synopsis "Deep difference and search of any Python object/data")
+ (description
+ "This package provides tools for computing deep differences and searching
+of any Python object/data. Recreate objects by adding adding deltas to each
+other.")
+ (license license:expat)))
+
(define-public python-deepmerge
(package
(name "python-deepmerge")