X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/e318c3a6aa7b0bc07d84ccbdf8d1ca90a39d34d3..ed6da8ac6c5dcb6fa0858707187b0a507668e086:/gnu/packages/python-xyz.scm diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index affeeb080e..acde5a5e5e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2015, 2017 Ben Woodcroft ;;; Copyright © 2015, 2016 Erik Edrosa ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner -;;; Copyright © 2015, 2017 Kyle Meyer +;;; Copyright © 2015, 2017, 2020 Kyle Meyer ;;; Copyright © 2015, 2016 Chris Marusich ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2016 Lukas Gradl @@ -719,18 +719,6 @@ etc. ") (define-public python2-babel (package-with-python2 python-babel)) -;; Sphinx < 2.0 requires this version. Remove once no longer needed. -(define-public python2-babel-2.6 - (package - (inherit python2-babel) - (version "2.6.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "Babel" version)) - (sha256 - (base32 - "08rxmbx2s4irp0w0gmn498vns5xy0fagm0fg33xa772jiks51flc")))))) - (define-public python2-backport-ssl-match-hostname (package (name "python2-backport-ssl-match-hostname") @@ -1001,13 +989,13 @@ to users of that module.") (define-public python-license-expression (package (name "python-license-expression") - (version "0.999") + (version "1.2") (source (origin (method url-fetch) (uri (pypi-uri "license-expression" version)) (sha256 - (base32 "08ppb0bxbrsxazy88sgpl9yffvdsabw6dkk1nc332wcz2mphwwyf")))) + (base32 "1g0sgphss8hbi1rpl4avy1nmbixmy9v194xdbvkjgl90vzgy2q3r")))) (build-system python-build-system) (propagated-inputs `(("python-boolean.py" ,python-boolean.py))) @@ -1754,14 +1742,6 @@ The event dispatch is implicit, which means you can easily use @code{Eventlet} from the Python interpreter, or as a small part of a larger application.") (license license:expat))) -(define-public python2-eventlet - (let ((base (package-with-python2 - (strip-python2-variant python-eventlet)))) - (package (inherit base) - (propagated-inputs - `(("python2-enum34" ,python2-enum34) - ,@(package-propagated-inputs base)))))) - (define-public python-six (package (name "python-six") @@ -2184,14 +2164,14 @@ backported for previous versions of Python from 2.4 to 3.3.") (define-public python-parse (package (name "python-parse") - (version "1.8.4") + (version "1.18.0") (source (origin (method url-fetch) (uri (pypi-uri "parse" version)) (sha256 (base32 - "0f8997xr8nq2nq35iiviq8ningd1zvy59fg503xfpbi2dwhgdkf3")))) + "19063x4xdjpaf7rfxai6jpgm2k4yvkq7wha8aa8cagbjsqr60rli")))) (build-system python-build-system) (arguments `(#:phases @@ -3036,9 +3016,6 @@ of state and cooperation between execution units, which makes it easier to build concurrent applications.") (license license:asl2.0))) -(define-public python2-pykka - (package-with-python2 python-pykka)) - (define-public python-pymsgbox (package (name "python-pymsgbox") @@ -4149,14 +4126,14 @@ Server (PLS).") (define-public python-language-server (package (name "python-language-server") - (version "0.36.1") + (version "0.36.2") (source (origin (method url-fetch) (uri (pypi-uri "python-language-server" version)) (sha256 (base32 - "0ljzc50z5v08is8fis1fg2dk9sb6275jlvzxb6nij0w6ys772pf8")))) + "1c0pnk2aibfhfaanrs0a5gkabkvz81gj20z7r0152b7fcx5ci14r")))) (build-system python-build-system) (propagated-inputs `(("python-autopep8" ,python-autopep8) @@ -4768,14 +4745,17 @@ color scales, and color space conversion easy. It has support for: ("texinfo" ,texinfo) ("perl" ,perl) ("scipy-sphinx-theme" - ,(origin ; The build script expects scipy-sphinx-theme as a git submodule - (method git-fetch) - (uri (git-reference - (url "https://github.com/scipy/scipy-sphinx-theme") - (commit "c466764e2231ba132c09826b5b138fffa1cfcec3"))) - (sha256 - (base32 - "0q2y87clwlsgc7wvlsn9pzyssybcq10plwhq2w1ydykfsyyqbmkl")))) + ,(let ((commit "c466764e2231ba132c09826b5b138fffa1cfcec3")) + (origin ;the build script expects scipy-sphinx-theme as a git submodule + (method git-fetch) + (uri (git-reference + (url "https://github.com/scipy/scipy-sphinx-theme") + (commit commit))) + (file-name (git-file-name "python-scipy-sphinx-theme" + (string-take commit 7))) + (sha256 + (base32 + "0q2y87clwlsgc7wvlsn9pzyssybcq10plwhq2w1ydykfsyyqbmkl"))))) ,@(package-native-inputs python-numpy))) (arguments `(#:tests? #f ; we're only generating the documentation @@ -4838,13 +4818,13 @@ color scales, and color space conversion easy. It has support for: (define-public python-pygit2 (package (name "python-pygit2") - (version "1.1.0") + (version "1.4.0") (source (origin (method url-fetch) (uri (pypi-uri "pygit2" version)) (sha256 - (base32 "1hs0pqqzn1yjxqk86nq7p0lvsklwnlyi5xwyzr7d5nrs19dmsjbg")))) + (base32 "1j71iskvirkm8jzfmwdm79v69878m9iix8a8cn4xidgr3nmkisyb")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; tests don't run correctly in our environment @@ -8813,13 +8793,13 @@ third-party code.") (define-public python-llfuse (package (name "python-llfuse") - (version "1.3.6") + (version "1.3.8") (source (origin (method url-fetch) - (uri (pypi-uri "llfuse" version ".tar.bz2")) + (uri (pypi-uri "llfuse" version)) (sha256 (base32 - "1j9fzxpgmb4rxxyl9jcf84zvznhgi3hnh4hg5vb0qaslxkvng8ii")))) + "1g2cdhdqrb6m7655qp61pn61pwj1ql61cdzhr2jvl3w4i8877ddr")))) (build-system python-build-system) (inputs `(("fuse" ,fuse) @@ -8838,22 +8818,6 @@ third-party code.") (strip-python2-variant python-llfuse))) (propagated-inputs `(("python2-contextlib2" ,python2-contextlib2))))) -;; For attic-0.16 -(define-public python-llfuse-0.41 - (package (inherit python-llfuse) - (version "0.41.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://bitbucket.org/nikratio/python-llfuse/downloads/" - "llfuse-" version ".tar.bz2")) - (sha256 - (base32 - "1imlqw9b73086y97izr036f58pgc5akv4ihc2rrf8j5h75jbrlaa")))) - ;; Python-LLFUSE < 0.42 includes underscore.js, which is MIT (expat) - ;; licensed. The rest of the package is licensed under LGPL2.0 or later. - (license (list license:expat license:lgpl2.0+)))) - (define-public python-msgpack (package (name "python-msgpack") @@ -10452,13 +10416,13 @@ config files.") (define-public python-configargparse (package (name "python-configargparse") - (version "0.14.0") + (version "1.2.3") (source (origin (method url-fetch) (uri (pypi-uri "ConfigArgParse" version)) (sha256 (base32 - "149fy4zya0rsnlkvxbbq43cyr8lscb5k4pj1m6n7f1grwcmzwbif")))) + "1p1pzpf5qpf80bfxsx1mbw9blyhhypjvhl3i60pbmhfmhvlpplgd")))) (build-system python-build-system) (native-inputs `(("python-pyyaml" ,python-pyyaml))) @@ -10480,9 +10444,6 @@ be set via config files and/or environment variables.") (home-page "https://github.com/bw2/ConfigArgParse") (license license:expat))) -(define-public python2-configargparse - (package-with-python2 python-configargparse)) - (define-public python-argparse-manpage (package (name "python-argparse-manpage") @@ -12495,13 +12456,13 @@ multiple processes (imagine multiprocessing, billiard, futures, celery etc). (define-public python-greenlet (package (name "python-greenlet") - (version "0.4.16") + (version "0.4.17") (source (origin (method url-fetch) (uri (pypi-uri "greenlet" version)) (sha256 (base32 - "0v2571d0av1hz3yx63gvmnrinyn57nnvibg4zkl9frv74b3yl1kf")))) + "0swdhrcq13bdszv3yz5645gi4ijbzmmhxpb6whcfg3d7d5f87n21")))) (build-system python-build-system) (home-page "https://greenlet.readthedocs.io/") (synopsis "Lightweight in-process concurrent programming") @@ -12512,9 +12473,6 @@ pseudo-concurrently (typically in a single or a few OS-level threads) and are synchronized with data exchanges on \"channels\".") (license (list license:psfl license:expat)))) -(define-public python2-greenlet - (package-with-python2 python-greenlet)) - (define-public python-objgraph (package (name "python-objgraph") @@ -12545,13 +12503,13 @@ graphviz.") (define-public python-gevent (package (name "python-gevent") - (version "20.6.2") + (version "20.9.0") (source (origin (method url-fetch) (uri (pypi-uri "gevent" version)) (sha256 (base32 - "1ldmppgghfphdaazjw6wq2i17xcmsjb2jsizfa4cjlg812zjlg52")) + "13aw9x6imsy3b369kfjblqiwfni69pp32m4r13n62r9k3l2lhvaz")) (modules '((guix build utils))) (snippet '(begin @@ -12610,24 +12568,10 @@ graphviz.") (add-before 'check 'adjust-tests (lambda _ (let ((disabled-tests - '(;; These tests rely on networking which is not - ;; available in the build container. - "test_urllib2net.py" - "test__server.py" - "test__server_pywsgi.py" - "test_socket.py" - "test__socket.py" - "test__socket_ssl.py" - "test__socket_dns.py" - "test__socket_dns6.py" - "test___example_servers.py" + '(;; These tests relies on networking which is + ;; not available in the build container. "test__getaddrinfo_import.py" - "test__examples.py" - "test_httplib.py" - "test_https.py" - "test_urllib2_localnet.py" - "test_ssl.py" - "test__ssl.py" + "test__server_pywsgi.py" ;; XXX: These tests borrow functionality from the ;; Python builtin 'test' module, but it is not ;; installed with the Guix Python distribution. @@ -12666,7 +12610,7 @@ graphviz.") ;; Use the build daemons configured number of workers. (setenv "NWORKERS" (number->string (parallel-job-count))) - (invoke "python" "-m" "gevent.tests" "--config" + (invoke "python" "-m" "gevent.tests" "-unone" "--config" "known_failures.py" "--ignore" "skipped_tests.txt")))))) (propagated-inputs `(("python-greenlet" ,python-greenlet) @@ -12682,22 +12626,13 @@ graphviz.") (inputs `(("c-ares" ,c-ares) ("libev" ,libev))) - (home-page "http://www.gevent.org/") + (home-page "https://www.gevent.org/") (synopsis "Coroutine-based network library") (description - "gevent is a coroutine-based Python networking library that uses greenlet -to provide a high-level synchronous API on top of the libev event loop.") - (license license:expat) - (properties `((python2-variant . ,(delay python2-gevent)))))) - -(define-public python2-gevent - (let ((base (package-with-python2 - (strip-python2-variant python-gevent)))) - (package - (inherit base) - (native-inputs `(,@(package-native-inputs base) - ("python-mock" ,python2-mock) - ("python2-selectors2" ,python2-selectors2)))))) + "@code{gevent} is a coroutine-based Python networking library that uses +@code{greenlet} to provide a high-level synchronous API on top of the +@code{libev} event loop.") + (license license:expat))) (define-public python-fastimport (package @@ -12872,9 +12807,6 @@ It includes Python implementations of Kafka producers and consumers, which are optionally backed by a C extension built on librdkafka.") (license license:asl2.0))) -(define-public python2-pykafka - (package-with-python2 python-pykafka)) - (define-public python-wcwidth (package (name "python-wcwidth") @@ -13185,10 +13117,30 @@ powerful API: thread-safety; decorator syntax; support for memcached, redis, database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.") (license license:expat))) +(define-public python-poetry-core + (package + (name "python-poetry-core") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "poetry-core" version)) + (sha256 + (base32 "1mgv276h1iphn5fqhp2sgkgd5d0c39hs33vgaf157x5ri7rlyrka")))) + (build-system python-build-system) + (home-page "https://github.com/python-poetry/poetry-core") + (synopsis "Poetry PEP 517 build back-end") + (description + "The @code{poetry-core} module provides a PEP 517 build back-end +implementation developed for Poetry. This project is intended to be +a light weight, fully compliant, self-contained package allowing PEP 517 +compatible build front-ends to build Poetry managed projects.") + (license license:expat))) + (define-public poetry (package (name "poetry") - (version "1.0.10") + (version "1.1.4") ;; Poetry can only be built from source with Poetry. (source (origin @@ -13196,7 +13148,7 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.") (uri (pypi-uri "poetry" version)) (sha256 (base32 - "1wm66xlsls4f0q4skmq96yb7aahjsqwgwvbrw4iax6rd4xfqj6sb")))) + "1a2kgfiw66fvxhlqk5qc83s6l38czfh5hcsrbiy7qq5yfc8mlsll")))) (build-system python-build-system) (arguments `(#:tests? #f ;; Pypi does not have tests. @@ -13205,14 +13157,12 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.") (add-before 'build 'patch-setup-py (lambda _ (substitute* "setup.py" - ;; poetry won't update version as 21.0.0 relies on python > 3.6 - (("keyring>=20.0.1,<21.0.0") "keyring>=21.0.0,<22.0.0") - (("pyrsistent>=0.14.2,<0.15.0") "pyrsistent>=0.14.2,<0.17.0") - ;; Reported upstream: - ;; . - (("tomlkit>=0.5.11,<0.6.0") "tomlkit>=0.5.11,<0.7.0") - (("cleo>=0.7.6,<0.8.0") "cleo>=0.7.6,<0.9.0") - (("clikit>=0.4.2,<0.5.0") "clikit>=0.4.2,<0.7.0")) + ;; Newer versions of keyring produce a package with version "0.0.0" + ;; Reported upstream: + (("keyring>=21.2.0,<22.0.0") "keyring>=21.0.0,<22.0.0") + ;; TODO: remove after the next release cycle, + ;; when packaging has been updated. + (("packaging>=20.4,<21.0") "packaging>=20.0,<21.0")) #t))))) (propagated-inputs `(("python-cachecontrol" ,python-cachecontrol) @@ -13220,15 +13170,15 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.") ("python-cleo" ,python-cleo) ("python-clikit" ,python-clikit) ("python-html5lib" ,python-html5lib) - ("python-jsonschema" ,python-jsonschema) ("python-keyring" ,python-keyring) ("python-msgpack-transitional" ,python-msgpack-transitional) + ("python-packaging" ,python-packaging) ("python-pexpect" ,python-pexpect) + ("python-pip" ,python-pip) ("python-pkginfo" ,python-pkginfo) - ("python-pyparsing" ,python-pyparsing) - ("python-pyrsistent" ,python-pyrsistent) + ("python-poetry-core" ,python-poetry-core) ("python-requests" ,python-requests) - ("python-requests-toolbelt" ,python-requests-toolbelt) + ("python-requests-toolbelt" ,python-requests-toolbelt-0.9.1) ("python-shellingham" ,python-shellingham) ("python-tomlkit" ,python-tomlkit) ("python-virtualenv" ,python-virtualenv))) @@ -13362,27 +13312,40 @@ until the object is actually required, and caches the result of said call.") (define-public python-dnspython (package - (name "python-dnspython") - (version "1.16.0") - (source (origin - (method url-fetch) - (uri (string-append "http://www.dnspython.org/kits/" - version "/dnspython-" version ".tar.gz")) - (sha256 - (base32 - "1yaw7irazy42n0kdhlk7wyg8ki34rxcnc5xbc1wfwy245b0wbxab")))) - (build-system python-build-system) - (arguments '(#:tests? #f)) ; XXX: requires internet access - (home-page "http://www.dnspython.org") - (synopsis "DNS toolkit for Python") - (description - "dnspython is a DNS toolkit for Python. It supports almost all record + (name "python-dnspython") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "dnspython" version ".zip")) + (sha256 + (base32 + "1dyip5ygqqhrgcaiy7qzjpndl9xciip186paxqwkm726fj9z0jh4")))) + (build-system python-build-system) + (native-inputs `(("unzip" ,unzip))) + (arguments '(#:tests? #f)) ; XXX: requires internet access + (home-page "https://www.dnspython.org") + (synopsis "DNS toolkit for Python") + (description + "dnspython is a DNS toolkit for Python. It supports almost all record types. It can be used for queries, zone transfers, and dynamic updates. It supports TSIG authenticated messages and EDNS0.") - (license license:expat))) + (license license:expat))) -(define-public python2-dnspython - (package-with-python2 python-dnspython)) +(define-public python-dnspython-1.16 + (package + (inherit python-dnspython) + (version "1.16.0") + (source (origin + (method url-fetch) + (uri (string-append "http://www.dnspython.org/kits/" + version "/dnspython-" version ".tar.gz")) + (sha256 + (base32 + "1yaw7irazy42n0kdhlk7wyg8ki34rxcnc5xbc1wfwy245b0wbxab")))) + (native-inputs '()))) + +(define-public python2-dnspython-1.16 + (package-with-python2 python-dnspython-1.16)) (define-public python-py3dns (package @@ -14206,9 +14169,6 @@ should be noted that the code is a exact port of the original from Facebook.") (license license:expat))) -(define-public python2-graphql-relay - (package-with-python2 python-graphql-relay)) - (define-public python-graphene (package (name "python-graphene") @@ -14235,17 +14195,8 @@ from Facebook.") "Graphene is a Python library for building GraphQL schemas/types. A GraphQL schema describes your data model, and provides a GraphQL server with an associated set of resolve methods that know how to fetch data.") - (properties `((python2-variant . ,(delay python2-graphene)))) (license license:expat))) -(define-public python2-graphene - (let ((base (package-with-python2 - (strip-python2-variant python-graphene)))) - (package (inherit base) - (native-inputs - `(("python2-sqlalchemy" ,python2-sqlalchemy) - ,@(package-native-inputs base)))))) - (define-public python-nautilus (package (name "python-nautilus") @@ -15988,14 +15939,17 @@ several utilities, as well as an API for building localization tools.") (define-public python-packaging (package (name "python-packaging") - (version "20.4") + (version "20.0") (source (origin (method url-fetch) (uri (pypi-uri "packaging" version)) + ;; XXX: The URL in the patch file is wrong, it should be + ;; . + (patches (search-patches "python-packaging-test-arch.patch")) (sha256 (base32 - "1y3rc1ams1i25calk6b9jf1gl85ix5a23a146swjvhdr8x7zfms3")))) + "1y2ip3a4ykkpgnwgn85j6hkspcl0cg3mzms97f40mk57vwqq67gy")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -17872,7 +17826,7 @@ style guide, even if the original code didn't violate the style guide.") (synopsis "Command-line YAML/XML processor") (description "This package provides @command{yq} and @command{xq} for processing YAML -and XML respectively. The processing is done through @{jq}, @command{jq} +and XML respectively. The processing is done through @command{jq}, @command{jq} filters can be used to process the data as it passes through.") (license license:asl2.0))) @@ -18275,37 +18229,6 @@ interpreter. bpython's main features are @end enumerate") (license license:expat))) -(define-public bpython2 - (let ((base (package-with-python2 - (strip-python2-variant bpython)))) - (package (inherit base) - (name "bpython2") - (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-failing-test - (lambda _ - ;; Remove failing test. FIXME: make it pass - (delete-file "bpython/test/test_args.py") - ;; Disable failing test-cases (renaming inhibits they are - ;; discovered) - (substitute* "bpython/test/test_curtsies_repl.py" - (("^(\\s*def )(test_get_last_word_with_prev_line\\W)" _ a b) - (string-append a "xxx_off_" b)) - (("^(\\s*def )(test_complex\\W)" _ a b) - (string-append a "xxx_off_" b))) - #t)) - (add-before 'build 'rename-scripts - ;; rename the scripts to bypthon2, bpdb2, etc. - (lambda _ - (substitute* "setup.py" - (("^(\\s+'bpdb)(\\s+=.*',?)\\s*?$" _ name rest) - (string-append name "2" rest "\n")) - (("^(\\s+'bpython)(-\\S+)?(\\s+=.*',?)\\s*?$" _ name sub rest) - (string-append name "2" (or sub "") rest "\n"))) - #t)))))))) - (define-public python-pyinotify (package (name "python-pyinotify") @@ -18609,9 +18532,6 @@ process-based child processes can safely be created anywhere within a gevent-powered application.") (license license:expat))) -(define-public python2-gipc - (package-with-python2 python-gipc)) - (define-public python-beautifultable (package (name "python-beautifultable") @@ -18781,47 +18701,6 @@ interface to FUSE on various operating systems. It's just one file and is implemented using @code{ctypes}.") (license license:isc))) -(define-public python2-gdrivefs - (package - (name "python2-gdrivefs") - (version "0.14.9") - (source - (origin - (method url-fetch) - (uri (pypi-uri "gdrivefs" version)) - (sha256 - (base32 - "0v9sp2cfg4ki3wagkwf3rnfpjhvgf845anz3757il9z95yvvcvb7")))) - (build-system python-build-system) - (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (add-before 'build 'patch-setup-py - (lambda _ - ;; Update requirements from dependency==version - ;; to dependency>=version - (substitute* "gdrivefs/resources/requirements.txt" - (("==") ">=")) - #t))))) - (native-inputs - `(("python2-gipc" ,python2-gipc) - ("python2-gevent" ,python2-gevent) - ("python2-greenlet" ,python2-greenlet) - ("python2-httplib2" ,python2-httplib2) - ("python2-uritemplate" ,python2-uritemplate) - ("python2-oauth2client" ,python2-oauth2client) - ("python2-six" ,python2-six))) - (propagated-inputs - `(("python2-dateutil" ,python2-dateutil) - ("python2-fusepy" ,python2-fusepy) - ("python2-google-api-client" ,python2-google-api-client))) - (home-page "https://github.com/dsoprea/GDriveFS") - (synopsis "Mount Google Drive as a local file system") - (description "@code{gdrivefs} provides a FUSE wrapper for Google Drive -under Python 2.7.") - (license license:gpl2))) - (define-public python-userspacefs (package (name "python-userspacefs") @@ -23217,3 +23096,108 @@ process.") "Gamera is a toolkit for building document image recognition systems.") (home-page "https://gamera.informatik.hsnr.de/") (license license:gpl2+))) + +(define-public python-contextvars + (package + (name "python-contextvars") + (version "2.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "contextvars" version)) + (sha256 + (base32 + "17n3w8c20kgkgc6khaafdhhlcdj4bzman4paxqsl7harma59137k")))) + (build-system python-build-system) + (propagated-inputs + `(("python-immutables" ,python-immutables))) + (home-page + "https://github.com/MagicStack/contextvars") + (synopsis "PEP 567 Backport") + (description "This package implements a backport of Python 3.7 +@code{contextvars} module (see PEP 567) for Python 3.6.") + (license license:asl2.0))) + +(define-public python-aiofiles + (package + (name "python-aiofiles") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "aiofiles" version)) + (sha256 + (base32 + "1bqmv019x16qa3zah0z915cw6z4va3fjs60fk2s7vyah3gyvrrlq")))) + (build-system python-build-system) + (home-page "https://github.com/Tinche/aiofiles") + (synopsis "File support for @code{asyncio}") + (description "@code{python-aiofiles} is a library for handling local +disk files in asyncio applications.") + (license license:asl2.0))) + +(define-public python-pyre-extensions + (package + (name "python-pyre-extensions") + (version "0.0.18") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyre-extensions" version)) + (sha256 + (base32 + "0c5cbbqrfyjwakdh3kbwxis6mbrbwky1z1fqslgszgpcj4g43q30")))) + (build-system python-build-system) + (propagated-inputs + `(("python-typing-extensions" + ,python-typing-extensions) + ("python-typing-inspect" ,python-typing-inspect))) + (home-page "https://pyre-check.org") + (synopsis + "Type system extensions for use with @code{python-pyre}") + (description + "@code{python-pyre-extensions} defines extensions to the standard +@code{typing} module that are supported by the Pyre typechecker.") + (license license:expat))) + +(define-public python-dataclasses + (package + (name "python-dataclasses") + (version "0.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "dataclasses" version)) + (sha256 + (base32 + "1rh8111fbws2vxyf2qy2zw3x6p6cq1jfz8pf904gig5qwg56sjj9")))) + (build-system python-build-system) + (home-page + "https://github.com/ericvsmith/dataclasses") + (synopsis + "Backport of the @code{dataclasses} module for Python 3.6") + (description + "This is an implementation of PEP 557, Data Classes. It is a +backport of the @code{dataclasses} module for Python 3.6.") + (license license:asl2.0))) + +(define-public python-pywatchman + (package + (name "python-pywatchman") + (version "1.4.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pywatchman" version)) + (sha256 + (base32 + "1yf2gm20wc3djpb5larxii3l55xxby0il2ns3q0v1byyfnr7w16h")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;there are none + (home-page + "https://facebook.github.io/watchman/") + (synopsis "Watchman client for python") + (description "@code{python-pywatchman} is a library to connect and +query Watchman to discover file changes.") + (license license:bsd-3)))