diff options
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r-- | gnu/packages/python-xyz.scm | 536 |
1 files changed, 392 insertions, 144 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index de2fecd0fc..5591210fce 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2017, 2021 Eric Bavier <bavier@posteo.net> @@ -11,7 +11,7 @@ ;;; 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> -;;; Copyright © 2015, 2016, 2017, 2019 Leo Famulari <leo@famulari.name> +;;; Copyright © 2015, 2016, 2017, 2019, 2022 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015, 2017 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2015, 2016 Erik Edrosa <erik.edrosa@gmail.com> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> @@ -116,6 +116,8 @@ ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org> +;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com> +;;; Copyright © 2022 drozdov <drozdov@portalenergy.tech> ;;; ;;; This file is part of GNU Guix. ;;; @@ -229,6 +231,7 @@ #:use-module (gnu packages serialization) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix hg-download) #:use-module (guix gexp) @@ -240,6 +243,24 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-26)) +(define-public python-xmldiff + (package + (name "python-xmldiff") + (version "2.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "xmldiff" version)) + (sha256 + (base32 "0qygxi3z1jwb0471k7bh5gcqf7wqm4xhrkmwhf36gjgjw46a5gh5")))) + (build-system python-build-system) + (propagated-inputs (list python-lxml python-six)) + (home-page "https://github.com/Shoobx/xmldiff") + (synopsis "Creates diffs of XML files") + (description "This Python tool figures out the differences between two +similar XML files, in the same way the @command{diff} utility does it.") + (license license:expat))) + (define-public python-janus (package (name "python-janus") @@ -984,13 +1005,13 @@ access the technical and tag data for video and audio files.") (define-public python-psutil (package (name "python-psutil") - (version "5.8.0") + (version "5.9.0") (source (origin (method url-fetch) (uri (pypi-uri "psutil" version)) (sha256 - (base32 "1immnj532bnnrh1qmk5q3lsw3san8qfk9kxy1cpmy0knmfcwp70c")))) + (base32 "09fa4vfhansixvxd3lv664xcrbnfdyfn53hm2wr0rf3bsvdl5646")))) (build-system python-build-system) (arguments ;; FIXME: some tests do not return and time out. Some tests fail because @@ -2764,12 +2785,6 @@ system is highly configurable via command line options and embedded commands.") (license license:lgpl2.1+))) -(define-public python2-empy - (let ((base (package-with-python2 (strip-python2-variant python-empy)))) - (package/inherit base - (arguments `(,@(package-arguments base) - #:tests? #t))))) - (define-public python2-element-tree (package (name "python2-element-tree") @@ -3156,6 +3171,41 @@ server.") "@code{pafy} is a python library to retrieve YouTube content and metadata.") (license license:lgpl3+))) +(define-public python-miniupnpc + (package + (name "python-miniupnpc") + (version "2.2.3") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/miniupnp/miniupnp") + (commit + (string-append + "miniupnpc_" (string-replace-substring version "." "_"))))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "03q1rlzvfzm15g1bfw2zqzavlsyaypnaf2k3cz6ha7k5rirkdy0l")))) + (build-system python-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'subdir + (lambda* (#:key inputs #:allow-other-keys) + (chdir "miniupnpc") + (setenv "CC" #$(cc-for-target)) + (substitute* "Makefile" + (("/bin/sh") (search-input-file inputs "/bin/sh")))))))) + (inputs (list python)) ;we are building a Python extension + (synopsis "UPnP client for Python") + (description "Miniupnpc is a client library for Python programs to set up +port forwards using @acronym{UPnP, Universal Plug and Play}.") + (home-page "http://miniupnp.free.fr") + (license license:bsd-3))) + (define-public python2-funcsigs (package (name "python2-funcsigs") @@ -4621,7 +4671,7 @@ ecosystem, but can naturally be used also by other projects.") (define-public python-robotframework (package (name "python-robotframework") - (version "4.1.2") + (version "4.1.3") ;; There are no tests in the PyPI archive. (source (origin @@ -4631,39 +4681,54 @@ ecosystem, but can naturally be used also by other projects.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0s6lakbd8h1pa4lfdj18sm13gpywszgpcns4hz026a4kam787kby")) + (base32 "0j71awmfkwk7prz82kr1zbcl3nrih3396sshrygnqlrdjmgivd3p")) (patches (search-patches - "python-robotframework-source-date-epoch.patch")))) + "python-robotframework-source-date-epoch.patch" + "python-robotframework-ug2html.patch")))) (build-system python-build-system) (arguments - `(#:phases (modify-phases %standard-phases - (add-before 'build 'build-and-install-doc - (lambda* (#:key outputs #:allow-other-keys) - (let* ((doc-output (assoc-ref outputs "doc")) - (doc (string-append doc-output "/share/" - ,name "-" ,version "/"))) - (invoke "invoke" "library-docs" "all") - (mkdir-p doc) - (copy-recursively "doc/libraries" - (string-append doc "/libraries"))))) - (replace 'check - (lambda* (#:key inputs #:allow-other-keys) - ;; 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 inputs "share/zoneinfo")) - (setenv "TZ" "Europe/Paris") - - (invoke "python" "utest/run.py")))))) + `(#: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"))))))) (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 + ("python:tk" ,python "tk") ;used when building the HTML doc ("tzdata" ,tzdata-for-tests))) (outputs '("out" "doc")) (home-page "https://robotframework.org") @@ -4676,20 +4741,17 @@ process automation (RPA).") (define-public python-robotframework-datadriver (package (name "python-robotframework-datadriver") - (version "1.5.0") + (version "1.6.0") (source (origin (method url-fetch) (uri (pypi-uri "robotframework-datadriver" version)) (sha256 - (base32 "1kv6h47850gdqr8azknkh81z7hw6yz5pjn53mkn71ly4szw4pqb7")))) + (base32 "0qa2vry8jr49k5rbrvmkgggzsmis1wv06dp5dvwmp7afm7vjc51k")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-readme-file-name - (lambda _ - (rename-file "Readme.rst" "README.rst"))) (add-before 'check 'skip-problematic-tests (lambda _ ;; The test file 'tab-csv-file-name.tsv' contains special @@ -4784,7 +4846,7 @@ trace directly to the terminal to ease debugging.") (define-public python-robotframework-sshlibrary (package (name "python-robotframework-sshlibrary") - (version "3.7.0") + (version "3.8.0") ;; There are no tests in the PyPI archive. (source (origin @@ -4795,16 +4857,18 @@ trace directly to the terminal to ease debugging.") (file-name (git-file-name name version)) (sha256 (base32 - "09ak22rh9qa9wlpvhkliyybcp4xafjhxsps28wz0pf0030771xav")))) + "1fn72hw7xacjjpl4dd6wynh2x63i9rk8iqhj3v640db21qpcnbkw")) + (patches (search-patches + "python-robotframework-sshlibrary-rf5-compat.patch")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-before 'build 'build-and-install-doc (lambda* (#:key outputs #:allow-other-keys) - (let* ((doc-output (assoc-ref outputs "doc")) - (doc (string-append doc-output "/share/" - ,name "-" ,version "/"))) + (let ((doc (string-append + (assoc-ref outputs "doc") + "/share/doc/robotframework-sshlibrary"))) (invoke "chmod" "-R" "+w" "docs") (invoke "invoke" "kw-docs" "project-docs") (mkdir-p doc) @@ -5866,7 +5930,7 @@ readable format.") texlive-latex-upquote texlive-url texlive-latex-varwidth - texlive-latex-wrapfig))) + texlive-wrapfig))) ("texinfo" ,texinfo) ("perl" ,perl) ("scipy-sphinx-theme" @@ -7787,9 +7851,12 @@ etc. The core of this module is a decorator factory.") ;; The test suite requires libdrmaa which is provided by the cluster ;; environment. At runtime the environment variable DRMAA_LIBRARY_PATH ;; should be set to the path of the libdrmaa library. - (arguments '(#:tests? #f)) - (native-inputs - (list python-nose)) + (arguments + '(#:tests? #f + #:phases (modify-phases %standard-phases + ;; Loading the library fails because DRMAA_LIBRARY_PATH + ;; is not configured. + (delete 'sanity-check)))) (home-page "https://pypi.org/project/drmaa/") (synopsis "Python bindings for the DRMAA library") (description @@ -7895,7 +7962,10 @@ you to actually draw things with your favorite toolkit.") (base32 "0v0sgpg6pz8h61f9aqjf5xk0ipr512bbz8dxzjjylksj135qr19l")))) (build-system python-build-system) (arguments - '(#:tests? #f)) ; FIXME: Requires python-cherrypy. + '(#:tests? #f ;FIXME: Requires python-cherrypy. + #:phases (modify-phases %standard-phases + ;; Importing the web server module requires cherrypy, too. + (delete 'sanity-check)))) (propagated-inputs (list python-psutil python-drmaa python-pyzmq)) (home-page "https://github.com/pygridtools/gridmap") @@ -8957,7 +9027,7 @@ computing.") texlive-latex-upquote texlive-url texlive-latex-varwidth - texlive-latex-wrapfig))) + texlive-wrapfig))) ("texinfo" ,texinfo))))) (define-public python-urwid @@ -12728,39 +12798,7 @@ time.") ;;("python-pyppeteer" ,python-pyppeteer) ("python-pytest" ,python-pytest) ("python-pytest-cov" ,python-pytest-cov) - ("python-pytest-dependency" ,python-pytest-dependency) - ("texlive" ,(texlive-updmap.cfg (list texlive-adjustbox - texlive-amsfonts - texlive-booktabs - texlive-caption - texlive-enumitem - texlive-eurosym - texlive-fonts-rsfs - texlive-generic-iftex - texlive-jknappen - texlive-latex-amsmath - texlive-latex-fancyvrb - texlive-latex-float - texlive-fontspec - texlive-latex-geometry - texlive-grffile - texlive-hyperref - texlive-latex-jknapltx - texlive-latex-ms - texlive-oberdiek - texlive-latex-parskip - texlive-latex-trimspaces - texlive-latex-upquote - texlive-latex-ucs - texlive-lm - texlive-mathpazo - texlive-stringenc - texlive-tcolorbox - texlive-titling - texlive-tools - texlive-ulem - texlive-xcolor - texlive-zapfding))))) + ("python-pytest-dependency" ,python-pytest-dependency))) (propagated-inputs (list python-bleach python-defusedxml @@ -12776,7 +12814,40 @@ time.") python-testpath python-traitlets ;; Required, even if [serve] is not used. - python-tornado-6)) + python-tornado-6 + ;; Required at runtime for `jupyter nbconvert --to=pdf`. + (texlive-updmap.cfg (list texlive-adjustbox + texlive-amsfonts + texlive-booktabs + texlive-caption + texlive-enumitem + texlive-eurosym + texlive-fonts-rsfs + texlive-generic-iftex + texlive-jknappen + texlive-latex-amsmath + texlive-latex-fancyvrb + texlive-latex-float + texlive-fontspec + texlive-latex-geometry + texlive-grffile + texlive-hyperref + texlive-latex-jknapltx + texlive-latex-ms + texlive-oberdiek + texlive-latex-parskip + texlive-latex-trimspaces + texlive-latex-upquote + texlive-latex-ucs + texlive-lm + texlive-mathpazo + texlive-stringenc + texlive-tcolorbox + texlive-titling + texlive-tools + texlive-ulem + texlive-xcolor + texlive-zapfding)))) (home-page "https://jupyter.org") (synopsis "Converting Jupyter Notebooks") (description "The @code{nbconvert} tool, @{jupyter nbconvert}, converts @@ -13919,20 +13990,8 @@ concurrent.futures package from Python 3.2") (synopsis "Promises/A+ implementation for Python") (description "Promises/A+ implementation for Python") - (properties `((python2-variant . ,(delay python2-promise)))) (license license:expat))) -(define-public python2-promise - (let ((promise (package-with-python2 - (strip-python2-variant python-promise)))) - (package/inherit promise - (arguments (substitute-keyword-arguments (package-arguments promise) - ((#:tests? _) #t))) - (native-inputs - `(("python2-futures" ,python2-futures) - ("python2-pytest" ,python2-pytest) - ,@(package-native-inputs promise)))))) - (define-public python-progressbar2 (package (name "python-progressbar2") @@ -14040,13 +14099,15 @@ text.") (substitute* (find-files "tests" "\\.py$") (("#!/bin/bash") (string-append "#!" bash-exec)))))) (replace 'check - (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (lambda* (#:key tests? #:allow-other-keys) (when tests? - (add-installed-pythonpath inputs outputs) (invoke "pytest" "-vv" "-m" "not network" "-k" (string-append + ;; XXX: This test is timing sensitive and may + ;; fail non-deterministically. + "not test_cancel_pending_job" ;; These tests require Docker. - "not test_terminate_job" + " and not test_terminate_job" " and not test_invoke_function_from_sqs_exception" " and not test_rotate_secret_lambda_invocations" ;; These tests also require the network. @@ -14063,7 +14124,7 @@ text.") python-pytest python-sure)) (inputs - `(("bash" ,bash-minimal))) + (list bash-minimal)) (propagated-inputs (list python-aws-xray-sdk python-boto @@ -14713,6 +14774,27 @@ It is maintained by the Celery project, and used by kombu as a pure python alternative when librabbitmq is not available.") (license license:lgpl2.1+))) +(define-public python-beniget + (package + (name "python-beniget") + (version "0.4.1") + (home-page "https://github.com/serge-sans-paille/beniget") + (source + (origin + (method url-fetch) + (uri (pypi-uri "beniget" version)) + (sha256 + (base32 "035c4f78yllpw2c5p1w92520rilm7nnpsqh7yvi3qmfhi8xlnmbm")))) + (build-system python-build-system) + (propagated-inputs + (list python-gast)) + (synopsis "Extract semantic information about static Python code") + (description + "Beniget is a collection of analyzers for Python @acronym{AST, +Abstract Syntax Tree}. It is a building block for writing a static analyzer +or compiler for Python.") + (license license:bsd-3))) + (define-public python-txamqp (package (name "python-txamqp") @@ -14956,7 +15038,7 @@ ISO 8859, etc.).") (list qtbase-5)) (propagated-inputs (list python-h5py python-numpy python-pyopengl python-scipy - python-pyqt)) + python-pyqt-without-qtwebkit)) (home-page "http://www.pyqtgraph.org") (synopsis "Scientific graphics and GUI library for Python") (description @@ -16974,7 +17056,7 @@ characters, mouse support, and auto suggestions.") (invoke "python" "-m" "pytest" "-vv")) #t))))) (native-inputs - (list python-colorama python-docopt python-django-2.2 python-pytest)) + (list python-colorama python-docopt python-pytest)) (propagated-inputs (list python-parso)) (home-page "https://github.com/davidhalter/jedi") @@ -17526,9 +17608,6 @@ multitouch applications.") ;; number of files with other licenses. (list license:gpl2+ license:asl2.0 license:lgpl2.1+ license:cc-by-sa3.0)))) -(define-public python2-odfpy - (package-with-python2 python-odfpy)) - (define-public python-natsort (package (name "python-natsort") @@ -17844,17 +17923,29 @@ multitouch applications.") (define-public python-pyelftools (package (name "python-pyelftools") - (version "0.25") + (version "0.28") + (home-page "https://github.com/eliben/pyelftools") (source (origin - (method url-fetch) - (uri (pypi-uri "pyelftools" version)) + (method git-fetch) + (uri (git-reference (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "090vdksbz341f7ljvr0zswblw4lspa8qaiikzyjkf318arpxmil9")))) + (base32 "1z4fx39c9rds0bd4d2fjjq7n05b1nfxl36pmy523x8knm38l4gpr")) + (snippet + ;; Delete bundled readelf executable. + '(delete-file "test/external_tools/readelf")))) (build-system python-build-system) - (home-page - "https://github.com/eliben/pyelftools") + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Taken from tox.ini. + (invoke "python" "test/run_all_unittests.py") + (invoke "python" "test/run_examples_test.py") + (invoke "python" "test/run_readelf_tests.py"))))))) (synopsis "Analyze binary and library file information") (description "This Python library provides interfaces for parsing and @@ -20122,13 +20213,13 @@ class ShellOutSSHClientTests")))) (define-public python-regex (package (name "python-regex") - (version "2020.6.8") + (version "2022.1.18") (source (origin (method url-fetch) (uri (pypi-uri "regex" version)) (sha256 (base32 - "1b3k0zi1pd99q5mk7ri7vcx2y1mq5inm9hk8dryqyhrpkmh4xdp9")))) + "05ir92d0cmv8wkafn3r05j5q47l6shg7cpdblp2a8m407b02vwwp")))) (build-system python-build-system) (arguments '(#:phases @@ -20543,32 +20634,6 @@ executed more than a given number of times during a given period.") (define-public python2-ratelimiter (package-with-python2 python-ratelimiter)) -(define-public python-dukpy - (package - (name "python-dukpy") - (version "0.3") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kovidgoyal/dukpy") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "13h21nqzasv4zj32xs61brmc106pr2cx243672crcmwxxnjgaxls")))) - (build-system python-build-system) - (home-page "https://github.com/kovidgoyal/dukpy") - (synopsis "Run JavaScript in python") - (description - "dukpy is a JavaScript runtime environment for Python using the duktape -embeddable JavaScript engine.") - ;; Dukpy is licensed under MIT like the embedded duktape library, - ;; with 'errors.c' as GPL3. - (license (list license:expat license:gpl3)))) - -(define-public python2-dukpy - (package-with-python2 python-dukpy)) - (define-public python-jsonrpclib-pelix (package (name "python-jsonrpclib-pelix") @@ -23777,6 +23842,40 @@ a mypy plugin that smooths over some limitations in the basic type hints. ;; Either license applies. (license (list license:expat license:asl2.0)))) +(define-public python-trio-websocket + (package + (name "python-trio-websocket") + (version "0.9.2") + (source + (origin + (method git-fetch) ;no tests in pypi archive + (uri (git-reference + (url "https://github.com/HyperionGray/trio-websocket") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1yk2ak991kbl30xg8ldpggack1lwkizd7s5cpr28ir34z8iyjnpi")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? (invoke "pytest" "-vv"))))))) + (native-inputs (list python-pytest python-pytest-trio python-trustme)) + (propagated-inputs (list python-async-generator python-trio python-wsproto)) + (home-page "https://github.com/HyperionGray/trio-websocket") + (synopsis "WebSocket library for Trio") + (description "This library implements both server and client aspects of +the @url{https://tools.ietf.org/html/rfc6455, the WebSocket protocol}, +striving for safety, correctness, and ergonomics. It is based on the +@url{https://wsproto.readthedocs.io/en/latest/, wsproto project}, which is a +@url{https://sans-io.readthedocs.io/, Sans-IO} state machine that implements +the majority of the WebSocket protocol, including framing, codecs, and events. +This library handles I/O using @url{https://trio.readthedocs.io/en/latest/, +the Trio framework}.") + (license license:expat))) + (define-public python-humanize (package (name "python-humanize") @@ -24598,6 +24697,22 @@ itself.") (base32 "1p5h3dnpbsjmqrvil96s71asc6i3gpinmbrabqmwnrsxprz7r3ns")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda _ + ;; Fix test failures on Python 3.9.9+. + ;; Taken via <https://github.com/neithere/argh/issues/148>. + (substitute* "test/test_integration.py" + (("assert run\\(p, '(bar|orig-name|nest bar)', exit=True\\)\ +\\.startswith\\('invalid choice'\\)" _ name) + (string-append "assert 'invalid choice' in \ +run(p, '" name "', exit=True)"))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv"))))))) (propagated-inputs (list python-iocapture python-mock python-pytest python-pytest-cov python-pytest-xdist)) @@ -25985,7 +26100,7 @@ dictionaries.") (define-public pyzo (package (name "pyzo") - (version "4.12.0") + (version "4.12.3") (source (origin (method git-fetch) @@ -25995,7 +26110,7 @@ dictionaries.") (file-name (git-file-name name version)) (sha256 (base32 - "0ndiplnz2d5qc6ppjhfwl4zswn79q6732s4vlkaw8xwc3kjrql5b")))) + "0v6rgp52bf9za2spxx9c1yc6wmskvlsj81iw0gipjy7y8vpypgn2")))) (build-system python-build-system) (arguments `(#:phases @@ -28979,3 +29094,136 @@ multipurpose analysis in Python.") "This packages provides a collection of library stubs for Python, with static types.") (license license:asl2.0))) + +(define-public python-pyfuse3 + (package + (name "python-pyfuse3") + (version "3.2.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyfuse3" version)) + (sha256 + (base32 "0cvybynv9igssfa4l13q09gb6m7afmwk34wsbq8jk14sqpd4dl92")))) + (build-system python-build-system) + (native-inputs (list pkg-config)) + (inputs (list fuse-3)) + (propagated-inputs (list python-pytest-trio)) + (home-page "https://github.com/libfuse/pyfuse3") + (synopsis "Python bindings FUSE 3") + (description "This package provides Python 3 bindings for libfuse 3 with +async I/O support.") + (license license:gpl2+))) + +(define-public python-ansicolors + (package + (name "python-ansicolors") + (version "1.1.8") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ansicolors" version ".zip")) + (sha256 + (base32 "1q3jqglkq4z0f6nkkn8bswcwqg012i2grrc27kabr8286dg4zycr")))) + (build-system python-build-system) + (native-inputs + (list python-tox + python-pytest-cov + unzip)) + (home-page "https://github.com/jonathaneunice/colors/") + (synopsis "ANSI colors for Python") + (description + "This package adds ANSI colors and decorations to your strings.") + (license license:isc))) + +(define-public python-types-ujson + (package + (name "python-types-ujson") + (version "4.2.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "types-ujson" version)) + (sha256 + (base32 + "0k9n9hsq4k2zaakdwbkcsvi7m8d3mv2y9yl6f171y58ld4qpcxcy")))) + (build-system python-build-system) + (home-page "https://github.com/python/typeshed") + (synopsis "Typing stubs for ujson") + (description + "This is a PEP 561 type stub package for the ujson package. It can be +used by type-checking tools like mypy, PyCharm, pytype etc. to check code that +uses ujson.") + (license license:asl2.0))) + +(define-public python-stltools + (package + (name "python-stltools") + (version "2022.01.20") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rsmith-nl/stltools") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1k6dhszza4lpy46qffaqx5zr70ikfqqysbacy7zabnrvz09fd4rs")))) + (build-system python-build-system) + (arguments + `(#:use-setuptools? #f + #:phases + (modify-phases %standard-phases + (delete 'build) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((moddir (string-append (site-packages inputs outputs) "/stltools")) + (bindir (string-append (assoc-ref outputs "out") "/bin"))) + (copy-recursively "stltools" moddir) + (mkdir-p bindir) + (for-each + (lambda (script) + (let ((source (string-append script ".py")) + (target (string-append bindir "/" script))) + (copy-file source target) + (chmod target #o555))) + '("stl2pov" "stl2ps" "stl2pdf" "stlinfo"))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "py.test" "-v"))))))) + (propagated-inputs (list python-pycairo)) + (native-inputs (list python-pytest)) + (home-page "https://github.com/rsmith-nl/stltools") + (synopsis "Python modules and scripts for handling STL files") + (description "This package consists of Python modules and scripts for +manipulating stereolithography (STL) files. It can convert STL files into +POV-ray meshes, PDF and PostScript. The Python modules allow for reading and +writing STL files. It supports both the text and binary forms of STL.") + (license license:expat))) + +(define-public python-multipart + (package + (name "python-multipart") + (version "0.0.5") + (source (origin + (method url-fetch) + (uri (pypi-uri "python-multipart" version)) + (sha256 + (base32 + "0hzshd665rl1bkwvaj9va4j3gs8nmb478fbvligx20663xhmzfzp")))) + (build-system python-build-system) + (propagated-inputs (list python-six)) + (native-inputs (list python-pyyaml python-mock python-pytest-cov)) + (arguments + `(#:phases (modify-phases %standard-phases + ;; There is a bug in the test_suit specification. + (add-after 'unpack 'patch-test-suite + (lambda _ + (substitute* "setup.py" + (("test_suite = 'multipart.tests.suite'") + "test_suite = 'multipart.tests.test_multipart.suite'"))))))) + (home-page "https://github.com/andrew-d/python-multipart") + (synopsis "Streaming multipart parser for Python") + (description + "This package provides a streaming multipart parser for Python.") + (license license:asl2.0))) |