diff options
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r-- | gnu/packages/python-xyz.scm | 616 |
1 files changed, 511 insertions, 105 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 5591210fce..a1e7ca1c0c 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 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 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> @@ -118,6 +118,8 @@ ;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org> ;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com> ;;; Copyright © 2022 drozdov <drozdov@portalenergy.tech> +;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io> +;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1262,6 +1264,29 @@ and verifies that it matches the intended target hostname.") for working with bidirectional mappings in Python.") (license license:mpl2.0))) +(define-public python-bip39 + (package + (name "python-bip39") + (version "0.0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "bip39" version)) + (sha256 + (base32 "18m7d3gi7vj2zi0bl1z7m0nhcj6i8j9vj4vil276siagnpkv64ry")))) + (build-system python-build-system) + (native-inputs (list python-pytest)) + (home-page "https://github.com/de-centralized-systems/python-bip39/") + (synopsis "Self-contained and simple BIP39 implementation in Python") + (description + "This package provides a self-contained and simple BIP39 +implementation written in Python. It includes a @code{bip39.py} executable. + +BIP39 is a standardized mapping between binary data (the @emph{entropy}), +and a list of words that are easier to remember for humans (the +@emph{mnemonic}).") + (license license:expat))) + (define-public python-bitarray (package (name "python-bitarray") @@ -1349,14 +1374,14 @@ NetCDF files can also be read and modified. Python-HDF4 is a fork of (define-public python-h5py (package (name "python-h5py") - (version "2.10.0") + (version "3.6.0") (source (origin (method url-fetch) (uri (pypi-uri "h5py" version)) (sha256 (base32 - "0baipzv8n93m0dq0riyi8rfhzrjrfrfh8zqhszzp1j2xjac2fhc4")))) + "0afv805vqrm5071g7alwv41920nhh8kjv4m5nbia9awj9a0x4ll7")))) (build-system python-build-system) (arguments `(#:tests? #f ; no test target @@ -1364,16 +1389,7 @@ NetCDF files can also be read and modified. Python-HDF4 is a fork of (modify-phases %standard-phases (add-after 'unpack 'fix-hdf5-paths (lambda* (#:key inputs #:allow-other-keys) - (let ((prefix (assoc-ref inputs "hdf5"))) - (substitute* "setup_build.py" - (("\\['/opt/local/lib', '/usr/local/lib'\\]") - (string-append "['" prefix "/lib" "']")) - (("'/opt/local/include', '/usr/local/include'") - (string-append "'" prefix "/include" "'"))) - (substitute* "setup_configure.py" - (("\\['/usr/local/lib', '/opt/local/lib'\\]") - (string-append "['" prefix "/lib" "']"))) - #t)))))) + (setenv "HDF5_DIR" (assoc-ref inputs "hdf5"))))))) (propagated-inputs (list python-six python-numpy)) (inputs @@ -1388,10 +1404,21 @@ HDF5 library from Python. The low-level interface is intended to be a complete wrapping of the HDF5 API, while the high-level component supports access to HDF5 files, datasets and groups using established Python and NumPy concepts.") - (license license:bsd-3))) + (license license:bsd-3) + (properties `((python2-variant . ,(delay python2-h5py)))))) (define-public python2-h5py - (package-with-python2 python-h5py)) + (let ((base (package-with-python2 (strip-python2-variant python-h5py)))) + (package + (inherit base) + (version "2.10.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "h5py" version)) + (sha256 + (base32 + "0baipzv8n93m0dq0riyi8rfhzrjrfrfh8zqhszzp1j2xjac2fhc4"))))))) (define-public python-hnswlib (package @@ -3882,14 +3909,14 @@ environments and back.") (define-public python-pyyaml (package (name "python-pyyaml") - (version "5.4.1") + (version "6.0") (source (origin (method url-fetch) (uri (pypi-uri "PyYAML" version)) (sha256 (base32 - "0pm440pmpvgv5rbbnm8hk4qga5a292kvlm1bh3x2nwr8pb5p8xv0")))) + "18imkjacvpxfgg1lbpraqywx3j7hr5dv99d242byqvrh2jf53yv8")))) (build-system python-build-system) (inputs (list libyaml python-cython)) @@ -3900,10 +3927,33 @@ environments and back.") complete YAML 1.1 parser, Unicode support, pickle support, capable extension API, and sensible error messages. PyYAML supports standard YAML tags and provides Python-specific tags that represent an arbitrary Python object.") - (license license:expat))) + (license license:expat) + (properties `((python2-variant . ,(delay python2-pyyaml)))))) + +(define-public python-pyyaml-5 + (package + (inherit python-pyyaml) + (version "5.4.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "PyYAML" version)) + (sha256 + (base32 + "0pm440pmpvgv5rbbnm8hk4qga5a292kvlm1bh3x2nwr8pb5p8xv0")))))) (define-public python2-pyyaml - (package-with-python2 python-pyyaml)) + (let ((base (package-with-python2 (strip-python2-variant python-pyyaml)))) + (package + (inherit base) + (version "5.4.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "PyYAML" version)) + (sha256 + (base32 + "0pm440pmpvgv5rbbnm8hk4qga5a292kvlm1bh3x2nwr8pb5p8xv0"))))))) (define-public python-vine (package @@ -4671,7 +4721,7 @@ ecosystem, but can naturally be used also by other projects.") (define-public python-robotframework (package (name "python-robotframework") - (version "4.1.3") + (version "5.0") ;; There are no tests in the PyPI archive. (source (origin @@ -4681,55 +4731,80 @@ ecosystem, but can naturally be used also by other projects.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0j71awmfkwk7prz82kr1zbcl3nrih3396sshrygnqlrdjmgivd3p")) + (base32 "0qcm36c8hachbv3bc05ky7cf63i3sj0y8dw3bwjvcln28i543f81")) (patches (search-patches - "python-robotframework-source-date-epoch.patch" - "python-robotframework-ug2html.patch")))) + "python-robotframework-atest.patch" + "python-robotframework-source-date-epoch.patch")))) (build-system python-build-system) (arguments - `(#:modules ((guix build python-build-system) + (list + #:modules '((guix build python-build-system) (guix build utils) (ice-9 ftw) (ice-9 match) (srfi srfi-26)) - #:phases - (modify-phases %standard-phases - (add-before 'build 'build-and-install-doc - (lambda* (#:key outputs #:allow-other-keys) - (let ((doc (string-append (assoc-ref outputs "doc") - "/share/doc/robotframework"))) - (invoke "invoke" "library-docs" "all") - (invoke "doc/userguide/ug2html.py" "dist") ;user guide - (mkdir-p doc) - (with-directory-excursion "dist" - (define user-guide-dir - (match (scandir "." (cut string-prefix? - "robotframework-userguide-" <>)) - ((dir) dir) - (_ (error "could not find the user guide directory")))) - (copy-recursively user-guide-dir doc))))) - (replace 'check - (lambda* (#:key native-inputs inputs tests? - #:allow-other-keys) - (when tests? - ;; Some tests require timezone data. Otherwise, they - ;; look up /etc/localtime, which doesn't exist, and - ;; fail with: - ;; - ;; OverflowError: mktime argument out of range - (setenv "TZDIR" - (search-input-directory - (or native-inputs inputs) "share/zoneinfo")) - (setenv "TZ" "Europe/Paris") - (invoke "python" "utest/run.py"))))))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'delete-problematic-tests + (lambda _ + ;; Tests such as 'Tilde and username in path' rely on HOME and + ;; USER being set, on top of the user's /etc/passwd home + ;; directory not being '/', as is the case in the Guix build + ;; container. + (delete-file "atest/robot/standard_libraries/\ +operating_system/path_expansion.robot") + ;; FIXME: The test 'Process.Sending Signal.By default signal + ;; is not sent to process running in shell' fails for unknown + ;; reason (see: + ;; https://github.com/robotframework/robotframework/issues/4292). + (delete-file "atest/robot/standard_libraries/\ +process/sending_signal.robot"))) + (add-before 'build 'build-and-install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "doc") + "/share/doc/robotframework"))) + (invoke "invoke" "library-docs" "all") + (invoke "doc/userguide/ug2html.py" "dist") ;user guide + (mkdir-p doc) + (with-directory-excursion "dist" + (define user-guide-dir + (match (scandir "." (cut string-prefix? + "robotframework-userguide-" <>)) + ((dir) dir) + (_ (error "could not find the user guide directory")))) + (copy-recursively user-guide-dir doc))))) + (replace 'check + (lambda* (#:key native-inputs inputs tests? + #:allow-other-keys) + (when tests? + ;; Some tests require timezone data. Otherwise, they + ;; look up /etc/localtime, which doesn't exist, and + ;; fail with: + ;; + ;; OverflowError: mktime argument out of range + (setenv "TZDIR" + (search-input-directory + (or native-inputs inputs) "share/zoneinfo")) + (setenv "TZ" "Europe/Paris") + + (format #t "Running unit tests...~%") + (invoke "utest/run.py") + + (format #t "Running acceptance tests...~%") + (invoke "xvfb-run" "atest/run.py"))))))) (native-inputs - `(("python-docutils" ,python-docutils) - ("python-jsonschema" ,python-jsonschema) - ("python-invoke" ,python-invoke) - ("python-pygments" ,python-pygments) - ("python-rellu" ,python-rellu) - ("python:tk" ,python "tk") ;used when building the HTML doc - ("tzdata" ,tzdata-for-tests))) + (list python-docutils + python-jsonschema + python-invoke + python-lxml + python-pygments + python-pyyaml + python-rellu + `(,python "tk") ;used when building the HTML doc + python-xmlschema + scrot ;for taking screenshots + tzdata-for-tests + xvfb-run)) (outputs '("out" "doc")) (home-page "https://robotframework.org") (synopsis "Generic automation framework") @@ -4814,6 +4889,38 @@ data files in the CSV, XLS or XLSX formats.") utility, a static analysis tool (linter) for Robot Framework source files.") (license license:asl2.0)))) +(define-public python-robotframework-pabot + (package + (name "python-robotframework-pabot") + (version "2.5.2") + (source + (origin + ;; There are no tests in the PyPI archive. + (method git-fetch) + (uri (git-reference + (url "https://github.com/mkorpela/pabot") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "14a8isq1f4lgfwjb84hhzg6jm7ns18dxa9bg6dy8k2ml8zl0qknk")))) + (build-system python-build-system) + (arguments + (list + #:phases #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv" "tests"))))))) + (propagated-inputs + (list python-robotframework python-robotframework-stacktrace)) + (native-inputs + (list python-pytest)) + (home-page "https://pabot.org") + (synopsis "Parallel test runner for Robot Framework") + (description "Pabot is a parallel executor for Robot Framework tests.") + (license license:asl2.0))) + (define-public python-robotframework-stacktrace (package (name "python-robotframework-stacktrace") @@ -7250,17 +7357,17 @@ a general image processing tool.") (package (inherit python-pillow) (name "python-pillow-simd") - (version "9.0.0") + (version "9.0.0.post1") ;; The PyPI tarball does not include test files. (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/uploadcare/pillow-simd") - (commit version))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0pxvfyzxzgk18mhm7xh5n19s88bpwaah5cm60p4c239phspzprdb")))) + (base32 "1dnvsln451aw3qy2cxg2ndd5mcanf5nrhxw9l7mcam730635hdm9")))) (inputs (modify-inputs (package-inputs python-pillow) (prepend libraqm libimagequant))) @@ -7561,7 +7668,17 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.") (uri (pypi-uri "PyWavelets" version)) (sha256 (base32 - "13csbr6ls9q9ww53z2xwwsj0hpsz88rj2iwp623h0kmv8yq6kgbc")))) + "13csbr6ls9q9ww53z2xwwsj0hpsz88rj2iwp623h0kmv8yq6kgbc")) + (snippet + #~(begin + (use-modules ((guix build utils))) + (for-each delete-file + (list + "pywt/_extensions/_cwt.c" + "pywt/_extensions/_dwt.c" + "pywt/_extensions/_pywt.c" + "pywt/_extensions/_pywt.h" + "pywt/_extensions/_swt.c")))))) (build-system python-build-system) (arguments '(#:modules ((ice-9 ftw) @@ -7579,7 +7696,8 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.") (with-directory-excursion (string-append cwd "/build/" libdir) (invoke "pytest" "-vv")))))))) (native-inputs - (list python-matplotlib ;for tests + (list python-cython + python-matplotlib ;for tests python-pytest)) (propagated-inputs (list python-numpy)) @@ -9811,6 +9929,58 @@ more advanced mathematics.") multiprecision arithmetic.") (license license:lgpl3+))) +(define-public python-plac + (package + (name "python-plac") + (version "1.3.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "plac" version)) + (sha256 + (base32 "1410h6jw1ksi24kb55xzkwqzba2qqjwiga1s354bf3s5s1jdig9q")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tkinter + (lambda _ + (substitute* "plac_tk.py" + (("from Tkinter import Tk") + "from tkinter import Tk") + (("from ScrolledText import ScrolledText") + "from tkinter.scrolledtext import ScrolledText"))))))) + (native-inputs + `(("python-tkinter" ,python "tk"))) + (home-page "https://github.com/ialbert/plac") + (synopsis "Command line arguments parser") + (description "This package can generate command line parameters from +function signatures.") + (license license:bsd-3))) + +(define-public python-yte + (package + (name "python-yte") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "yte" version)) + (sha256 + (base32 "07hm1warpqi4ifqgkaz5sg887x4a44yhxafmpf835ywnpchg4s03")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-HOME + (lambda _ (setenv "HOME" "/tmp")))))) + (propagated-inputs (list python-plac python-pyyaml)) + (home-page "https://github.com/koesterlab/yte") + (synopsis "YAML template engine with Python expressions") + (description + "This package provides a YAML template engine with Python expressions.") + (license license:expat))) + (define-public python-sympy (package (name "python-sympy") @@ -10677,6 +10847,34 @@ lints.") TODO notes checker plugin for flake8.") (license license:expat))) +(define-public python-flake8-isort + (package + (name "python-flake8-isort") + (version "4.1.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "flake8-isort" version)) + (sha256 + (base32 "05r7z0j9rqgy0a9261bhisairrz6w8hy5hy5kf2mhvhfnx53056q")))) + (build-system python-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv"))))))) + (propagated-inputs (list python-flake8 python-isort python-testfixtures)) + (native-inputs (list python-pytest)) + (home-page "https://github.com/gforcada/flake8-isort") + (synopsis "Flake8 plugin integrating isort") + (description "This package provides a flake8 plugin that integrates isort, +extending flake8 so that it can warn about badly sorted Python import +directives.") + (license license:gpl2+))) + (define-public python-autoflake (package (name "python-autoflake") @@ -10903,6 +11101,25 @@ output.") (description "This package contains a list of Python Standard Libraries.") (license license:expat))) +(define-public python-stopit + (package + (name "python-stopit") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "stopit" version)) + (sha256 + (base32 "0vcrcvky249q4rbgmwf18mwmnypfk8jpn4h6knyjf86r7xc9rwzp")))) + (build-system python-build-system) + (arguments '(#:tests? #f)) ;there are none + (home-page "https://pypi.python.org/pypi/stopit") + (synopsis "Timeout control decorator and context managers") + (description + "Raise asynchronous exceptions in other threads, control the timeout of +blocks or callables with two context managers and two decorators.") + (license license:expat))) + (define-public python-straight-plugin (package (name "python-straight-plugin") @@ -11231,6 +11448,17 @@ reading and writing MessagePack data.") (home-page "https://pypi.org/project/msgpack/") (license license:asl2.0))) +(define-public python-msgpack-1.0.2 + (package + (inherit python-msgpack) + (version "1.0.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "msgpack" version)) + (sha256 + (base32 + "1109s2yynrahwi64ikax68hx0mbclz8p35afmpphw5dwynb49q7s")))))) + ;; This msgpack library's name changed from "python-msgpack" to "msgpack" with ;; release 0.5. Some packages like borg still call it by the old name for now. ;; <https://bugs.gnu.org/30662> @@ -14080,13 +14308,12 @@ text.") (define-public python-moto (package (name "python-moto") - (version "2.2.12") + (version "3.1.4") (source (origin (method url-fetch) (uri (pypi-uri "moto" version)) (sha256 - (base32 - "0pvay0jp119lzzwf5qj5h6311271yq0w2i6344ds20grpf6g6gz8")))) + (base32 "0dfnad1f9d5ybabs69dzc7x357z1r4jbhrhgw57gyic1qnmcw864")))) (build-system python-build-system) (arguments `(#:phases @@ -14109,7 +14336,9 @@ text.") ;; These tests require Docker. " and not test_terminate_job" " and not test_invoke_function_from_sqs_exception" - " and not test_rotate_secret_lambda_invocations" + " and not test_create_custom_lambda_resource__verify_cfnresponse_failed" + " and not test_lambda_function" + ;; These tests also require the network. " and not test_put_record_batch_http_destination" " and not test_put_record_http_destination" @@ -14120,30 +14349,28 @@ text.") (list python-flask python-flask-cors python-freezegun - python-parameterized + python-graphql-core python-pytest python-sure)) (inputs (list bash-minimal)) (propagated-inputs (list python-aws-xray-sdk - python-boto python-boto3 python-botocore python-cfn-lint python-cryptography python-dateutil python-docker - python-idna + python-importlib-metadata python-jinja2 python-jose python-jsondiff - python-mock + python-markupsafe python-pytz python-pyyaml python-requests python-responses - python-six python-sshpubkeys python-werkzeug python-xmltodict)) @@ -14312,14 +14539,14 @@ servers.") (define-public python-jmespath (package (name "python-jmespath") - (version "0.9.4") + (version "1.0.0") (source (origin (method url-fetch) (uri (pypi-uri "jmespath" version)) (sha256 (base32 - "0k0765x1mybcrzajh3hiqkl8sy9hs0bmn4900frxy0j3ykvaxqmx")))) + "0pmzfi230zfgiq2rz896kbb9f7mp0lnrjdl6x1npvxfixn0f5454")))) (build-system python-build-system) (native-inputs (list python-nose)) @@ -14462,14 +14689,14 @@ This software is unmaintained, and new projects should use @code{boto3} instead. ;; are compatible. (package (name "python-botocore") - (version "1.22.11") + (version "1.24.35") (source (origin (method url-fetch) (uri (pypi-uri "botocore" version)) (sha256 (base32 - "1z7g2scyzvfq4yj9b4w911k7802ry1v6lqfnwq12l0ak7ywmsvrh")))) + "0rv8mvhq5s373zdjs2yb45hzvqcqdh2lp2rbb21jjc8ciwnl5d9n")))) (build-system python-build-system) (arguments ;; FIXME: Many tests are failing. @@ -14488,7 +14715,7 @@ interface to the Amazon Web Services (AWS) API.") (define-public python-boto3 (package (name "python-boto3") - (version "1.19.11") + (version "1.21.35") (home-page "https://github.com/boto/boto3") (source (origin (method git-fetch) @@ -14496,14 +14723,18 @@ interface to the Amazon Web Services (AWS) API.") (file-name (git-file-name name version)) (sha256 (base32 - "1wv0ci2z5ywvm63dh4mp64vqyyvkm4qxc8dxv8ncrqiiphpgr9aq")))) + "1kdyf238rpfldnpzs0rdh3nhjn6hwfym4faskyhzlgzkf1smmbg1")))) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'delete-network-tests ;; Deleting integration tests because they are trying to connect to AWS. (lambda _ - (delete-file-recursively "tests/integration")))))) + (delete-file-recursively "tests/integration"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-v"))))))) (build-system python-build-system) (native-inputs (list python-nose python-mock python-pytest)) @@ -18460,14 +18691,14 @@ multitouch applications.") (define-public python-pycountry (package (name "python-pycountry") - (version "18.5.26") + (version "22.3.5") (source (origin (method url-fetch) (uri (pypi-uri "pycountry" version)) (sha256 (base32 - "15q9j047s3yc9cfcxq1ch8b71f81na44cr6dydd5gxk0ki9a4akz")))) + "0ihnkh86zz01vi46gcwgq6h71jrpj7hq71zi13c98n2qdhj3l5mj")))) (build-system python-build-system) (home-page "https://bitbucket.org/flyingcircus/pycountry") (synopsis "ISO databases for languages, countries, currencies, etc.") @@ -21898,15 +22129,15 @@ working with iterables.") (define-public python-latexcodec (package (name "python-latexcodec") - (version "1.0.7") + (version "2.0.1") (source (origin (method url-fetch) (uri (pypi-uri "latexcodec" version)) (sha256 - (base32 "0wnp3yqcgx0rpy8dz51vh75lbp2qif67da19zi7m3ca98n887hgb")))) + (base32 "16pynfnn8y8xp55yp06i721fccv5dlx9ba6k5bzcwq9j6wf5b8ia")))) (build-system python-build-system) - (inputs + (propagated-inputs (list python-six)) (home-page "https://readthedocs.org/projects/latexcodec/") (synopsis "Work with LaTeX code in Python") @@ -21916,17 +22147,17 @@ working with iterables.") (define-public python-pybtex (package (name "python-pybtex") - (version "0.22.2") + (version "0.24.0") (source (origin (method url-fetch) (uri (pypi-uri "pybtex" version)) (sha256 - (base32 "070wfcmxrd7xg1si421mi9150gmx2qwx431nwf69sq3hhmgnx080")))) + (base32 "0ma7sc10hk6caq5zghbk865vrlaynz7x5z630z0facqpnqssx3l1")))) (build-system python-build-system) (native-inputs - (list python-nose)) - (inputs + (list python-pytest)) + (propagated-inputs (list python-latexcodec python-pyyaml python-six)) (arguments (list @@ -21934,7 +22165,7 @@ working with iterables.") (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? - (invoke "nosetests"))))))) + (invoke "pytest"))))))) (home-page "https://pybtex.org/") (synopsis "BibTeX-compatible bibliography processor") (description "Pybtex is a BibTeX-compatible bibliography processor written @@ -22337,7 +22568,7 @@ user-space file systems in Python.") (define-public pybind11 (package (name "pybind11") - (version "2.6.2") + (version "2.8.1") (source (origin (method git-fetch) (uri (git-reference @@ -22345,7 +22576,7 @@ user-space file systems in Python.") (commit (string-append "v" version)))) (sha256 (base32 - "1lsacpawl2gb5qlh0cawj9swsyfbwhzhwiv6553a7lsigdbadqpy")) + "10hrkrh78sk7k0ydw1ghmp7gvpwmkby0l2s0kf2iaj9sz0vijkhs")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (native-inputs @@ -22869,7 +23100,7 @@ N-dimensional arrays for Python.") (define-public python-anndata (package (name "python-anndata") - (version "0.7.8") + (version "0.8.0") (source (origin ;; The tarball from PyPi doesn't include tests. @@ -22880,18 +23111,12 @@ N-dimensional arrays for Python.") (file-name (git-file-name name version)) (sha256 (base32 - "1rrr9xfdaf00ixj5gyym75bl78gkaj55yfw3wjhvx0pdwqpwp9py")))) + "0v7npqrg1rdm8jzw22a45c0mqrmsv05r3k88i3lhzi0pzzxca1i1")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (delete 'check) - (add-before 'build 'relax-dependency-requirements - (lambda _ - ;; We need to upgrade python-pandas to avoid - ;; https://github.com/pandas-dev/pandas/issues/35446 - (substitute* "pyproject.toml" - (("pandas>=1.1.1") "pandas>=1.0.5")))) (replace 'build (lambda _ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" ,version) @@ -28188,13 +28413,13 @@ systems in Python.") (define-public python-dotenv (package (name "python-dotenv") - (version "0.19.2") + (version "0.20.0") (source (origin (method url-fetch) (uri (pypi-uri "python-dotenv" version)) (sha256 - (base32 "0pv5ygpr6syc6zkw21in4ysqs3k7qaxk9m1g5pzlafwm3silkpm5")))) + (base32 "13s9imfd0k4d7b1qy5wfqzw5vyj6rhmcrccsdz1l4g39b55b1qxp")))) (build-system python-build-system) (arguments `(#:phases @@ -28212,7 +28437,7 @@ systems in Python.") (list python-click)) (native-inputs (list python-mock python-pytest python-sh)) - (home-page "https://github.com/theskumar/python-dotenv") + (home-page "https://saurabh-kumar.com/python-dotenv/") (synopsis "Setup environment variables according to .env files") (description "This package provides the @code{python-dotenv} Python module to read @@ -29095,6 +29320,42 @@ multipurpose analysis in Python.") static types.") (license license:asl2.0))) +(define-public python-psycopg2-binary + (package + (name "python-psycopg2-binary") + (version "2.9.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "psycopg2-binary" version)) + (sha256 + (base32 + "0kpaxg3lg5wg5ww5kxmzi2z2d7arsx13ci915d8a2pf17lqza7bn")))) + (build-system python-build-system) + (inputs (list postgresql)) + (arguments + ;; Tests are disable because they need a live instance of PostgreSQL. + '(#:tests? #f)) + (home-page "https://psycopg.org/") + (synopsis "PostgreSQL database adapter for Python") + (description + "Psycopg is a PostgreSQL database adapter for the Python programming +language. Its main features are the complete implementation of the Python DB +API 2.0 specification and the thread safety (several threads can share the +same connection). It was designed for heavily multi-threaded applications +that create and destroy lots of cursors and make a large number of concurrent +@code{INSERT}s or @code{UPDATE}s. + +Psycopg 2 is mostly implemented in C as a libpq wrapper, resulting in +being both efficient and secure. It features client-side and +server-side cursors, asynchronous communication and notifications, +@code{COPY TO}/@code{COPY FROM} support. Many Python types are supported +out-of-the-box and adapted to matching PostgreSQL data types; +adaptation can be extended and customized thanks to a flexible objects +adaptation system. + +Psycopg 2 is both Unicode and Python 3 friendly.") + (license license:lgpl3+))) + (define-public python-pyfuse3 (package (name "python-pyfuse3") @@ -29227,3 +29488,148 @@ writing STL files. It supports both the text and binary forms of STL.") (description "This package provides a streaming multipart parser for Python.") (license license:asl2.0))) + +(define-public python-aiopg + (package + (name "python-aiopg") + (version "1.3.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "aiopg" version)) + (sha256 + (base32 + "1mwmypsfzh8adjbyvf7kqv9h3k1kf5ykhi1g3ahw4wqdxaj6nz2l")))) + (build-system python-build-system) + (native-inputs (list python-sqlalchemy)) + (propagated-inputs (list python-async-timeout python-psycopg2-binary)) + (home-page "https://aiopg.readthedocs.io") + (synopsis "Postgres integration with asyncio") + (description + "aiopg is a library for accessing a PostgreSQL +database from the asyncio (PEP-3156/tulip) framework. It wraps +asynchronous features of the Psycopg database driver.") + (license license:bsd-3))) + +(define-public python-verspec + (package + (name "python-verspec") + (version "0.1.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "verspec" version)) + (sha256 + (base32 + "07n06wv85fm4vl1ird2mja0823js3x322wgs9gdnq1djjyk4ql64")))) + (build-system python-build-system) + (native-inputs (list python-coverage python-flake8 python-mypy + python-pretend python-pytest)) + (arguments + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "touch" "test/__init__.py") + (invoke "pytest"))))))) + (home-page "https://github.com/jimporter/verspec") + (synopsis "Flexible version handling for Python") + (description + "This Python library handles software versions and specifiers. It is +adapted from the @code{packaging} package.") + (license (list license:bsd-2 license:asl2.0)))) + +(define-public python-shtab + (package + (name "python-shtab") + (version "1.5.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "shtab" version)) + (sha256 + (base32 "127mymfm7r0hddk2vknqq34fj6dirj6ip990i3g4isx0lsd7pnsc")))) + (build-system python-build-system) + (native-inputs + (list bash + python-pytest + python-pytest-cov + python-pytest-timeout + python-setuptools-scm + python-wheel)) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace + 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "pytest"))))))) + (home-page "https://github.com/iterative/shtab") + (synopsis "Automagic shell tab completion for Python CLI applications") + (description + "This package automatically generates shell tab completion scripts for +Python CLI apps.") + (license license:asl2.0))) + +(define-public python-sre-yield + (package + (name "python-sre-yield") + (version "1.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "sre_yield" version)) + (sha256 + (base32 + "12kv3mvdr22g2v9wfr5aabh1f58s817dbh8mrlfzxzxs7hm1lkz9")))) + (build-system python-build-system) + (native-inputs (list python-nose)) + (home-page "https://github.com/google/sre_yield") + (synopsis "Expands a regular expression to its possible matches") + (description + "The goal of sre_yield is to efficiently generate all values that can +match a given regular expression, or count possible matches efficiently. It +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-hypy-utils + (package + (name "python-hypy-utils") + (version "1.0.6") + (source (origin + (method url-fetch) + (uri (pypi-uri "hypy_utils" version)) + (sha256 + (base32 + "05csk0x8ivavq88x457cq5hwjcdirfbkzj7bbg5qgnpnf2dxxhiw")))) + (build-system python-build-system) + (home-page "https://github.com/hykilpikonna/HyPyUtils") + (synopsis "Python utility functions for HyDEV") + (description "This module provides Python utility functions for modifying +and setting the color of terminal output, via HyDEV.") + (license license:expat))) + +(define-public python-mike + (package + (name "python-mike") + (version "1.1.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "mike" version)) + (sha256 + (base32 + "0yxp816x7s948xsd0fifvq9shg01xdxlifd9rzf5y2rd9iwz3hsn")))) + (build-system python-build-system) + (native-inputs + (list python-coverage python-flake8 python-shtab)) + (propagated-inputs + (list python-jinja2 python-mkdocs python-pyyaml python-verspec)) + (home-page "https://github.com/jimporter/mike") + (synopsis "Manage multiple versions of MkDocs-powered documentation") + (description + "This package provides a Python utility to easily deploy multiple +versions of MkDocs-powered docs to a Git branch. It is suitable for deploying +to Github via gh-pages.") + (license license:bsd-3))) |