diff options
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r-- | gnu/packages/python-xyz.scm | 283 |
1 files changed, 170 insertions, 113 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 6d460e286e..b8e8097c7b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -61,7 +61,7 @@ ;;; Copyright © 2019, 2023 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2019-2023, Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com> -;;; Copyright © 2019, 2020, 2021, 2022 Pierre Langlois <pierre.langlois@gmx.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 Wiktor Żelazny <wzelazny@vurv.cz> @@ -99,7 +99,7 @@ ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> -;;; Copyright © 2021 jgart <jgart@dismail.de> +;;; Copyright © 2021, 2023 jgart <jgart@dismail.de> ;;; Copyright © 2021 Danial Behzadi <dani.behzi@ubuntu.com> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr> @@ -2446,7 +2446,7 @@ conventions and aliases in the same expression.") (setenv "MAGICK_HOME" (assoc-ref inputs "imagemagick")) (setenv "WAND_MAGICK_LIBRARY_SUFFIX" ".Q16"))) (replace 'check - (lambda _ + (lambda* (#:key tests? #:allow-other-keys) (when tests? (invoke "pytest" "-vv"))))))) (native-inputs @@ -4273,7 +4273,8 @@ processing tasks.") (propagated-inputs (list python-matplotlib python-numpy python-pandas python-scipy)) (native-inputs - (list python-setuptools python-pytest python-pytest-cov tzdata)) + (list python-setuptools python-setuptools-scm + python-pytest python-pytest-cov tzdata)) (home-page "https://github.com/has2k1/mizani") (synopsis "Create data visualizations in Python") (description @@ -5271,6 +5272,26 @@ recognition library with full Unicode support. It has features like: @end itemize") (license license:expat))) +(define-public python-makefun + (package + (name "python-makefun") + (version "1.15.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "makefun" version)) + (sha256 + (base32 + "19a8dga8rnmjn5gy1cy1wdi28swbkdkypwbqikbxil6ynqcg3c20")))) + (build-system pyproject-build-system) + (native-inputs + (list python-pytest python-setuptools-scm)) + (home-page "https://github.com/smarie/python-makefun") + (synopsis "Library to dynamically create python functions") + (description "@code{makefun} helps create functions dynamically with a +given signature. It was largely inspired by @code{python-decorator} and +@code{functools}.") + (license license:bsd-3))) + (define-public python-markdown-it-py (package (name "python-markdown-it-py") @@ -5743,6 +5764,28 @@ which only supports flat sequences, and allows you to apply a function to each leaf preserving the overall structure.") (license license:asl2.0))) +(define-public python-pyment + (package + (name "python-pyment") + (version "0.3.4") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/dadadel/pyment") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0gbx9wmqsxdx85v5sg79lv2zxmy16j5dwi8bip07i1nyvzc5gvn0")))) + (build-system python-build-system) + (native-inputs (list python-pytest)) + (home-page "https://github.com/dadadel/pyment/") + (synopsis "Convert Python docstrings automatically") + (description "Pyment is a command line tool and library that can be +used to convert between several docstring styles.") + (license license:gpl3+))) + (define-public python-docstring-parser (package (name "python-docstring-parser") @@ -6334,7 +6377,7 @@ utility, a static analysis tool (linter) for Robot Framework source files.") (lambda* (#:key tests? #:allow-other-keys) (when tests? (invoke "pytest" "-vv" "tests"))))))) (propagated-inputs (list python-paramiko)) - (native-inputs (list openssh python-pytest)) + (native-inputs (list openssh python-pytest python-mock)) (home-page "https://github.com/pahaz/sshtunnel") (synopsis "Python SSH tunnels library") (description "@code{sshtunnel} is a Python module for easily creating SSH @@ -7226,13 +7269,15 @@ capabilities.") python-sphinx-4 python-sphinx-panels texinfo - texlive-bin - texlive-cbfonts - texlive-cm-super - texlive-greek-fontenc - texlive-latex-expdlist - texlive-polyglossia - texlive-xindy)) + (texlive-updmap.cfg + (list texlive-cbfonts + texlive-cm-super + texlive-expdlist + texlive-greek-fontenc + texlive-latexmk + texlive-polyglossia + texlive-xetex + texlive-xindy)))) (inputs '()) (propagated-inputs '()) (synopsis "Documentation for the @code{python-numpy} package") @@ -8011,26 +8056,26 @@ toolkits.") (list graphviz inkscape/stable python-colorspacious + python-ipython + python-ipywidgets python-mpl-sphinx-theme + python-numpydoc python-scipy python-sphinx python-sphinx-copybutton python-sphinx-gallery python-sphinxcontrib-svg2pdfconverter - python-numpydoc - python-ipython - python-ipywidgets + texinfo texlive-amsfonts texlive-amsmath texlive-babel - texlive-fontspec - texlive-unicode-math texlive-etoolbox - texlive-latex-expdlist - texlive-underscore - texlive-latex-type1cm + texlive-expdlist + texlive-fontspec texlive-times - texinfo)) + texlive-type1cm + texlive-underscore + texlive-unicode-math)) (synopsis "Documentation for the @code{python-matplotlib} package"))) (define-public python-matplotlib-inline @@ -10826,9 +10871,11 @@ computing.") python-sphinx python-sphinx-rtd-theme texinfo - texlive-bin - texlive-polyglossia - texlive-xindy)))) + (texlive-updmap.cfg + (list texlive-latexmk + texlive-polyglossia + texlive-xetex + texlive-xindy)))))) (define-public python-urwid (package @@ -11418,30 +11465,38 @@ Python style, together with a fast and comfortable execution environment.") (file-name (git-file-name name version)) (sha256 (base32 "09yrpi9f86r9yvcm2dfjs5zy87c4j31bxama77kfd6y8yfrrjlai")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - ;; For cluster execution Snakemake will call Python. Since there is - ;; no suitable GUIX_PYTHONPATH set, cluster execution will fail. We - ;; fix this by calling the snakemake wrapper instead. + (list + #:phases + #~(modify-phases %standard-phases + ;; For cluster execution Snakemake will call Python. Since there is + ;; no suitable GUIX_PYTHONPATH set, cluster execution will fail. We + ;; fix this by calling the snakemake wrapper instead. - ;; XXX: There is another instance of sys.executable on line 692, but - ;; it is not clear how to patch it. - (add-after 'unpack 'call-wrapper-not-wrapped-snakemake - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "snakemake/executors/__init__.py" - (("\\{sys.executable\\} -m snakemake") - (string-append (assoc-ref outputs "out") - "/bin/snakemake"))))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (setenv "HOME" "/tmp") - ;; This test attempts to change S3 buckets on AWS and fails - ;; because there are no AWS credentials. - (delete-file "tests/test_tibanna.py") - (invoke "pytest"))))))) + ;; XXX: There is another instance of sys.executable on line 692, but + ;; it is not clear how to patch it. + (add-after 'unpack 'call-wrapper-not-wrapped-snakemake + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "snakemake/executors/__init__.py" + (("\\{sys.executable\\} -m snakemake") + (string-append #$output "/bin/snakemake"))))) + (add-after 'unpack 'patch-version + (lambda _ + (substitute* "setup.py" + (("version=versioneer.get_version\\(\\)") + (format #f "version=~s" #$version))) + (substitute* '("snakemake/_version.py" + "versioneer.py") + (("0\\+unknown") #$version)))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "HOME" "/tmp") + ;; This test attempts to change S3 buckets on AWS and fails + ;; because there are no AWS credentials. + (delete-file "tests/test_tibanna.py") + (invoke "pytest"))))))) (propagated-inputs (list python-appdirs python-configargparse @@ -11486,32 +11541,41 @@ Python style, together with a fast and comfortable execution environment.") (file-name (git-file-name name version)) (sha256 (base32 "1qrqbmx4cbis0wxr6dl2rdjv9v627sbirsz6v5c31vlbqwkvs04q")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - ;; For cluster execution Snakemake will call Python. Since there is - ;; no suitable GUIX_PYTHONPATH set, cluster execution will fail. We - ;; fix this by calling the snakemake wrapper instead. - (add-after 'unpack 'call-wrapper-not-wrapped-snakemake - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "snakemake/executors/__init__.py" - (("self\\.get_python_executable\\(\\),") - "") - (("\"-m snakemake\"") - (string-append "\"" (assoc-ref outputs "out") - "/bin/snakemake" "\""))))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (setenv "HOME" "/tmp") - ;; This test attempts to change S3 buckets on AWS and fails - ;; because there are no AWS credentials. - (delete-file "tests/test_tibanna.py") - ;; It's a similar story with this test, which requires access - ;; to the Google Storage service. - (delete-file "tests/test_google_lifesciences.py") - (invoke "pytest"))))))) + (list + #:phases + #~(modify-phases %standard-phases + ;; For cluster execution Snakemake will call Python. Since there is + ;; no suitable GUIX_PYTHONPATH set, cluster execution will fail. We + ;; fix this by calling the snakemake wrapper instead. + (add-after 'unpack 'call-wrapper-not-wrapped-snakemake + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "snakemake/executors/__init__.py" + (("self\\.get_python_executable\\(\\),") + "") + (("\"-m snakemake\"") + (string-append "\"" #$output + "/bin/snakemake" "\""))))) + (add-after 'unpack 'patch-version + (lambda _ + (substitute* "setup.py" + (("version=versioneer.get_version\\(\\)") + (format #f "version=~s" #$version))) + (substitute* '("snakemake/_version.py" + "versioneer.py") + (("0\\+unknown") #$version)))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "HOME" "/tmp") + ;; This test attempts to change S3 buckets on AWS and fails + ;; because there are no AWS credentials. + (delete-file "tests/test_tibanna.py") + ;; It's a similar story with this test, which requires access + ;; to the Google Storage service. + (delete-file "tests/test_google_lifesciences.py") + (invoke "pytest"))))))) (propagated-inputs (list python-appdirs python-configargparse @@ -13272,16 +13336,16 @@ third-party code.") (define-public python-llfuse (package (name "python-llfuse") - (version "1.4.1") + (version "1.4.4") (source (origin (method url-fetch) (uri (pypi-uri "llfuse" version)) (sha256 (base32 - "1jaf790rsxvz3hs9fbr3hrnmg0xzl6a2bqfa10bbbsjsdbcpk762")))) + "1jb4c9avvb0v3830xlbj1r9kj05i98vv6nq05105ppg57y7lq14j")))) (build-system python-build-system) (inputs - (list fuse attr)) + (list fuse-2 attr)) (native-inputs (list pkg-config python-pytest)) (synopsis "Python bindings for FUSE") @@ -15159,37 +15223,38 @@ time.") texlive-adjustbox texlive-booktabs texlive-caption + texlive-collection-basic texlive-enumitem + texlive-environ + texlive-eurosym + texlive-fancyvrb + texlive-float texlive-fontspec - texlive-iftex + texlive-geometry texlive-grffile texlive-hyperref - texlive-fancyvrb - texlive-latex-float - texlive-latex-geometry - texlive-latex-jknapltx + texlive-jknapltx + texlive-jknapltx + texlive-lm + texlive-lm-math + texlive-mathpazo texlive-ms - texlive-latex-parskip - texlive-latex-trimspaces - texlive-latex-upquote + texlive-parskip + texlive-pdfcol + texlive-pgf + texlive-rsfs texlive-stringenc texlive-tcolorbox texlive-titling texlive-tools + texlive-trimspaces + texlive-ucs texlive-ulem texlive-unicode-math + texlive-upquote texlive-xcolor - (texlive-updmap.cfg (list texlive-amsfonts - texlive-amsmath - texlive-eurosym - texlive-fonts-rsfs - texlive-jknappen - texlive-latex-ucs - texlive-lm - texlive-lm-math - texlive-mathpazo - texlive-oberdiek - texlive-zapfding)))) + texlive-xetex + texlive-zapfding)) (home-page "https://jupyter.org") (synopsis "Converting Jupyter Notebooks") (description "The @code{nbconvert} tool, @code{jupyter nbconvert}, converts @@ -24361,10 +24426,9 @@ commit, but it also includes some other useful statistics.") (let ((fuse (assoc-ref inputs "fuse"))) (substitute* "fuse.py" (("find_library\\('fuse'\\)") - (string-append "'" fuse "/lib/libfuse.so'"))) - #t)))))) + (string-append "'" fuse "/lib/libfuse.so'"))))))))) (propagated-inputs - (list fuse)) + (list fuse-2)) (home-page "https://github.com/fusepy/fusepy") (synopsis "Simple ctypes bindings for FUSE") (description "Python module that provides a simple interface to FUSE and @@ -24391,10 +24455,9 @@ MacFUSE. The binding is created using the standard @code{ctypes} library.") (let ((fuse (assoc-ref inputs "fuse"))) (substitute* "fusepyng.py" (("os.environ.get\\('FUSE_LIBRARY_PATH'\\)") - (string-append "\"" fuse "/lib/libfuse.so\"")))) - #t))))) + (string-append "\"" fuse "/lib/libfuse.so\""))))))))) (inputs - (list fuse)) + (list fuse-2)) (propagated-inputs (list python-paramiko)) (home-page "https://github.com/rianhunter/fusepyng") @@ -25570,16 +25633,16 @@ decisions with any given backend.") (define-public python-dask (package (name "python-dask") - (version "2023.4.1") + (version "2023.7.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/dask/dask/") - (commit "a69a808f75a961504a9ba18058bff5e458be97fb"))) + (commit "8523b3bae2ec0183d9d92cc536a3405f15189b7e"))) (file-name (git-file-name name version)) (sha256 - (base32 "089kz6hcgl4yxwx99br1124sg1gkdy554hf120z9a5cfbrf0ah9y")))) + (base32 "1x617m0jlc63v938kqga9mhflhac3aj1ylq5mkpf2g9pd9x2hcbz")))) (build-system pyproject-build-system) (arguments (list @@ -29169,13 +29232,7 @@ By default it uses the open Python vulnerability database Safety DB.") (propagated-inputs `(("wheel" ,python-wheel))) (native-inputs - `(("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts - texlive-fonts-ec - texlive-iftex - texlive-hyperref - texlive-oberdiek - texlive-lm - texlive-xcolor))))) + `(("texlive" ,(texlive-updmap.cfg (list texlive-lm texlive-xcolor))))) (arguments `(#:phases (modify-phases %standard-phases @@ -31942,10 +31999,10 @@ Psycopg 2 is both Unicode and Python 3 friendly.") (base32 "0cvybynv9igssfa4l13q09gb6m7afmwk34wsbq8jk14sqpd4dl92")))) (build-system python-build-system) (native-inputs (list pkg-config)) - (inputs (list fuse-3)) + (inputs (list fuse)) (propagated-inputs (list python-pytest-trio)) (home-page "https://github.com/libfuse/pyfuse3") - (synopsis "Python bindings FUSE 3") + (synopsis "Python bindings to FUSE 3") (description "This package provides Python 3 bindings for libfuse 3 with async I/O support.") (license license:gpl2+))) @@ -32269,13 +32326,13 @@ than trying to just split strings.") (define-public python-srsly (package (name "python-srsly") - (version "2.4.6") + (version "2.4.7") (source (origin (method url-fetch) (uri (pypi-uri "srsly" version)) (sha256 (base32 - "0vsafkvk4g0p5m0dqrczqvlyza837i20xxmb24rrqk5s78r1zd27")))) + "022x0djlkl6pgh9yrd4avlai1n6y4hxm9l1xnb6630kpi12wrhlk")))) (build-system pyproject-build-system) (arguments (list |