summaryrefslogtreecommitdiff
path: root/gnu/packages/python-xyz.scm
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2023-06-08 15:33:29 +0200
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2023-06-08 15:33:29 +0200
commit909788c0aebd8098084c009afa98d1209c9ec869 (patch)
treeffe6735a2db3b0ac595b90a52825fe82eca9b803 /gnu/packages/python-xyz.scm
parent16a5ce3bb7fbd14fb17a6ba6a62fb079d2379fcc (diff)
parent872b2487451c39020a78ed3227992fb02a7ed5e5 (diff)
Merge branch 'master' into gnome-team
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r--gnu/packages/python-xyz.scm347
1 files changed, 269 insertions, 78 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 50a586d773..98abf038a5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -156,12 +156,14 @@
(define-module (gnu packages python-xyz)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
- #:use-module (gnu packages algebra)
#:use-module (gnu packages adns)
#:use-module (gnu packages aidc)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages attr)
#:use-module (gnu packages backup)
+ #:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages bdw-gc)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
@@ -177,28 +179,28 @@
#:use-module (gnu packages documentation)
#:use-module (gnu packages enchant)
#:use-module (gnu packages file)
- #:use-module (gnu packages fontutils)
#:use-module (gnu packages fonts)
+ #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
- #:use-module (gnu packages gdb)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages gdb)
#:use-module (gnu packages geo)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
- #:use-module (gnu packages graphviz)
#:use-module (gnu packages graphics)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages gsasl)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages icu4c)
- #:use-module (gnu packages inkscape)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages inkscape)
#:use-module (gnu packages java)
#:use-module (gnu packages jupyter)
#:use-module (gnu packages kerberos)
@@ -214,10 +216,10 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages monitoring)
#:use-module (gnu packages multiprecision)
- #:use-module (gnu packages networking)
#:use-module (gnu packages ncurses)
- #:use-module (gnu packages node)
+ #:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
+ #:use-module (gnu packages node)
#:use-module (gnu packages openstack)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pdf)
@@ -236,14 +238,15 @@
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
#:use-module (gnu packages regex)
- #:use-module (gnu packages sdl)
#:use-module (gnu packages scanner)
+ #:use-module (gnu packages sdl)
#:use-module (gnu packages search)
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages ssh)
#:use-module (gnu packages swig)
+ #:use-module (gnu packages tcl)
#:use-module (gnu packages terminals)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
@@ -254,24 +257,20 @@
#:use-module (gnu packages video)
#:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets)
- #:use-module (gnu packages base)
#:use-module (gnu packages xml)
- #:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
- #:use-module (gnu packages tcl)
- #:use-module (gnu packages bdw-gc)
- #:use-module (gnu packages serialization)
+ #:use-module (gnu packages xorg)
#:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix git-download)
- #:use-module (guix hg-download)
- #: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 gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
+ #:use-module (guix download)
+ #:use-module (guix hg-download)
+ #:use-module (guix git-download)
+ #:use-module (guix gexp)
+ #:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
@@ -1342,15 +1341,10 @@ threads.")
(sha256
(base32
"0bwkvjpjfyi9dgszzad9aww2vc00w3bczjnbifi92cp7wch2l923"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(native-inputs
- (list python-setuptools-scm python-tornado python-typeguard
+ (list python-setuptools-scm python-tornado-6 python-typeguard
python-pytest))
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda _ (invoke "pytest" "-vv"))))))
(home-page "https://github.com/jd/tenacity")
(synopsis "Retrying library for python")
(description "Tenacity is a general-purpose python library to simplify the
@@ -2693,48 +2687,32 @@ class.")
(define-public python-can
(package
(name "python-can")
- (version "4.0.0")
+ (version "4.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-can" version))
(sha256
(base32
- "0pcbdgdw94lc2sxd56w6wdsshrs9dd5d3wp0x4sfd0drzx32inar"))))
- (build-system python-build-system)
+ "1w5sdzxivpd3pw4pypwnjlksvfimdb93qnlddbrh5f13flhsgg8g"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'relax-version-requirements
- (lambda _
- (substitute* "setup.py"
- (("mock~=2\\.0") "mock")
- (("coverage<5") "coverage")
- (("pytest~=4\\.6") "pytest")
- (("pytest-timeout~=1\\.3") "pytest-timeout")
- (("pytest-cov.*") "pytest-cov\n")
- (("hypothesis~=4\\.56") "hypothesis"))))
- (add-after 'unpack 'fix-broken-tests
- ;; The tests try to run two scripts it expects should be
- ;; in PATH, but they aren't at this time (see:
- ;; https://github.com/hardbyte/python-can/issues/805).
- (lambda _
- (substitute* "test/test_scripts.py"
- (("\"can_logger\\.py --help\"") "")
- (("\"can_player\\.py --help\"") ""))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv" "test"
- ;; Disable tests which require specific CAN
- ;; drivers we have no package for in Guix.
- "--ignore" "test/test_interface_canalystii.py"
- ;; These tests fail with "OSError: [Errno 19]
- ;; No such device".
- "-k" "not BasicTestUdpMulticastBusIPv")))))))
+ (list
+ #:test-flags
+ #~(list
+ ;; TODO: Check if it could be packed:
+ ;; https://github.com/projectgus/python-canalystii
+ ;;
+ ;; Disable tests which require specific CAN drivers we have no
+ ;; package for in Guix.
+ "--ignore" "test/test_interface_canalystii.py"
+ ;; These tests fail with "OSError: [Errno 19] No such device".
+ "-k" "not BasicTestUdpMulticastBusIPv")))
(propagated-inputs
(list python-msgpack python-typing-extensions python-wrapt))
(native-inputs
- (list python-codecov
+ (list ;; python-canalystii ; Not packed yet
+ python-codecov
python-coverage
python-future
python-hypothesis
@@ -4419,6 +4397,58 @@ with sensible defaults out of the box.")
clickgen is using @code{anicursorgen} and @code{xcursorgen} under the hood.")
(license license:expat)))
+(define-public python-clickhouse-connect
+ (package
+ (name "python-clickhouse-connect")
+ (version "0.6.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ClickHouse/clickhouse-connect")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1s0lk7xdq8f351cmpbp6jidqi5zdazrdba7w7fxph0w8sd74amry"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ ;; All these tests require docker-compose
+ '(list "--ignore-glob=tests/integration_tests/*")
+ #:phases
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'patch-pyproject
+ (lambda _
+ ;; Our version of pytest is confused by this field.
+ (substitute* "pyproject.toml"
+ (("^env_files.*") ""))))
+ (add-before 'check 'build-extensions
+ (lambda _
+ ;; Cython extensions have to be built before running the tests.
+ (invoke "python" "setup.py" "build_ext" "--inplace"))))))
+ (propagated-inputs
+ (list python-arrow
+ python-certifi
+ python-lz4
+ python-numpy
+ python-orjson
+ python-pandas
+ python-pytz
+ python-sqlalchemy
+ python-urllib3
+ python-zstandard))
+ (native-inputs
+ (list python-cython
+ python-pytest))
+ (home-page "https://github.com/ClickHouse/clickhouse-connect")
+ (synopsis
+ "ClickHouse database core driver for Python, Pandas, and Superset")
+ (description
+ "This package provides a high performance core database driver for
+connecting ClickHouse to Python, Pandas, and Superset.")
+ (license license:asl2.0)))
+
(define-public python-cligj
(package
(name "python-cligj")
@@ -9411,6 +9441,28 @@ all the newest features of the standard @code{pathlib} can be used also on
older Python versions.")
(license license:expat)))
+(define-public python-pathy
+ (package
+ (name "python-pathy")
+ (version "0.10.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pathy" version))
+ (sha256
+ (base32
+ "12v196q3rai33cfzrmb9pqfqv7ailngssjdrzdf8gzym9hdygmjc"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs
+ (list python-dataclasses python-smart-open python-typer))
+ (native-inputs (list python-mock python-pytest))
+ (home-page "https://github.com/justindujardin/pathy")
+ (synopsis "Path interface for local and cloud bucket storage")
+ (description "Pathy is a python package (with type annotations) for
+working with Cloud Bucket storage providers using a @code{pathlib} interface.
+It provides @code{pathlib.Path} subclasses for local and cloud bucket
+storage.")
+ (license license:asl2.0)))
+
(define-public python-importlib-resources
(package
(name "python-importlib-resources")
@@ -10305,6 +10357,36 @@ you're careful. The @code{backcall} package provides a way of specifying the
callback signature using a prototype function.")
(license license:bsd-3)))
+(define-public python-pubmed-parser
+ (package
+ (name "python-pubmed-parser")
+ (version "0.3.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/titipata/pubmed_parser")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "195cmjjg7xdwjj5455h78q7jnxnccia07a19xwndhlkxv7vk9v60"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs
+ (list python-lxml
+ python-numpy
+ python-requests
+ python-six
+ python-unidecode))
+ (native-inputs
+ (list python-pytest
+ python-pytest-cov))
+ (home-page "https://github.com/titipata/pubmed_parser")
+ (synopsis "Parser for Pubmed Open-Access Subset and MEDLINE XML repository")
+ (description
+ "This package provides a Python parser for Pubmed Open-Access Subset and
+MEDLINE XML repository.")
+ (license license:expat)))
+
(define-public python-pure-eval
(package
(name "python-pure-eval")
@@ -15351,6 +15433,27 @@ provide an easy to use, pythonic and comprehensive Python interface to dialog.
This allows one to make simple text-mode user interfaces on Unix-like systems")
(license license:lgpl2.1)))
+(define-public python-confection
+ (package
+ (name "python-confection")
+ (version "0.0.4")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "confection" version))
+ (sha256
+ (base32
+ "1ksfn10zhnpkcj3y0c3xs4dznvc062bk62x4c3ig0dd6bn4gbpdi"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-pydantic python-srsly
+ python-typing-extensions))
+ (native-inputs (list python-pytest))
+ (home-page "https://github.com/explosion/confection")
+ (synopsis "Config system for Python")
+ (description "Confection is a lightweight library that offers a
+configuration system letting you conveniently describe arbitrary trees of
+objects.")
+ (license license:expat)))
+
(define-public python-configobj
(package
(name "python-configobj")
@@ -16408,7 +16511,7 @@ enhancements to optimization and data fitting problems.")
python-packaging
python-pillow
python-pyyaml
- python-tornado
+ python-tornado-6
python-typing-extensions))
(native-inputs
(list python-beautifulsoup4
@@ -17235,19 +17338,23 @@ checking library.")
(define-public python-codespell
(package
(name "python-codespell")
- (version "2.1.0")
+ (version "2.2.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "codespell" version))
(sha256
- (base32 "1r9y714cz8m894rxp7pyvicr1lw2iid24vz6fxbl5wzy8ibgxlqr"))))
- (build-system python-build-system)
+ (base32 "0fp8ihlj8q23qdfryj5pq8srl85vn8k8p6gq3zg9qz957i3j0ihb"))))
+ (build-system pyproject-build-system)
(inputs
(list python-chardet))
(native-inputs
- (list python-check-manifest python-flake8 python-pytest
- python-pytest-cov python-pytest-dependency))
+ (list python-flake8
+ python-pygments
+ python-pytest
+ python-pytest-cov
+ python-pytest-dependency
+ python-tomli))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -20481,6 +20588,59 @@ from the header, as well as section details and data available.")
Mustache templating language renderer.")
(license license:expat)))
+(define-public python-duckdb
+ (package
+ (name "python-duckdb")
+ (version "0.8.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "duckdb" version))
+ (sha256
+ (base32
+ "13y1gs565q51li5fi9m7fpf0sqns8frsaii6v95acwjhmdds73f6"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ '(list "--ignore=tests/slow/test_h2oai_arrow.py"
+ ;; Don't install anything, thank you.
+ "-k" "not test_install_non_existent_extension")
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Tests need this
+ (add-before 'check 'set-HOME
+ (lambda _ (setenv "HOME" "/tmp")))
+ (add-before 'build 'set-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)
+ (substitute* "setup.py"
+ (("\"setuptools_scm<7.0.0\",") ""))))
+ ;; Later versions of pybind replace "_" with "const_name".
+ (add-after 'unpack 'pybind-compatibility
+ (lambda _
+ (with-directory-excursion "src/include/duckdb_python"
+ (substitute* '("python_objects.hpp"
+ "pyfilesystem.hpp"
+ "pybind11/conversions/pyconnection_default.hpp")
+ (("const_name") "_"))))))))
+ (native-inputs
+ (list pybind11
+ python-fsspec
+ python-google-cloud-storage
+ python-mypy
+ python-numpy
+ python-pandas
+ python-psutil
+ python-pyarrow
+ python-pytest
+ python-pytest-runner
+ python-setuptools-scm))
+ (home-page "https://www.duckdb.org")
+ (synopsis "DuckDB embedded database")
+ (description "DuckDB is an in-process SQL OLAP database management
+system.")
+ (license license:expat)))
+
(define-public python-dulwich
(package
(name "python-dulwich")
@@ -26647,32 +26807,29 @@ the syntactic logic to configure and launch jobs in an execution environment.")
(define-public python-flit
(package
(name "python-flit")
- (version "3.5.1")
+ (version "3.8.0") ;same as python-flit-core
(source
(origin
(method url-fetch)
(uri (pypi-uri "flit" version))
(sha256
- (base32 "04152qj46sqbnlrj7ch9p7svjrrlpzbk0qr39g2yr0s4f5vp6frf"))))
- (build-system python-build-system)
+ (base32 "0dz9sp2zlhkmk6sm5gapbbb30f7xq3n3jn5zxx5pkp25ppsaiwnh"))))
+ (build-system pyproject-build-system)
(arguments
(list
+ #:test-flags
+ ;; These tests fail when FLIT_NO_NETWORK is set
+ '(list "-k" "not test_invalid_classifier \
+and not test_install_requires \
+and not test_install_requires_extra \
+and not test_validate_classifiers_private")
#:phases
#~(modify-phases %standard-phases
- ;; XXX: PEP 517 manual build copied from python-isort.
- (replace 'build
- (lambda _
- (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
- (replace 'check
+ (add-before 'check 'pre-check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
(setenv "HOME" "/tmp")
- (setenv "FLIT_NO_NETWORK" "1"))))
- (replace 'install
- (lambda _
- (let ((whl (car (find-files "dist" "\\.whl$"))))
- (invoke "pip" "--no-cache-dir" "--no-input"
- "install" "--no-deps" "--prefix" #$output whl)))))))
+ (setenv "FLIT_NO_NETWORK" "1")))))))
(propagated-inputs
(list python-pypa-build
python-tomli-w
@@ -31767,6 +31924,40 @@ uses the parsed regular expression, so you get a much more accurate result
than trying to just split strings.")
(license license:asl2.0)))
+(define-public python-srsly
+ (package
+ (name "python-srsly")
+ (version "2.4.6")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "srsly" version))
+ (sha256
+ (base32
+ "0vsafkvk4g0p5m0dqrczqvlyza837i20xxmb24rrqk5s78r1zd27"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'build-extensions
+ (lambda _
+ ;; Cython extensions have to be built before running the tests.
+ (invoke "python" "setup.py" "build_ext" "--inplace"))))))
+ (propagated-inputs (list python-catalogue))
+ (native-inputs
+ (list python-cython
+ python-pytest
+ python-pytest-timeout
+ python-mock
+ python-numpy
+ python-psutil))
+ (home-page "https://github.com/explosion/srsly")
+ (synopsis "Serialization utilities for Python")
+ (description "This package bundles some of the best Python serialization
+libraries into one standalone package, with a high-level API that makes it
+easy to write code that's correct across platforms and Pythons.")
+ (license license:expat)))
+
(define-public python-pyperf
(package
(name "python-pyperf")