diff options
author | Liliana Marie Prikler <[email protected]> | 2024-02-25 10:28:03 +0100 |
---|---|---|
committer | Liliana Marie Prikler <[email protected]> | 2024-02-25 10:28:03 +0100 |
commit | 7bf4ce4582cd2f9c5b30c547262c1c4a426c0b9b (patch) | |
tree | c6f9cc83feaaf685b7542a98e60bc24ea7c297b1 /gnu/packages/python-xyz.scm | |
parent | 06d01c610e3bee61e38a177aecda5982d5b338ae (diff) | |
parent | 92d8b4c9598ed32cdb6630433d5914c1ae8b7146 (diff) |
Merge branch 'master' into gnome-team
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r-- | gnu/packages/python-xyz.scm | 262 |
1 files changed, 186 insertions, 76 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 9dd081b3b7..b7b69f92b4 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -146,6 +146,7 @@ ;;; Copyright © 2023 Janneke Nieuwenhuizen <[email protected]> ;;; Copyright © 2023 Attila Lendvai <[email protected]> ;;; Copyright © 2023, 2024 Troy Figiel <[email protected]> +;;; Copyright © 2024 Timothee Mathieu <[email protected]> ;;; ;;; This file is part of GNU Guix. ;;; @@ -4598,6 +4599,53 @@ a certain expected condition.") Cython for speed.") (license license:expat))) +(define-public python-daft + (package + (name "python-daft") + (version "0.1.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "daft" version)) + (sha256 + (base32 + "1r8jsfavd624q2q61f863lk6has6mv5csswh39saafd5khwf0xry")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + '(list "-k" + (string-append + ;; The following tests compare matplotlib output with + ;; previously generated images. They fail due to minor + ;; differences in where matplotlib places labels. + "not test_bca[png]" + " and not test_classic[png]" + " and not test_deconvolution[png]" + " and not test_exoplanets[png]" + " and not test_fixed[png]" + " and not test_gaia[png]" + " and not test_galex[png]" + " and not test_huey_p_newton[png]" + " and not test_logo[png]" + " and not test_no_circles[png]" + " and not test_no_gray[png]" + " and not test_recursive[png]" + " and not test_thick_lines[png]" + " and not test_weaklensing[png]" + " and not test_wordy[png]")))) + (propagated-inputs (list python-matplotlib python-numpy)) + (native-inputs (list python-pytest)) + (home-page "https://docs.daft-pgm.org/") + (synopsis "PGM rendering library") + (description "Daft is a Python package that uses matplotlib to +render pixel-perfect probabilistic graphical models for publication in +a journal or on the internet. With a short Python script and an +intuitive model-building syntax you can design directed (Bayesian +Networks, directed acyclic graphs) and undirected (Markov random fields) +models and save them in any formats that matplotlib supports (including +PDF, PNG, EPS and SVG).") + (license license:expat))) + (define-public python-portalocker (package (name "python-portalocker") @@ -5769,7 +5817,7 @@ e.g. filters, callbacks and errbacks can all be promises.") (build-system python-build-system) (arguments (list #:tests? #f)) ; tests not distributed on pypi - (home-page "https://github.com/benfogle/virtualenv") + (home-page "https://github.com/benfogle/crossenv") (synopsis "Cross-compiling virtualenv for Python") (description "This package is a tool for cross-compiling extension modules. It creates a special virtual environment such that @command{pip} or @@ -26385,7 +26433,7 @@ Public Suffix List's private domains as well.") (define-public python-tldr (package (name "python-tldr") - (version "3.1.0") + (version "3.2.0") (source (origin ;; There's no test in PyPI. @@ -26395,7 +26443,7 @@ Public Suffix List's private domains as well.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1hxmprqg8c4cvs19n7f80f3y7jj74i8sc2dmq2gdjmsdrb54bbzc")))) + (base32 "0hkjsnz03p9pdfgk85wampha4pyr82bwmnj8hj6kigc784ddy2ag")))) (build-system python-build-system) (arguments (list #:phases @@ -27818,13 +27866,7 @@ a mypy plugin that smooths over some limitations in the basic type hints. (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"))))))) + (build-system pyproject-build-system) (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") @@ -27842,17 +27884,17 @@ the Trio framework}.") (define-public python-humanize (package (name "python-humanize") - (version "0.5.1") + (version "4.0.0") (source (origin (method url-fetch) (uri (pypi-uri "humanize" version)) (sha256 (base32 - "06dvhm3k8lf2rayn1gxbd46y0fy1db26m3h9vrq7rb1ib08mfgx4")))) - (arguments - '(#:tests? #f)) ; tests not in pypi archive - (build-system python-build-system) + "006vpl19bffy9fn0sssxbfakcvgrx7fhvy6l515fzln7vwpqf7zf")))) + (build-system pyproject-build-system) + (native-inputs + (list python-freezegun python-pytest)) (home-page "https://github.com/jmoiron/humanize") (synopsis "Print numerical information in a human-readable form") (description "This package provides a Python module that displays numbers @@ -27945,17 +27987,27 @@ format.") (define-public python-crontab (package (name "python-crontab") - (version "2.5.1") + (version "3.0.0") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 - (base32 "0cccrqc10r8781ba81x8r2frs3pl2m4hkm599k5358ak0xr7xgjb")))) + (base32 "0yd3vdhl7z8lxa30czsry65srha51ppdcwnhjgxx9pwx0djp9yvr")))) (build-system python-build-system) (arguments - ;; Comptability tests fail so they are disabled. - `(#:tests? #f)) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'disable-failing-tests + (lambda _ + (substitute* '("tests/test_compatibility.py" + "tests/test_frequency.py") + (("test_07_non_posix_shell") + "__off_test_07_non_posix_shell") + ;; AssertionError: 48 != 24 + (("test_20_frequency_at_year") + "__off_test_20_frequency_at_year"))))))) (inputs (list python-dateutil)) (home-page "https://gitlab.com/doctormo/python-crontab/") @@ -27964,6 +28016,42 @@ format.") access the system cron automatically and simply using a direct API.") (license license:lgpl3+))) +(define-public python-apscheduler + (package + (name "python-apscheduler") + (version "3.10.4") + (source (origin + (method url-fetch) + (uri (pypi-uri "APScheduler" version)) + (sha256 + (base32 + "0jpg9jyx95jafkq0hz6sx7r4l2z5gc599ivb9278kgnr4wdhgpz6")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-pytz + python-six + python-tzlocal)) + (native-inputs (list python-mock + python-twisted + python-gevent + python-setuptools-scm + python-sqlalchemy + python-pyside-6 + python-pytest + python-pytest-asyncio + python-pytest-cov + python-pytest-tornado5)) + (home-page "https://github.com/agronholm/apscheduler") + (synopsis "Task scheduling library for Python") + (description "Advanced Python Scheduler (APScheduler) is a Python library +that lets you schedule your Python code to be executed later, either just once +or periodically. + +You can add new jobs or remove old ones on the fly as you please. If you store +your jobs in a database, they will also survive scheduler restarts and maintain +their state. When the scheduler is restarted, it will then run all the jobs it +should have run while it was offline.") + (license license:expat))) + (define-public python-pylzma (package (name "python-pylzma") @@ -28020,22 +28108,17 @@ enumeration library in Python.") (file-name (git-file-name name version)) (sha256 (base32 "1p1a0ywlg5sq0ilcphmz9h4kayscz0q1lyfk57j7mwxyx4gl9cpi")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key inputs outputs tests? #:allow-other-keys) - (when tests? - (add-installed-pythonpath inputs outputs) - (invoke "python" "-m" "pytest" "-k" - (string-append - ;; Networking isn't available for these tests. - "not test_integration_with_listener_ipv6" - " and not test_launch_and_close_v4_v6" - " and not test_launch_and_close_context_manager" - " and not test_launch_and_close" - " and not test_close_multiple_times")))))))) + (list + #:test-flags + #~(list "-k" (string-append + ;; Networking isn't available for these tests. + "not test_integration_with_listener_ipv6" + " and not test_launch_and_close_v4_v6" + " and not test_launch_and_close_context_manager" + " and not test_launch_and_close" + " and not test_close_multiple_times")))) (native-inputs (list python-pytest)) (propagated-inputs @@ -28207,14 +28290,10 @@ translating between quadkey and tile coordinates.") (uri (pypi-uri "xyzservices" version)) (sha256 (base32 "1paxv4i0dws85md7csv7pf80jl3xh792mx8rxnsrk61ks3ivbsyg")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "pytest" "-vv"))))))) + (list + #:test-flags #~(list "-m" "not request"))) (native-inputs (list python-pytest python-mercantile python-requests)) (home-page "https://github.com/geopandas/xyzservices") @@ -29202,17 +29281,9 @@ files. These files are used to translate strings in android apps.") (uri (pypi-uri "watchdog" version)) (sha256 (base32 "1rx2nyl0cyj0v4ja795cl3gi26577c5wg48syr3byz3ndkgpavm3")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key inputs outputs tests? #:allow-other-keys) - (when tests? - (add-installed-pythonpath inputs outputs) - (invoke "python" "-m" "pytest" "-k" - ;; This test failed. - "not test_kill_auto_restart"))))))) + (list #:test-flags #~(list "-k" "not test_kill_auto_restart"))) (propagated-inputs (list python-pathtools python-pyyaml)) (native-inputs @@ -29668,6 +29739,37 @@ usable as a configuration language. This Python package implements parsing and dumping of JSON5 data structures.") (license license:asl2.0))) +(define-public python-farama-notifications + (package + (name "python-farama-notifications") + (version "0.0.4") + (source + ;; The version on pypi does not include tests. + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Farama-Foundation/Farama-Notifications") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1k1x48xpvhankw7vbjp20ljwran247aphc2qncqrxivrkgzwjjji")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python3" "tests/ci-test.py"))))))) + (native-inputs (list python-pytest)) + (home-page "https://github.com/Farama-Foundation/Farama-Notifications") + (synopsis "Notifications for all Farama Foundation maintained libraries") + (description + "This package allows for providing notifications for all Farama +Foundation maintained libraries.") + (license license:expat))) + (define-public python-freetype-py (package (name "python-freetype-py") @@ -30752,7 +30854,7 @@ and have a maximum lifetime built-in.") (define-public python-devtools (package (name "python-devtools") - (version "0.6") + (version "0.12.2") (source (origin (method git-fetch) @@ -30761,18 +30863,28 @@ and have a maximum lifetime built-in.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "15zczdcm90wl54c68f1qjb05nkd5bjsc9xjl3lk4frs7k7wkmrvp")))) - (build-system python-build-system) + (base32 "0snmx7f0s44rzzx8advzmgj5av9dlpz1kx05f7ysya8xrhv5nwfl")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + ;; Disable some failing tests. + #~(list "-k" (string-append "not test_print_subprocess" + " and not test_simple") + "--ignore=tests/test_insert_assert.py") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "pyproject.toml" + ;; Pygments 2.12.0 is available. + (("2.15.0") "2.12.0") + ;; executing 0.8.2 is available. + (("1.1.1") "0.8.2"))))))) (native-inputs - (list python-pytest python-pytest-mock)) + (list python-hatchling python-pytest python-pytest-mock)) (propagated-inputs - (list python-pygments)) - (arguments - `(#:phases (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "pytest") - #t))))) + (list python-asttokens python-executing python-pygments)) (home-page "https://github.com/samuelcolvin/python-devtools") (synopsis "Debug command and development tools") (description @@ -31102,7 +31214,7 @@ module patches @code{asyncio} to allow nested use of @code{asyncio.run} and (define-public python-simpervisor (package (name "python-simpervisor") - (version "0.4") + (version "1.0.0") (source (origin ;; Tests not included in release. @@ -31112,20 +31224,18 @@ module patches @code{asyncio} to allow nested use of @code{asyncio.run} and (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1brsisx7saf4ic0dih1n5y7rbdbwn1ywv9pl32bch3061r46prvv")))) - (build-system python-build-system) + (base32 "0drvqxbr6fpydb4d7z5dhn97d578gf39sd8cawyl6ksf1f4y8yzg")))) + (build-system pyproject-build-system) (arguments - `(#:tests? #f ; Test suite can't find aiohttp. - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key inputs outputs tests? #:allow-other-keys) - (when tests? - (add-installed-pythonpath inputs outputs) - (invoke "pytest" "--maxfail" "3" "--verbose")) - #t))))) + (list + #:test-flags '(list "-n" (number->string (parallel-job-count))))) (native-inputs - (list python-aiohttp python-pytest python-pytest-asyncio)) + (list python-aiohttp + python-hatchling + python-psutil + python-pytest + python-pytest-asyncio + python-pytest-xdist)) (home-page "https://github.com/yuvipanda/simpervisor") (synopsis "Simple async process supervisor") (description @@ -33303,7 +33413,7 @@ Python @code{set} interface.") "--maxfail=1" "tests/")))))))) (propagated-inputs (list python-click python-configobj python-dotenv-0.13.0 - python-ruamel.yaml python-toml python-tomli)) + python-ruamel.yaml-0.16 python-toml python-tomli)) (native-inputs (list python-django python-flask python-pytest python-pytest-cov python-pytest-mock)) |