summaryrefslogtreecommitdiff
path: root/gnu/packages/python-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r--gnu/packages/python-xyz.scm224
1 files changed, 187 insertions, 37 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 65c23cb318..6001e7e6eb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -63,7 +63,7 @@
;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019, 2020, 2021, 2022, 2023 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
-;;; Copyright © 2019, 2020, 2021 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2019-2021, 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2019, 2020, 2021, 2022 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2019, 2021-2023 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
@@ -139,6 +139,7 @@
;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw>
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
;;; Copyright © 2023 Ontje Lünsdorf <ontje.luensdorf@dlr.de>
+;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2023 Parnikkapore <poomklao@yahoo.com>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © c4droid <c4droid@foxmail.com>
@@ -4881,6 +4882,30 @@ between Julian dates and Gregorian dates.")
compare, diff, and patch JSON and JSON-like structures in Python.")
(license license:expat)))
+(define-public python-ddlparse
+ (package
+ (name "python-ddlparse")
+ (version "1.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ddlparse" version))
+ (sha256
+ (base32 "1nh8m6rxslwk05daxshxmgk41qfp18yynydba49b13l4m8dnh634"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-codecov
+ python-coveralls
+ python-pytest
+ python-pytest-cov
+ python-tox))
+ (propagated-inputs (list python-pyparsing))
+ (home-page "https://github.com/shinichi-takii/ddlparse")
+ (synopsis "Parses and converts DDL to BigQuery JSON schema")
+ (description "This package provides @{ddlparse}, a Python library to parse
+and convert DDL to BigQuery JSON schema.")
+ (license license:bsd-3)))
+
(define-public python-jsonschema
(package
(name "python-jsonschema")
@@ -5819,14 +5844,17 @@ flexibility and power of the Python language.")
(define-public python-dm-tree
(package
(name "python-dm-tree")
- (version "0.1.7")
+ (version "0.1.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "dm-tree" version))
(sha256
- (base32 "0apxfxgmqh22qpk92zmmf3acqkavhwxz78lnwz026a5rlnncizih"))))
- (build-system python-build-system)
- (inputs (list pybind11 abseil-cpp python))
+ (base32 "0c4l9gpaqd7j34qwnpjibv53j9sm0nyl0wcy8dvh76772jxspjhg"))))
+ (build-system pyproject-build-system)
+ ;; We link the static abseil libraries here to avoid problems in
+ ;; downstream libraries using potentially different variants of
+ ;; abseil-cpp. This is also what's done in the upstream CMake build.
+ (inputs (list pybind11 static-abseil-cpp python))
(propagated-inputs (list python-wheel
python-absl-py
python-attrs
@@ -5867,13 +5895,15 @@ flexibility and power of the Python language.")
(string-append "-Wl," "-rpath=" python "/lib")
"-fno-semantic-interposition"
"build/temp/tree/tree.o"
+ "-Wl,--whole-archive"
"-L" (string-append python "/lib")
- "-L" (string-append abseil-cpp "/lib")
- "-l" "absl_int128"
- "-l" "absl_raw_hash_set"
- "-l" "absl_raw_logging_internal"
- "-l" "absl_strings"
- "-l" "absl_throw_delegate"
+ (string-append abseil-cpp "/lib/libabsl_int128.a")
+ (string-append abseil-cpp "/lib/libabsl_raw_hash_set.a")
+ (string-append abseil-cpp "/lib/libabsl_raw_logging_internal.a")
+ (string-append abseil-cpp "/lib/libabsl_strings.a")
+ (string-append abseil-cpp "/lib/libabsl_strings_internal.a")
+ (string-append abseil-cpp "/lib/libabsl_throw_delegate.a")
+ "-Wl,--no-whole-archive"
"-o" "build/lib/tree/_tree.so")))))))
(home-page "https://github.com/deepmind/tree")
(synopsis "Work with nested data structures in Python")
@@ -13467,6 +13497,24 @@ provided that can be used to do various manipulations with LilyPond files.")
should be stored on various operating systems.")
(license license:expat)))
+(define-public python-google-pasta
+ (package
+ (name "python-google-pasta")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "google-pasta" version))
+ (sha256
+ (base32 "0vm1r1jlaiagj0l9yf7j6zn9w3733dr2169911c0svgrr3gwiwn9"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-six))
+ (home-page "https://github.com/google/pasta")
+ (synopsis "pasta is an AST-based Python refactoring library")
+ (description "This package provides \"pasta\", an AST-based Python
+refactoring library.")
+ (license license:asl2.0)))
+
(define-public python-gorilla
(package
(name "python-gorilla")
@@ -13745,22 +13793,6 @@ similar to the Python standard library's @code{json} module.")
includes dependency resolution logic.")
(license license:isc)))
-;;; This older version is required by ansible-core.
-(define-public python-resolvelib-0.5
- (package/inherit python-resolvelib
- (name "python-resolvelib")
- (version "0.5.4")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/sarugaku/resolvelib")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0697y330sqhiclk25v151qxg7aixzpj434lbg5qib0qlna5zg9la"))))))
-
(define-public python-commonmark
(package
(name "python-commonmark")
@@ -24523,6 +24555,102 @@ in Python. You can simply type pybtex instead of bibtex.")
time-based (TOTP) passwords.")
(license license:expat)))
+(define-public python-online-judge-api-client
+ (package
+ (name "python-online-judge-api-client")
+ (version "10.10.1")
+ ;; Source distributions are not uploaded to PyPI.
+ ;; https://pypi.org/project/online-judge-api-client/10.10.1/#files
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/online-judge-tools/api-client")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0yjqhh44va5nawd9rpqcjyf0g7rjlkvn7s90fmwmwjyqvy6lhjiz"))
+ (patches (search-patches
+ "python-online-judge-api-client-tests.patch"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ ;; These tests require network connections
+ (add-after 'unpack 'remove-failing-test
+ (lambda _
+ (for-each delete-file
+ '("tests/get_contest_atcoder.py"
+ "tests/get_contest_atcoder_problems.py"
+ "tests/get_contest_codechef.py"
+ "tests/get_contest_codeforces.py"
+ "tests/get_contest_yukicoder.py"
+ "tests/get_problem_anarchygolf.py"
+ "tests/get_problem_aoj.py"
+ "tests/get_problem_atcoder.py"
+ "tests/get_problem_codechef.py"
+ "tests/get_problem_codeforces.py"
+ "tests/get_problem_csacademy.py"
+ "tests/get_problem_facebook.py"
+ "tests/get_problem_hackerrank.py"
+ "tests/get_problem_kattis.py"
+ "tests/get_problem_library_checker.py"
+ "tests/get_problem_poj.py"
+ "tests/get_problem_topcoder.py"
+ "tests/get_problem_toph.py"
+ "tests/get_problem_yukicoder.py"
+ "tests/login_service.py")) #t)))))
+ (propagated-inputs (list python-appdirs
+ python-beautifulsoup4
+ python-colorlog
+ python-lxml
+ python-requests
+ python-toml
+ python-jsonschema))
+ (home-page "https://github.com/online-judge-tools/api-client")
+ (synopsis "API client for various online judges")
+ (description
+ "This is an API client for various online judges, used as the backend
+library of @code{oj} command. You can use the Python
+library (@code{onlinejudge} module) and the command-line
+interface (@command{oj-api} command) which talks JSON compatible with
+jmerle/competitive-companion.")
+ (license license:expat)))
+
+(define-public online-judge-tools
+ (package
+ (name "online-judge-tools")
+ (version "11.5.1")
+ ;; Source distributions are not uploaded to PyPI.
+ ;; https://pypi.org/project/online-judge-tools/11.5.1/#files
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/online-judge-tools/oj")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0zkzmmjgjb6lyrzq1ip54cpnp7al9a7mcyjyi5vx58bvnx3q0c6m"))
+ (patches (search-patches "online-judge-tools.patch"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ ;; These tests require network connections
+ (add-after 'unpack 'remove-failing-test
+ (lambda _
+ (delete-file "tests/command_version.py") #t)))))
+ (inputs (list time))
+ (propagated-inputs (list python-online-judge-api-client python-colorama
+ python-requests))
+ (home-page "https://github.com/online-judge-tools/oj")
+ (synopsis "Command to help solving problems on various online judges")
+ (description
+ "@command{oj} is a command line tool to help solving problems on
+various online judges. This command automates downloading sample
+cases, generating additional test cases, testing for your code, and
+submitting it.")
+ (license license:expat)))
+
(define-public python-parso
(package
(name "python-parso")
@@ -28912,7 +29040,7 @@ accessor layer.")
(define-public pyzo
(package
(name "pyzo")
- (version "4.12.8")
+ (version "4.13.3")
(source
(origin
(method git-fetch)
@@ -28922,7 +29050,7 @@ accessor layer.")
(file-name (git-file-name name version))
(sha256
(base32
- "036snpv6j63bv9z9mbq317qb43zwsj1m8vljra3c0kiakahp7cc3"))))
+ "1m0mrp20wjvy804214f4zzlbaqrakam0g3qr562yn2mjcgfba554"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -29883,26 +30011,48 @@ applications with variable CPU loads).")
(define-public python-versioneer
(package
(name "python-versioneer")
- (version "0.21")
+ (version "0.29")
(source
(origin
(method url-fetch)
(uri (pypi-uri "versioneer" version))
(sha256
(base32
- "084fglxafbzvf1vbkzfajvs9qwnvjwwn8pxql9nrlpyipv5xpwk4"))
+ "0cap4cjckxp9mlkprqayfs77k3pn5iwpr2riacdxc4bjhnwq7cjs"))
(patches (search-patches "python-versioneer-guix-support.patch"))))
- (build-system python-build-system)
- (home-page
- "https://github.com/python-versioneer/python-versioneer")
- (synopsis
- "Version-string management for VCS-controlled trees")
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Taken from tox.ini.
+ (invoke "python" "setup.py" "make_versioneer")
+ (invoke "python" "-m" "unittest" "discover" "test")
+ (invoke "python" "test/git/test_git.py" "-v")
+ ;; Some invocation tests require the network.
+ ;;(invoke "python" "test/git/test_invocations.py" "-v")
+ (invoke "python" "setup.py" "make_long_version_py_git")
+ (invoke "pyflakes" "setup.py" "versioneer.py" "git_version.py")
+ (invoke "python" "test/run_pyflakes_src.py")
+ (invoke "pyflakes" "test")
+ (invoke "flake8" "git_version.py" "versioneer.py")
+ (invoke "pycodestyle" "--max-line-length=88"
+ "git_version.py" "versioneer.py")))))))
+ (native-inputs
+ (list git python-flake8 python-pycodestyle python-pyflakes))
+ (propagated-inputs
+ (list python-tomli))
+ (home-page "https://github.com/python-versioneer/python-versioneer")
+ (synopsis "Version-string management for VCS-controlled trees")
(description
"@code{versioneer} is a tool for managing a recorded version number in
distutils-based python projects. The goal is to remove the tedious and
error-prone \"update the embedded version string\" step from your release
process.")
- (license license:public-domain)))
+ (license license:unlicense)))
(define-public python-gamera
(package