diff options
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r-- | gnu/packages/python-xyz.scm | 241 |
1 files changed, 169 insertions, 72 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index c20ef40192..1180485e2e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1600,7 +1600,7 @@ commands.") (synopsis "Toolkit for XML processing in Python") (description "ElementTree is a Python library supporting lightweight XML processing.") - (home-page "http://effbot.org/zone/element-index.htm") + (home-page "https://effbot.org/zone/element-index.htm") (license (license:x11-style "http://docs.python.org/2/license.html" "Like \"CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2\".")))) @@ -2306,32 +2306,6 @@ compare, diff, and patch JSON and JSON-like structures in Python.") `(("python2-functools32" ,python2-functools32) ,@(package-propagated-inputs jsonschema)))))) -;; This old version is still required by docker-compose as of 1.24.0. -(define-public python-jsonschema-2.6 - (package - (name "python-jsonschema") - (version "2.6.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "jsonschema" version)) - (sha256 - (base32 - "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg")))) - (build-system python-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check (lambda _ (invoke "nosetests")))))) - (native-inputs - `(("python-nose" ,python-nose) - ("python-vcversioner" ,python-vcversioner))) - (home-page "https://github.com/Julian/jsonschema") - (synopsis "Implementation of JSON Schema for Python") - (description - "Jsonschema is an implementation of JSON Schema for Python.") - (license license:expat) - (properties `((python2-variant . ,(delay python2-jsonschema)))))) - (define-public python-schema (package (name "python-schema") @@ -2424,6 +2398,40 @@ somewhat intelligible.") (define-public python2-unidecode (package-with-python2 python-unidecode)) +(define-public python-text-unidecode + (package + (name "python-text-unidecode") + (version "1.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "text-unidecode" version)) + (sha256 + (base32 + "14xb99fdv52j21dsljgsbmbaqv10ps4b453p229r29sdn4xn1mms")))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (setenv "PYTHONPATH" + (string-append "./build/lib:" + (getenv "PYTHONPATH"))) + (invoke "pytest" "-vv")))))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/kmike/text-unidecode/") + (synopsis "Decode Unicode data") + (description + "@code{text-unidecode} is a basic Python port of the @code{Text::Unidecode} +Perl library. It can create ASCII representations of Unicode data. In general +users should prefer the @code{python-unidecode} package which offers better +memory usage and transliteration quality.") + ;; The user can choose either license. + (license (list license:clarified-artistic license:gpl2+)))) + +(define-public python2-text-unidecode + (package-with-python2 python-text-unidecode)) + (define-public python-pyjwt (package (name "python-pyjwt") @@ -3451,7 +3459,9 @@ Server (PLS).") (propagated-inputs `(("python-pluggy" ,python-pluggy) ("python-jsonrpc-server" ,python-jsonrpc-server) - ("python-jedi" ,python-jedi) + ;; Note: Remove the special versions of Jedi and Parso when updating + ;; this package. + ("python-jedi" ,python-jedi-0.15) ("python-yapf" ,python-yapf) ("python-pyflakes" ,python-pyflakes) ("python-pydocstyle" ,python-pydocstyle) @@ -7713,7 +7723,7 @@ printing of sub-tables by specifying a row range.") `(("hdf5" ,hdf5-1.10) ("bzip2" ,bzip2) ("zlib" ,zlib))) - (home-page "http://www.pytables.org/") + (home-page "https://www.pytables.org/") (synopsis "Hierarchical datasets for Python") (description "PyTables is a package for managing hierarchical datasets and designed to efficiently cope with extremely large amounts of data.") @@ -9469,14 +9479,14 @@ document.") (define-public python-botocore (package (name "python-botocore") - (version "1.12.149") + (version "1.15.26") (source (origin (method url-fetch) (uri (pypi-uri "botocore" version)) (sha256 (base32 - "12597f74khp3ngwr282cb949w0gcqj20rkfc3x275dijavyy5cmf")))) + "1a87pbwkk5vlwz92hy1wizfnpiwn11bhaicr6bmji1i5ybwdhnr8")))) (build-system python-build-system) (arguments ;; FIXME: Many tests are failing. @@ -10315,7 +10325,7 @@ the same purpose: to provide Python bindings for libmagic.") ;; without libmagic bindings at all: ;; https://github.com/s3tools/s3cmd/issues/198 ("python2-magic" ,python2-magic))) - (home-page "http://s3tools.org/s3cmd") + (home-page "https://s3tools.org/s3cmd") (synopsis "Command line tool for S3-compatible storage services") (description "S3cmd is a command line tool for uploading, retrieving and managing data @@ -10407,7 +10417,7 @@ development version of CPython that are not available in older releases.") ;; https://github.com/PythonCharmers/python-future/issues/210 (arguments `(#:tests? #f)) - (home-page "http://python-future.org") + (home-page "https://python-future.org") (synopsis "Single-source support for Python 3 and 2") (description "@code{python-future} is the missing compatibility layer between Python 2 and @@ -11223,8 +11233,18 @@ more, possibly remote, memcached servers.") (description "CliKit is a group of utilities to build testable command line interfaces.") + (properties `((python2-variant . ,(delay python2-clikit)))) (license license:expat))) +(define-public python2-clikit + (let ((base (package-with-python2 (strip-python2-variant python-clikit)))) + (package/inherit + base + (propagated-inputs + `(("python-enum34" ,python2-enum34) + ("python-typing" ,python2-typing) + ,@(package-propagated-inputs base)))))) + (define-public python-msgpack-python (package (name "python-msgpack-python") @@ -11422,34 +11442,29 @@ parsing UK postcodes.") (define-public python-faker (package (name "python-faker") - (version "0.7.9") + (version "4.0.2") (source (origin (method url-fetch) (uri (pypi-uri "Faker" version)) (sha256 (base32 - "1fh2p2yz0fsdr4fqwxgddwbvfb6qn6vp8yx0qwqzra27yq5d1wsm")) - (patches - (search-patches "python-faker-fix-build-32bit.patch")) - (modules '((guix build utils))) - (snippet - '(begin - (for-each delete-file (find-files "." "\\.pyc$")) - #t)))) + "13qq485ydxmdnqn3xbfv1xfyqbf9qfnfw33v1vw5l6jyy9p8cgrd")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ (invoke "python" "-m" "unittest" "-v" "tests")))))) + (lambda _ (invoke "python" "-m" "pytest" "-v")))))) (native-inputs `(;; For testing - ("python-email-validator" ,python-email-validator) - ("python-mock" ,python-mock) - ("python-ukpostcodeparser" ,python-ukpostcodeparser))) + ("python-freezegun" ,python-freezegun) + ("python-pytest" ,python-pytest) + ("python-random2" ,python-random2) + ("python-ukpostcodeparser" ,python-ukpostcodeparser) + ("python-validators" ,python-validators))) (propagated-inputs `(("python-dateutil" ,python-dateutil) - ("python-six" ,python-six))) + ("python-text-unidecode" ,python-text-unidecode))) (home-page "https://github.com/joke2k/faker") (synopsis "Python package that generates fake data") (description @@ -11458,13 +11473,25 @@ addresses, and phone numbers.") (license license:expat) (properties `((python2-variant . ,(delay python2-faker)))))) +;; Faker 4.0 dropped Python 2 support, so we stick with this older version here. (define-public python2-faker (let ((base (package-with-python2 (strip-python2-variant python-faker)))) (package (inherit base) + (version "3.0.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "Faker" version)) + (sha256 + (base32 + "11cr0qvspkdh6198rqy56qildk7bnp6llj8kyy1dan5sp5n4dxy7")))) + (native-inputs + `(("python-mock" ,python2-mock) + ,@(package-native-inputs base))) (propagated-inputs `(("python2-ipaddress" ,python2-ipaddress) + ("python2-six" ,python2-six) ,@(package-propagated-inputs base)))))) (define-public python-pyaml @@ -11613,6 +11640,20 @@ well.") (define-public python2-jedi (package-with-python2 python-jedi)) +;; python-language-server requires 0.15 specifically. Remove once unused. +(define-public python-jedi-0.15 + (package + (inherit python-jedi) + (version "0.15.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "jedi" version)) + (sha256 + (base32 + "01zqasl690x1i6dq4mvh13pz0cw8i276xsivsrnn00x90iqm42g9")))) + (propagated-inputs + `(("python-parso" ,python-parso-0.5))))) + (define-public ptpython (package (name "ptpython") @@ -11743,7 +11784,7 @@ and/or Xon/Xoff. The port is accessed in RAW mode.") ("mesa" ,mesa) ("sdl-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))))) - (home-page "http://kivy.org") + (home-page "https://kivy.org") (synopsis "Multitouch application framework") (description @@ -12217,6 +12258,34 @@ provide extendible implementations of common aspects of a cloud so that you can focus on building massively scalable web applications.") (license license:expat))) +(define-public python-random2 + (package + (name "python-random2") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "random2" version ".zip")) + (sha256 + (base32 + "01y0s4747plsx8fdnxy0nz83dp69naddz58m81r9h0s1qfm31b9l")))) + (build-system python-build-system) + (native-inputs `(("unzip" ,unzip))) + (home-page "http://pypi.python.org/pypi/random2") + (synopsis "Python 3 version of the Python 2 @code{random} module") + (description + "This package provides a Python 3 ported version of Python 2.7’s +@code{random} module. It has also been back-ported to work in Python 2.6. + +In Python 3, the implementation of @code{randrange()} was changed, so that +even with the same seed you get different sequences in Python 2 and 3. + +This package closes that gap, allowing stable random number generation +between the different Python versions.") + (license license:psfl))) + +(define-public python2-random2 + (package-with-python2 python-random2)) + (define-public python-snowballstemmer (package (name "python-snowballstemmer") @@ -12580,7 +12649,7 @@ possible on all supported Python versions.") (invoke "python" "Cheetah/Tests/Test.py"))))))) (propagated-inputs `(("python-markdown" ,python-markdown))) ;optional - (home-page "http://cheetahtemplate.org/") + (home-page "https://cheetahtemplate.org/") (synopsis "Template engine") (description "Cheetah is a text-based template engine and Python code generator. @@ -14145,6 +14214,41 @@ validation of URIs (see RFC 3986) and IRIs (see RFC 3987).") (define-public python2-rfc3987 (package-with-python2 python-rfc3987)) +(define-public python-validators + (package + (name "python-validators") + (version "0.14.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "validators" version)) + (sha256 + (base32 + "024m15j33szd0v8k5l4ccish6n0b4knq81gmb4fq25ynwyyyd4mi")))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "pytest" "-vv")))))) + (propagated-inputs + `(("python-decorator" ,python-decorator) + ("python-six" ,python-six))) + (native-inputs + `(("python-flake8" ,python-flake8) + ("python-isort" ,python-isort) + ("python-pytest" ,python-pytest))) + (home-page "https://github.com/kvesteri/validators") + (synopsis "Data validation library") + (description + "This package contains validators for different things such as email +addresses, IP addresses, URLs, hashes and more. It has been designed to +be easy to use and not require defining a schema or form just to validate +some input.") + (license license:expat))) + +(define-public python2-validators + (package-with-python2 python-validators)) + (define-public python-validate-email (package (name "python-validate-email") @@ -15132,7 +15236,7 @@ objects on other machines, also known as remote procedure calls (RPC).") `(#:python ,python-2 ;; Pyro has no test cases for automatic execution #:tests? #f)) - (home-page "http://pythonhosted.org/Pyro/") + (home-page "https://pythonhosted.org/Pyro/") (synopsis "Distributed object manager for Python") (description "Pyro is a Distributed Object Technology system written in Python that is designed to be easy to use. It resembles @@ -15898,6 +16002,19 @@ Parso is also able to list multiple syntax errors in your Python file.") (define-public python2-parso (package-with-python2 python-parso)) +;; This version is required for Jedi@0.15, which in turn is needed for +;; python-language-server. +(define-public python-parso-0.5 + (package + (inherit python-parso) + (version "0.5.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "parso" version)) + (sha256 + (base32 + "1qgvrkpma7vylrk047mxxvqd66nwqk978n3ig2w8iz9m3bgjbksm")))))) + (define-public python-async-generator (package (name "python-async-generator") @@ -17011,26 +17128,6 @@ source via the Abstract Syntax Tree.") (define-public python2-astor (package-with-python2 python-astor)) -(define-public python-grpcio - (package - (name "python-grpcio") - (version "1.17.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "grpcio" version)) - (sha256 - (base32 - "0qb9y6j83nxa6d4kc60i8yfgdm7a8ms7b54kncjzf5y7nsxp8rzx")))) - (build-system python-build-system) - (propagated-inputs - `(("python-six" ,python-six))) - (home-page "https://grpc.io") - (synopsis "HTTP/2-based RPC framework") - (description "This package provides a Python library for communicating -with the HTTP/2-based RPC framework gRPC.") - (license license:asl2.0))) - (define-public python-astunparse (package (name "python-astunparse") @@ -17056,13 +17153,13 @@ distribution.") (define-public python-gast (package (name "python-gast") - (version "0.2.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (pypi-uri "gast" version)) (sha256 - (base32 "1w5dzdb3gpcfmd2s0b93d8gff40a1s41rv31458z14inb3s9v4zy")))) + (base32 "0mrvvfzqafj1wzd0xxfmjf4vphnlxypbhpic1m283aj9i8lfz0dq")))) (build-system python-build-system) (propagated-inputs `(("python-astunparse" ,python-astunparse))) |