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.scm2059
1 files changed, 1127 insertions, 932 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ae954a6157..61e092a72f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -153,6 +153,7 @@
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2023 Adam Faiz <adam.faiz@disroot.org>
+;;; Copyright © 2023 Wiktor Żelazny <wz@freeshell.de>
;;; Copyright © 2024 Timothee Mathieu <timothee.mathieu@inria.fr>
;;; Copyright © 2024 Ian Eure <ian@retrospec.tv>
;;; Copyright © 2024 Adriel Dumas--Jondeau <leirda@disroot.org>
@@ -242,6 +243,7 @@
#:use-module (gnu packages inkscape)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages java)
+ #:use-module (gnu packages javascript)
#:use-module (gnu packages jupyter)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages less)
@@ -292,7 +294,6 @@
#:use-module (gnu packages tcl)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
- #:use-module (gnu packages textutils)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages tree-sitter)
@@ -732,6 +733,31 @@ fullscreen terminal rendering, and keyboard input event reporting.")
"This package allows to detect if the user is using Dark Mode.")
(license license:bsd-3)))
+(define-public python-decopatch
+ (package
+ (name "python-decopatch")
+ (version "1.4.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "decopatch" version))
+ (sha256
+ (base32 "082pnnc7a1d7rk40k7m72w7kw8dk7g8m3yzq4cn1hl217z4ljzwm"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;XXX: cycles with python-pytest-cases
+ (native-inputs
+ (list python-setuptools
+ python-setuptools-scm))
+ (propagated-inputs
+ (list python-makefun))
+ (home-page "https://github.com/smarie/python-decopatch")
+ (synopsis "Create decorators easily in Python")
+ (description
+ "This package provide implements a functionality to simplify writing
+decorators in Python.")
+ (license license:bsd-3)))
+
(define-public python-distance
(let ((commit "ad7f9dc7e9b0e88a08d0cefd1442f4ab1dd1779b")
(revision "0"))
@@ -1346,7 +1372,7 @@ for Python.")
(list python-aiofiles
python-aiostream
python-click
- python-easy-ansi
+ python-easy-ansi-0.3
python-pyte))
(home-page "https://github.com/dankilman/multiplex")
(synopsis "Parallel stream of outputs from multiple processes")
@@ -1401,6 +1427,60 @@ numbers like forty-second.")
of Ordered Set.")
(license license:expat)))
+(define-public python-pandocfilters
+ (package
+ (name "python-pandocfilters")
+ (version "1.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pandocfilters" version))
+ (sha256
+ (base32 "17lknixjja23jczlv8afgfky94m4gwl7wc36iczw1sz4brallaq0"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;require pandoc to run tests
+ (native-inputs
+ (list python-setuptools))
+ (home-page "https://github.com/jgm/pandocfilters")
+ (synopsis "Python module for writing Pandoc filters")
+ (description "Pandoc is a powerful utility to transform various
+input formats into a wide range of output formats. To alter the
+exported output document, Pandoc allows the usage of filters, which
+are pipes that read a JSON serialization of the Pandoc AST from stdin,
+transform it in some way, and write it to stdout. It allows therefore
+to alter the processing of Pandoc's supported input formats, for
+instance one can add new syntax elements to markdown, etc.
+
+This package provides Python bindings.")
+ (license license:bsd-3)))
+
+(define-public python-panflute
+ (package
+ (name "python-panflute")
+ (version "2.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "panflute" version))
+ (sha256
+ (base32 "07wg5md93jcdkpiqljwr3p1xzvm6nf7vbiay0bp84fgg6hmd06sz"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;require pandoc to run tests
+ (native-inputs
+ (list python-setuptools))
+ (propagated-inputs
+ (list python-click
+ python-pyyaml))
+ (home-page "http://scorreia.com/software/panflute/")
+ (synopsis "Pythonic Pandoc filters")
+ (description
+ "Panflute is a Python package that makes Pandoc filters fun to write.
+It is a pythonic alternative to John MacFarlane's pandocfilters, from which it
+is heavily inspired.")
+ (license license:bsd-3)))
+
(define-public python-pastel
(package
(name "python-pastel")
@@ -1437,13 +1517,13 @@ terminal.")
(define-public python-pathlib-abc
(package
(name "python-pathlib-abc")
- (version "0.1.1")
+ (version "0.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pathlib_abc" version))
(sha256
- (base32 "1gjsj7r331i54kbisy0zz1h9icx1hv6n97jaj5s7f3wvj7fpnkh8"))))
+ (base32 "1hy2rscq3msbpjs17jbhsqjs800kcnv2w1n425yh1ly609a9x726"))))
(build-system pyproject-build-system)
(native-inputs (list python-pytest python-hatchling))
(home-page "https://github.com/barneygale/pathlib-abc")
@@ -1454,6 +1534,19 @@ release of Python; specifically, it provides three ABCs that can be used to
implement path classes for non-local filesystems")
(license license:psfl)))
+;; XXX: It's for python-pathy@0.11.0, remove when no longer required.
+(define-public python-pathlib-abc-for-python-pathy
+ (hidden-package
+ (package
+ (inherit python-pathlib-abc)
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pathlib_abc" version))
+ (sha256
+ (base32 "1gjsj7r331i54kbisy0zz1h9icx1hv6n97jaj5s7f3wvj7fpnkh8")))))))
+
(define-public python-pbs-installer
(package
(name "python-pbs-installer")
@@ -3406,18 +3499,70 @@ commits.")
(uri
(pypi-uri "mkdocs-material" version))
(sha256
- (base32 "0ci9xiasq9nfn09v11m7p49vzazdbgslw7rpzjd6y3hsmn9vljz3"))))
- (build-system python-build-system)
+ (base32 "0ci9xiasq9nfn09v11m7p49vzazdbgslw7rpzjd6y3hsmn9vljz3"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; TODO There are still bundled assets and minified JS.
+ #~(delete-file-recursively "material/assets/javascripts/lunr/min"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; Requirement mkdocs-material-extensions
- ;; in-turn requires mkdocs-material. This causes
- ;; circular dependency, so we remove this requirement.
- (add-after 'unpack 'patch-requirements
- (lambda _
- (substitute* "requirements.txt"
- (("mkdocs-material-extensions.*$") "")))))))
+ (list
+ #:tests? #f ; No tests.
+ #:phases
+ #~(let ((symlink-js
+ (lambda (inputs)
+ (for-each
+ (lambda (lang)
+ (let* ((filename (string-append "lunr." lang ".min.js"))
+ (file (string-append "share/javascript/" filename)))
+ (symlink (search-input-file inputs file) filename)))
+ (list "ar" "da" "de" "es" "fi" "fr" "hu" "it" "ja" "multi"
+ "nl" "no" "pt" "ro" "ru" "stemmer.support" "sv" "tr"
+ "vi")))))
+ (modify-phases %standard-phases
+ ;; Requirement mkdocs-material-extensions
+ ;; in-turn requires mkdocs-material. This causes
+ ;; circular dependency, so we remove this requirement.
+ (add-after 'unpack 'patch-requirements
+ (lambda _
+ (substitute* "requirements.txt"
+ (("mkdocs-material-extensions.*$")
+ ""))))
+ (add-after 'ensure-no-mtimes-pre-1980 'inject-javascript-assets
+ (lambda* (#:key inputs #:allow-other-keys)
+ (mkdir-p "material/assets/javascripts/min/")
+ (with-directory-excursion "material/assets/javascripts/min/"
+ (symlink-js inputs))))
+ (add-after 'wrap 'replace-javascript-assets
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((site (site-packages inputs outputs))
+ (js-assets (string-append site "/material/"
+ "assets/javascripts")))
+ (with-directory-excursion js-assets
+ (delete-file-recursively "min")
+ (mkdir-p "min")
+ (with-directory-excursion "min"
+ (symlink-js inputs))))))))))
+ (native-inputs (list python-setuptools))
+ (inputs (list js-lunr-ar
+ js-lunr-da
+ js-lunr-de
+ js-lunr-es
+ js-lunr-fi
+ js-lunr-fr
+ js-lunr-hu
+ js-lunr-it
+ js-lunr-ja
+ js-lunr-nl
+ js-lunr-no
+ js-lunr-pt
+ js-lunr-ro
+ js-lunr-ru
+ js-lunr-sv
+ js-lunr-tr
+ js-lunr-vi
+ js-lunr-multi
+ js-lunr-stemmer-support))
(propagated-inputs
(list python-markdown python-mkdocs python-pygments
python-pymdown-extensions))
@@ -3717,15 +3862,28 @@ structure or other iterative computation.")
(sha256
(base32 "1cnaqnckpcrpc4b8ba18s5ds05w1yfiszcp7ql7pmx0jnrj25qax"))))
(build-system pyproject-build-system)
- (arguments (list #:tests? #false)) ;there are none
+ (arguments
+ (list
+ #:tests? #false ;there are none
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-shellescape-requirement
+ (lambda _
+ (substitute* "src/__init__.py"
+ (("import shellescape")
+ "import shlex")
+ (("shellescape\\.quote")
+ "shlex.quote"))
+ (substitute* "setup.py"
+ (("\"shellescape\",")
+ "")))))))
(propagated-inputs
(list python-beautifulsoup4
python-emoji-for-gh-md-to-html
python-pillow
python-requests
- python-shellescape
python-webcolors))
- (native-inputs (list python-setuptools python-wheel))
+ (native-inputs (list python-setuptools))
(home-page "https://github.com/phseiff/github-flavored-markdown-to-html/")
(synopsis "Github-flavored Markdown")
(description
@@ -3920,22 +4078,28 @@ distribute/setuptools setup.py script.")
(define-public python-rapidfuzz
(package
(name "python-rapidfuzz")
- (version "3.6.1")
+ (version "3.14.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "rapidfuzz" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rapidfuzz/RapidFuzz")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1rrx043zqqql31pcp92k61digibymp3l382gaxr4h8717kp0nrim"))))
+ (base32 "1kqy9paxri1ih47mwmsxwz7a222sn2si5n8qd7gxhdf1wdrpdrm7"))))
(build-system pyproject-build-system)
(native-inputs
- (list python-packaging
+ (list cmake-minimal
+ python-cython
python-pytest
- python-scikit-build
- python-setuptools))
+ python-scikit-build-core
+ rapidfuzz-cpp
+ taskflow))
(home-page "https://github.com/rapidfuzz/RapidFuzz")
(synopsis "Rapid fuzzy string matching")
- (description "RapidFuzz is a fast string matching library for Python and
+ (description
+ "RapidFuzz is a fast string matching library for Python and
C++, which is using the string similarity calculations from FuzzyWuzzy.")
(license license:expat)))
@@ -7771,16 +7935,8 @@ services or command-line parsing, converted from JSON/YAML (or
something else) to Python data-types.")
(license license:psfl)))
-(define-public python-schema-0.5
- (package (inherit python-schema)
- (version "0.5.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "schema" version))
- (sha256
- (base32
- "10zqvpaky51kgb8nd42bk7jwl8cn2zvayxjpdc1wwmpybj92x67s"))))))
+;; It may be removed after 2025-11-29.
+(define-deprecated/public-alias python-schema-0.5 python-schema)
(define-public python-kitchen
(package
@@ -12977,27 +13133,6 @@ using the PLY parsing library. It parses C code into an AST and can serve as
a front-end for C compilers or analysis tools.")
(license license:bsd-3)))
-(define-public python2-pycparser
- (let ((base (package
- (inherit python-pycparser)
- (version "2.18")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pycparser" version))
- (sha256
- (base32
- "09mjyw82ibqzl449g7swy8bfxnfpmas0815d2rkdjlcqw81wma4r"))))
- ;; FIXME: package-with-python2 needs to be updated to accept
- ;; pyproject-build-system packages.
- (build-system python-build-system)
- (arguments
- (cons* #:tests? #f
- (strip-keyword-arguments
- '(#:test-backend)
- (package-arguments python-pycparser)))))))
- (package-with-python2 base)))
-
(define-public python-pywavelets
(package
(name "python-pywavelets")
@@ -15002,16 +15137,6 @@ implementation of D-Bus.")
(properties `((python2-variant . ,(delay python2-dbus))))
(license license:expat)))
-(define-public python2-dbus
- (package/inherit python-dbus
- (name "python2-dbus")
- (inputs `(("python" ,python-2)
- ("libxcrypt" ,libxcrypt) ;required by Python.h
- ,@(alist-delete "python"
- (package-inputs python-dbus))))
- (arguments
- `(#:configure-flags '("PYTHON_VERSION=2")))))
-
(define-public python-notify2
(package
(name "python-notify2")
@@ -17396,57 +17521,6 @@ structures.")
(description "GPX file parser and GPS track manipulation library.")
(license license:asl2.0)))
-(define-public wfetch
- (let ((commit "e1cfa37814aebc9eb56ce994ebe877b6a6f9a715")
- (revision "2"))
- (package
- (name "wfetch")
- (version (git-version "0.1-pre" revision commit))
- (home-page "https://github.com/Gcat101/Wfetch")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1dmr85plx8zr6s14ym3r32g6crwxghkval5a24ah90ijx4dbn5q5"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:tests? #f ;no test suite
- #:phases
- #~(modify-phases %standard-phases
- (delete 'build)
- (replace 'install
- (lambda _
- (let ((bin (string-append #$output "/bin"))
- (share (string-append #$output "/share")))
- (mkdir-p share)
- (substitute* "wfetch/wfetch.py"
- (("os.sep, 'opt', 'wfetch'")
- (string-append "'" share "'")))
- ;; The documentation expects the executable to be named
- ;; 'wfetch', not 'wfetch.py'.
- (rename-file "wfetch/wfetch.py" "wfetch/wfetch")
- (install-file "wfetch/wfetch" bin)
- (copy-recursively "wfetch/icons" share)))))))
- (native-inputs (list python-setuptools))
- (inputs (list python-pyowm python-fire python-termcolor python-requests))
- (synopsis "Command-line tool to display weather info")
- (description
- "This package provides a tool similar to Neofetch/pfetch, but for
-weather: it can display the weather condition, temperature, humidity, etc.
-
-To use it, you must first run:
-
-@example
-export WEATHER_CLI_API=@var{your OpenWeatherMap API key}
-@end example
-")
- (license license:gpl3+))))
-
(define-public python-get-version
(package
(name "python-get-version")
@@ -19849,7 +19923,7 @@ text.")
(build-system pyproject-build-system)
(arguments
(list
- ;; tests: 10230 passed, 39 skipped, 73 deselected, 2 xfailed, 4 warnings
+ ;; tests: 10158 passed, 41 skipped, 143 deselected, 2 xfailed, 4 warnings
#:test-flags
#~(list "-m" "not network and not requires_docker"
;; Not all of the tests are thread save, see:
@@ -19892,7 +19966,55 @@ text.")
"test_create_db_cluster"
;; Checksum error
"test_upload_file_with_checksum_algorithm"
- "test_list_objects_v2_checksum_algo")
+ "test_list_objects_v2_checksum_algo"
+ ;; Assertion is not equal
+ "test_create_describe_update_and_delete_ledger"
+ "test_s3tables_get_table"
+ "test_tag_resource_and_list_tags_for_resource"
+
+ ;; XXX: Probably will be resolved in the next
+ ;; release, as botocore's refresh pace is fast.
+ ;;
+ ;; botocore.exceptions.UnknownServiceError: Unknown
+ ;; service: <...>
+ "test_create_app_response"
+ "test_describe_apps"
+ "test_create_instance"
+ "test_describe_instances"
+ "test_ec2_integration"
+ "test_create_layer_response"
+ "test_describe_layers"
+ "test_create_stack_response"
+ "test_describe_stacks"
+ "test_robot_application"
+ "test_create_describe_update_and_delete_ledger"
+ "test_tag_resource_and_list_tags_for_resource"
+ ;; botocore.exceptions.ClientError: An error
+ ;; occurred (404) when calling <...>
+ "test_create_event_source_mapping"
+ "test_delete_event_source_mapping"
+ "test_delete_table_deletes_underlying_table_storage"
+ "test_event_source_mapping_create_from_cloudformation_json"
+ "test_event_source_mapping_delete_from_cloudformation_json"
+ "test_event_source_mapping_delete_stack"
+ "test_event_source_mapping_update_from_cloudformation_json"
+ "test_get_event_source_mapping"
+ "test_get_table"
+ "test_invoke_fake_function_from_sqs_queue"
+ "test_list_event_source_mappings"
+ "test_rename_table"
+ "test_underlying_table_storage_does_not_support_delete_object"
+ "test_underlying_table_storage_does_not_support_list_objects"
+ "test_update_event_source_mapping"
+ "test_update_table_metadata_location"
+ "test_write_metadata_to_table"
+ ;; botocore.exceptions.ParamValidationError:
+ ;; Parameter validation failed <...>
+ "test_create_db_proxy"
+ "test_create_db_proxy_duplicate_name"
+ "test_create_db_proxy_invalid_subnet"
+ "test_describe_db_proxies"
+ "test_list_tags_db_proxy")
" and not ")
"tests")
#:phases
@@ -20231,29 +20353,28 @@ browser from Python.")
;; are compatible.
(package
(name "python-botocore")
- (version "1.35.91")
+ (version "1.40.61")
(source
(origin
(method url-fetch)
(uri (pypi-uri "botocore" version))
(sha256
(base32
- "0822q7w802vwngsxkfwjrbs4zc21avs1hsai5i6zy7vhaicrq2vv"))))
+ "1kajxzrh4nq4hx7rgbam0sffx06d45q7rw2csv69q3q9kgb7lj52"))))
(build-system pyproject-build-system)
(arguments
(list
+ ;; tests: 4491 passed, 72 skipped
#:test-flags
#~(list "--numprocesses" (number->string (min (parallel-job-count) 8))
- ;; It struggles to find 'botocore'.
- "--ignore" "tests/functional/leak/test_resource_leaks.py"
- ;; Tests require networking.
- "--ignore" "tests/integration")))
+ ;; The full test suite is huge, run some of it's portion.
+ "--ignore=tests/integration"
+ "--ignore=tests/functional")))
(native-inputs
(list python-jsonschema
python-pytest
python-pytest-xdist
- python-setuptools
- python-wheel))
+ python-setuptools))
(propagated-inputs
(list python-dateutil
python-jmespath
@@ -20268,29 +20389,29 @@ Amazon Web Services (AWS) API.")
(define-public python-boto3
(package
(name "python-boto3")
- (version "1.35.59")
+ (version "1.40.61")
(source
(origin
- (method git-fetch) ; no tests in PyPI release
+ (method git-fetch)
(uri (git-reference
- (url "https://github.com/boto/boto3")
- (commit version)))
+ (url "https://github.com/boto/boto3")
+ (commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "10bdzdaw7qg2m5n5ivb2zzsdl7wgjmz05xyxajd4cmk629ick95m"))))
+ (base32 "0rjcs9grnrcak6w4l5plqcbwvknmg1k3q0xzg11kpp0sfiszbdph"))))
(build-system pyproject-build-system)
(arguments
(list
+ ;; tests: 1415 passed, 17 skipped, 1 warning
#:test-flags
- #~(list "--numprocesses" (number->string (parallel-job-count))
+ #~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))
;; Integration tests are trying to connect to AWS.
- "--ignore" "tests/integration")))
+ "--ignore=tests/integration")))
(native-inputs
(list python-mock
python-pytest
python-pytest-xdist
- python-setuptools
- python-wheel))
+ python-setuptools))
(propagated-inputs
(list python-botocore
python-jmespath
@@ -21088,49 +21209,6 @@ developed separately, both serve the same purpose: to provide Python bindings
for libmagic.")
(license license:expat)))
-(define-public s3cmd
- (package
- (name "s3cmd")
- (version "2.3.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/s3tools/s3cmd")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0rdgwwmmp8mdxc84bxq6k9a7v7z2qgc3df47djzs2b84gw81dglx"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:tests? #f ; XXX: Tests require network access.
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'hide-wrapping
- (lambda _
- (substitute* "S3/MultiPart.py"
- (("sys\\.argv\\[0\\]")
- "\"s3cmd\""))
- (substitute* "s3cmd"
- (("optparser\\.get_prog_name\\(\\)")
- "\"s3cmd\""))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "python" "run-tests.py")))))))
- (native-inputs (list python-setuptools))
- (inputs (list python-dateutil python-magic))
- (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
-in storage services that are compatible with the Amazon Simple Storage
-Service (S3) protocol, including S3 itself. It supports rsync-like backup,
-GnuPG encryption, and more. It also supports management of Amazon's
-CloudFront content delivery network.")
- (license license:gpl2+)))
-
(define-public python-securetar
(package
(name "python-securetar")
@@ -23168,43 +23246,6 @@ pytest-fixtures-style dependency injection.")
binary or text.")
(license license:bsd-3)))
-(define-public binwalk
- (package
- (name "binwalk")
- (version "2.3.4")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ReFirmLabs/binwalk")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0cfm1khckq986l0q68kmfyfagc6zmb94hgjjm847fjcil77dnlw6"))
- (modules '((guix build utils)))
- (snippet
- #~(begin
- (for-each delete-file
- (list "testing/tests/input-vectors/firmware.zip"
- "testing/tests/test_firmware_zip.py"))))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'set-home
- (lambda _
- (setenv "HOME" ""))))))
- (native-inputs
- (list python-coverage python-nose))
- (home-page "https://github.com/ReFirmLabs/binwalk")
- (synopsis "Firmware analysis tool")
- (description "Binwalk is a tool for analyzing, reverse engineering, and
- extracting firmware images")
- (license license:expat)))
-
-(define-deprecated-package python-binwalk
- binwalk)
-
(define-public python-bson
(package
(name "python-bson")
@@ -24217,25 +24258,24 @@ creating a tag.")
(method url-fetch)
(uri (pypi-uri "pbkdf2" version))
(sha256
- (base32
- "0yb99rl2mbsaamj571s1mf6vgniqh23v98k4632150hjkwv9fqxc"))))
- (build-system python-build-system)
+ (base32 "0yb99rl2mbsaamj571s1mf6vgniqh23v98k4632150hjkwv9fqxc"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "python" "test/test_pbkdf2.py"))))))
+ (list
+ #:test-backend #~'custom
+ #:test-flags #~(list "test/test_pbkdf2.py")))
+ (native-inputs (list python-setuptools))
(home-page "https://www.dlitz.net/software/python-pbkdf2/")
(synopsis "Password-based key derivation")
- (description "This module implements the password-based key derivation
- function, PBKDF2, specified in RSA PKCS#5 v2.0.
+ (description
+ "This module implements the password-based key derivation function,
+PBKDF2, specified in RSA PKCS#5 v2.0.
- PKCS#5 v2.0 Password-Based Key Derivation is a key derivation function which
- is part of the RSA Public Key Cryptography Standards series. The provided
- implementation takes a password or a passphrase and a salt value (and
- optionally a iteration count, a digest module, and a MAC module) and provides
- a file-like object from which an arbitrarily-sized key can be read.")
+PKCS#5 v2.0 Password-Based Key Derivation is a key derivation function which
+is part of the RSA Public Key Cryptography Standards series. The provided
+implementation takes a password or a passphrase and a salt value (and
+optionally a iteration count, a digest module, and a MAC module) and provides
+a file-like object from which an arbitrarily-sized key can be read.")
(license license:expat)))
(define-public python-qrcode
@@ -24269,22 +24309,37 @@ console.")
(define-public python-rst2ansi
(package
(name "python-rst2ansi")
- (version "0.1.5")
+ (properties '((commit . "c6f390b45be689a5760060c990e3fe10f502e671")
+ (revision . "0")))
+ (version (git-version "0.1.5"
+ (assoc-ref properties 'revision)
+ (assoc-ref properties 'commit)))
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "rst2ansi" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Snaipe/python-rst-to-ansi")
+ (commit (assoc-ref properties 'commit))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0vzy6gd60l79ff750scl0sz48r1laalkl6md6dwzah4dcadgn5qv"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-docutils))
+ (base32 "0vsn1jjhm1hx0q5i954lyhny2yvn619am1di03aypfl0wm1mh7qd"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f ; 2 tests fail with additional line characters
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "cram" "test" "-v")))))))
+ (native-inputs (list python-cram python-setuptools))
+ (propagated-inputs (list python-docutils))
(home-page "https://github.com/Snaipe/python-rst-to-ansi")
(synopsis "Convert RST to ANSI-decorated console output")
(description
- "Python module dedicated to rendering RST (reStructuredText) documents
- to ansi-escaped strings suitable for display in a terminal.")
+ "Python module dedicated to rendering RST (reStructuredText) documents to
+ansi-escaped strings suitable for display in a terminal.")
(license license:expat)))
(define-public python-ansi2html
@@ -24313,7 +24368,7 @@ converting text with ANSI color codes to HTML or LaTeX.")
(define-public python-easy-ansi
(package
(name "python-easy-ansi")
- (version "0.3")
+ (version "2.1")
(source
(origin
(method git-fetch)
@@ -24322,40 +24377,68 @@ converting text with ANSI color codes to HTML or LaTeX.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0albh55ynzs98qy9pln4qaxw5qhhh3lk09jy9bx19gycrp1c3lc3"))))
- (build-system python-build-system)
+ (base32 "16zk4vyrr3hhb6aijmqchjlz181mgk7mi9zyyjd8i53h9rr00wkx"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'remove-extra
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (with-directory-excursion (site-packages inputs outputs)
+ (delete-file-recursively "tests")
+ (delete-file "setup.py")))))))
+ (native-inputs (list python-pytest python-setuptools))
(home-page "https://gitlab.com/joeysbytes/easy-ansi")
(synopsis "Terminal framework API")
(description
"Easy ANSI is a terminal framework API to give you an easy way to use
- colors, cursor control movements, and line/box drawing. It is not meant as a
- replacement to more full-featured frameworks (such as curses or urwid), but as
- a tool to quickly create nice-looking screens in your terminal window. You
- can even create animations with the cursor controls.")
+colors, cursor control movements, and line/box drawing. It is not meant as a
+replacement to more full-featured frameworks (such as curses or urwid), but as
+a tool to quickly create nice-looking screens in your terminal window. You
+can even create animations with the cursor controls.")
(license license:expat)))
+(define-public python-easy-ansi-0.3
+ (package
+ (inherit python-easy-ansi)
+ (name "python-easy-ansi")
+ (version "0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/joeysbytes/easy-ansi")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0albh55ynzs98qy9pln4qaxw5qhhh3lk09jy9bx19gycrp1c3lc3"))))
+ (arguments '())))
+
(define-public python-pycosat
(package
(name "python-pycosat")
- (version "0.6.3")
+ (version "0.6.6")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "pycosat" version ".zip"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ContinuumIO/pycosat")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1vg0f2fwcybpdqv92z0hwdl603n2safh3fqvjjxkksd78r4qg6ac"))))
+ (base32 "1p62d7fqny4ayr218lshrp35g75ljaxlgza9yr2hm44aqggvmqbw"))))
;; TODO: Unundle picosat. http://fmv.jku.at/picosat/
- (build-system python-build-system)
- (native-inputs
- (list unzip))
+ (build-system pyproject-build-system)
+ (arguments (list #:test-backend #~'unittest))
+ (native-inputs (list unzip python-setuptools))
(home-page "https://github.com/ContinuumIO/pycosat")
(synopsis "Bindings to picosat (a SAT solver)")
(description
- "This package provides efficient Python bindings to @code{picosat} on
- the C level. When importing pycosat, the @code{picosat} solver becomes part
- of the Python process itself. @code{picosat} is a @dfn{Boolean Satisfiability
- Problem} (SAT) solver.")
+ "This package provides efficient Python bindings to @code{picosat} on the
+C level. When importing pycosat, the @code{picosat} solver becomes part of
+the Python process itself. @code{picosat} is a @dfn{Boolean Satisfiability
+Problem} (SAT) solver.")
(license license:expat)))
(define-public python-pypeg2
@@ -24639,22 +24722,28 @@ builds partial trees by inspecting living objects.")
(define-public python-isbnlib
(package
(name "python-isbnlib")
- (version "3.10.4")
+ (version "3.10.14")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "isbnlib" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xlcnd/isbnlib")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0iin0x2xqwyphyyzd0mzrq5v5xm7b6dlbb294k4dywra5qvbrgzm"))))
- (build-system python-build-system)
- (arguments '(#:tests? #f)) ; No test
+ (base32 "07vpq8y0mn16489d1pl4zxgczgl1s2ydli4lci7f73z4zv179akp"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags #~(list "-m" "not network")))
+ (native-inputs (list python-pytest python-pytest-cov python-setuptools))
(home-page "https://github.com/xlcnd/isbnlib")
(synopsis "Python library to work with ISBN strings")
- (description "@code{python-isbnlib} is a (pure) python library that provides
- several useful methods and functions to validate, clean, transform, hyphenate and
- get metadata for ISBN strings. Its origin was as the core of isbntools. This short
- version, is suitable to be include as a dependency in other projects.")
+ (description
+ "@code{python-isbnlib} is a (pure) python library that provides several
+useful methods and functions to validate, clean, transform, hyphenate and get
+metadata for ISBN strings. Its origin was as the core of isbntools. This
+short version, is suitable to be include as a dependency in other projects.")
(license license:lgpl3+)))
(define-public python-isoduration
@@ -24809,23 +24898,25 @@ applications in seconds while maintaining all the flexibility.")
(define-public python-mwclient
(package
(name "python-mwclient")
- (version "0.10.1")
+ (version "0.11.0")
(source
(origin
(method git-fetch)
- ;; The PyPI version wouldn't contain tests.
(uri (git-reference
(url "https://github.com/mwclient/mwclient")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "120snnsh9n5svfwkyj1w9jrxf99jnqm0jk282yypd3lpyca1l9hj"))))
- (build-system python-build-system)
+ (base32 "14kg353vzrwh7zks7zsza4hfb2n5vxprh9hnw4rjsimm8509axda"))))
+ (build-system pyproject-build-system)
(propagated-inputs
- (list python-requests-oauthlib python-six))
+ (list python-requests-oauthlib))
(native-inputs
- (list python-mock python-pytest python-pytest-cov
- python-pytest-runner python-responses))
+ (list python-mock
+ python-pytest
+ python-pytest-cov
+ python-responses
+ python-setuptools))
(home-page "https://github.com/btongminh/mwclient")
(synopsis "MediaWiki API client")
(description "This package provides a MediaWiki API client.")
@@ -24834,21 +24925,28 @@ applications in seconds while maintaining all the flexibility.")
(define-public python-kneed
(package
(name "python-kneed")
- (version "0.7.0")
+ (version "0.8.5")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "kneed" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/arvkevi/kneed")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0vkwi0pr7nfkp3c46hnmx0275yx68v96v10rmspv0wis33x6f39l"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-matplotlib python-numpy python-scipy))
+ (base32 "0kcglaql1nqvjv5q62myybznii1n1akln5yacp63rg8xv7l0zad1"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags #~(list "--ignore=tests/test_no_matplotlib.py")))
+ (native-inputs (list python-hatchling python-pytest python-pytest-cov))
+ (propagated-inputs (list python-matplotlib python-numpy python-scipy))
(home-page "https://github.com/arvkevi/kneed")
(synopsis "Knee-point detection in Python")
- (description "This package implements the kneedle algorithm. Given a set
-of x and y values, kneed will return the knee point of the function. The knee
-point is the point of maximum curvature.")
+ (description
+ "This package implements the kneedle algorithm. Given a set of x and y
+values, kneed will return the knee point of the function. The knee point is
+the point of maximum curvature.")
(license license:bsd-3)))
(define-public python-diff-cover
@@ -24959,26 +25057,36 @@ parts of the lines that were modified.")
(define-public python-levenshtein
(package
(name "python-levenshtein")
- (version "0.12.2")
+ (version "0.27.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "python-Levenshtein" version))
- (sha256
- (base32
- "1xj60gymwx1jl2ra9razx2wk8nb9cv1i7l8d14qsp8a8s7xra8yw"))))
- (build-system python-build-system)
- (home-page "https://github.com/ztane/python-Levenshtein")
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rapidfuzz/Levenshtein")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1khr1vjmrwakjfdsb22k508h3g8awjp0yb398ca8n1xanwzk4l8h"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-rapidfuzz))
+ (native-inputs
+ (list cmake-minimal
+ python-cython
+ python-pytest
+ python-scikit-build-core
+ python-setuptools
+ rapidfuzz-cpp))
+ (home-page "https://github.com/rapidfuzz/Levenshtein")
(synopsis "Fast computation of Levenshtein distance and string similarity")
(description
"The Levenshtein Python C extension module contains functions for fast computation of
- @enumerate
- @item Levenshtein (edit) distance, and edit operations
- @item string similarity
- @item approximate median strings, and generally string averaging
- @item string sequence and set similarity
- @end enumerate
- It supports both normal and Unicode strings.")
+@enumerate
+@item Levenshtein (edit) distance, and edit operations
+@item string similarity
+@item approximate median strings, and generally string averaging
+@item string sequence and set similarity
+@end enumerate
+It supports both normal and Unicode strings.")
(license license:gpl2+)))
(define-public python-scandir
@@ -25138,41 +25246,40 @@ filetypes can be easily added by creating plugins for them.")
(define-public python-radon
(package
(name "python-radon")
- (version "5.1.0")
+ (version "6.0.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "radon" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rubik/radon")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1vmf56zsf3paa1jadjcjghiv2kxwiismyayq42ggnqpqwm98f7fb"))))
- (build-system python-build-system)
+ (base32 "01n3idnrglgbjgwvvgs7yg9amjda3zs2659sp2zqpllp9gva73y9"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "setup.py"
- ((".*'future'.*")
- "")
- (("mando>=0\\.6,<0\\.7")
- "mando>=0.6")
- (("colorama==0.4.1")
- "colorama>=0.4.1"))))
- (replace 'check
- (lambda _
- (invoke "python" "radon/tests/run.py"))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* (list "pyproject.toml" "requirements.txt")
+ (("(mando.*>=0\\.6),<0\\.8" _ mando-lower-bound)
+ mando-lower-bound)))))))
(propagated-inputs (list python-colorama python-mando))
- (native-inputs (list python-pytest python-pytest-mock))
+ (native-inputs (list python-poetry-core python-pytest python-pytest-mock
+ python-setuptools))
(home-page "https://radon.readthedocs.org/")
(synopsis "Code Metrics in Python")
- (description "Radon is a Python tool which computes various code metrics.
- Supported metrics are:
- @itemize @bullet
- @item raw metrics: SLOC, comment lines, blank lines, &c.
- @item Cyclomatic Complexity (i.e., McCabe’s Complexity)
- @item Halstead metrics (all of them)
- @item the Maintainability Index (a Visual Studio metric)
- @end itemize")
+ (description
+ "Radon is a Python tool which computes various code metrics. Supported
+metrics are:
+@itemize @bullet
+@item raw metrics: SLOC, comment lines, blank lines, &c.
+@item Cyclomatic Complexity (i.e., McCabe’s Complexity)
+@item Halstead metrics (all of them)
+@item the Maintainability Index (a Visual Studio metric)
+@end itemize")
(license license:expat)))
(define-public python-rgbxy
@@ -25343,39 +25450,31 @@ in pure Python.")
;; The latest commit contains fixes for building with both python3 and python2.
(define-public python-rfc6555
- (let ((commit "1a181b432312731f6742a5eb558dae4761d32361")
- (revision "1"))
- (package
- (name "python-rfc6555")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/sethmlarson/rfc6555")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1bxl17j9vs69cshcqnlwamr03hnykxqnwz3mdgi6x3s2k4q18npp"))))
- (build-system python-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (if tests?
- ;; Other tests require network access.
- (invoke "pytest" "tests/test_ipv6.py")
- #t))))))
- (native-inputs
- (list python-pytest))
- (home-page "https://pypi.org/project/rfc6555/")
- (synopsis "Python implementation of RFC 6555")
- (description
- "Python implementation of the Happy Eyeballs Algorithm described in RFC
- 6555. Provided with a single file and dead-simple API to allow easy vendoring
- and integration into other projects.")
- (license license:asl2.0))))
+ (package
+ (name "python-rfc6555")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sethmlarson/rfc6555")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0cynzrs3l6ywmkpcpx9m36604dav64sk3rk1s12hj49qqyx20v1f"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; Other tests require network access.
+ #:test-flags #~(list "tests/test_ipv6.py")))
+ (native-inputs (list python-pytest python-setuptools))
+ (home-page "https://pypi.org/project/rfc6555/")
+ (synopsis "Python implementation of RFC 6555")
+ (description
+ "Python implementation of the Happy Eyeballs Algorithm described in RFC
+6555. Provided with a single file and dead-simple API to allow easy vendoring
+and integration into other projects.")
+ (license license:asl2.0)))
(define-public python-sacn
(package
@@ -25485,31 +25584,32 @@ in pure Python.")
(name "python-arcp")
(version "0.2.1")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "arcp" version))
- (sha256
- (base32
- "1p8mfyjssa6pbn5dp6pyzv9yy6kwm2rz5jn2kjbq5vy9f9wsq5sw"))))
- (build-system python-build-system)
- (native-inputs
- (list python-pytest))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stain/arcp-py")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1wjygci60nmcdrgrhb0vwqmhspzdv3g69x2b92vjxq709ifrpgqp"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools))
(home-page "https://arcp.readthedocs.io/")
- (synopsis
- "Archive and Package URI parser and generator")
+ (synopsis "Archive and Package URI parser and generator")
(description
"@acronym{arcp, Archive and Package} provides functions for creating
- @code{arcp_} URIs, which can be used for identifying or parsing hypermedia files
- packaged in an archive or package, like a ZIP file. arcp URIs can be used to
- consume or reference hypermedia resources bundled inside a file archive or an
- application package, as well as to resolve URIs for archive resources within a
- programmatic framework. This URI scheme provides mechanisms to generate a
- unique base URI to represent the root of the archive, so that relative URI
- references in a bundled resource can be resolved within the archive without
- having to extract the archive content on the local file system. An arcp URI can
- be used for purposes of isolation (e.g. when consuming multiple archives),
- security constraints (avoiding \"climb out\" from the archive), or for
- externally identiyfing sub-resources referenced by hypermedia formats.")
+@code{arcp_} URIs, which can be used for identifying or parsing hypermedia
+files packaged in an archive or package, like a ZIP file. arcp URIs can be
+used to consume or reference hypermedia resources bundled inside a file
+archive or an application package, as well as to resolve URIs for archive
+resources within a programmatic framework. This URI scheme provides
+mechanisms to generate a unique base URI to represent the root of the archive,
+so that relative URI references in a bundled resource can be resolved within
+the archive without having to extract the archive content on the local file
+system. An arcp URI can be used for purposes of isolation (e.g. when
+consuming multiple archives), security constraints (avoiding \"climb out\"
+from the archive), or for externally identiyfing sub-resources referenced by
+hypermedia formats.")
(license license:asl2.0)))
(define-public python-shellescape
@@ -25778,46 +25878,45 @@ web frameworks.")
(define-public python-apache-libcloud
(package
(name "python-apache-libcloud")
- (version "3.1.0")
+ (version "3.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "apache-libcloud" version))
(sha256
- (base32
- "1b28j265kvibgxrgxx0gwfm6cmv252c8ph1j2vb0cpms8ph5if5v"))))
- (build-system python-build-system)
+ (base32 "14bc4z246ka0h6kywpxqdfgb2c5y6lfclpx99ki2bhiv285lrgvm"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:tests? #f ; XXX: all tests fail requiring additional credentials
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-ssh
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "libcloud/compute/ssh.py"
- (("'ssh'")
- (string-append "'" (search-input-file inputs "/bin/ssh")
- "'")))))
- (add-after 'unpack 'patch-tests
- (lambda _
- (substitute* "libcloud/test/compute/test_ssh_client.py"
- (("^class ShellOutSSHClientTests")
- "@unittest.skip(\"Guix container doesn't have ssh service\")
+ (list
+ #:tests? #f ; XXX: all tests fail requiring additional credentials
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-ssh
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "libcloud/compute/ssh.py"
+ (("'ssh'")
+ (format #f "~s" (search-input-file inputs "/bin/ssh"))))))
+ (add-after 'unpack 'patch-tests
+ (lambda _
+ (substitute* "libcloud/test/compute/test_ssh_client.py"
+ (("^class ShellOutSSHClientTests")
+ "@unittest.skip(\"Guix container doesn't have ssh service\")
class ShellOutSSHClientTests"))))
- (add-before 'check 'copy-secret
- (lambda _
- (copy-file "libcloud/test/secrets.py-dist"
- "libcloud/test/secrets.py"))))))
+ (add-before 'check 'copy-secret
+ (lambda _
+ (copy-file "libcloud/test/secrets.py-dist"
+ "libcloud/test/secrets.py"))))))
(inputs
(list openssh))
(propagated-inputs
- (list python-paramiko python-requests))
+ (list python-requests))
(native-inputs
- (list python-lockfile python-mock python-pytest python-pytest-runner
- python-requests-mock))
+ (list python-pytest python-requests-mock python-setuptools))
(home-page "https://libcloud.apache.org/")
(synopsis "Unified Cloud API")
- (description "@code{libcloud} is a Python library for interacting with
- many of the popular cloud service providers using a unified API.")
+ (description
+ "@code{libcloud} is a Python library for interacting with many of the
+popular cloud service providers using a unified API.")
(license license:asl2.0)))
(define-public python-smmap
@@ -26762,16 +26861,18 @@ working with iterables.")
(define-public python-latexcodec
(package
(name "python-latexcodec")
- (version "2.0.1")
+ (version "3.0.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "latexcodec" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mcmtroffaes/latexcodec/")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "16pynfnn8y8xp55yp06i721fccv5dlx9ba6k5bzcwq9j6wf5b8ia"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-six))
+ (base32 "0j4hkn161h0hsx3ixs85dqnsaya27ck9c2ri1lv8cayc5a9kqvcp"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools))
(home-page "https://readthedocs.org/projects/latexcodec/")
(synopsis "Work with LaTeX code in Python")
(description "Lexer and codec to work with LaTeX code in Python.")
@@ -26821,29 +26922,24 @@ close matches in Python.")
(define-public python-pybtex
(package
(name "python-pybtex")
- (version "0.24.0")
+ (version "0.25.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "pybtex" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/pybtex/pybtex")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0ma7sc10hk6caq5zghbk865vrlaynz7x5z630z0facqpnqssx3l1"))))
- (build-system python-build-system)
- (native-inputs
- (list python-pytest))
- (propagated-inputs
- (list python-latexcodec python-pyyaml python-six))
- (arguments
- (list
- #:phases #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest")))))))
+ (base32 "12rixrciizlvdxxja7qm6c02yzyslzd0jcv07niaii1ly0dg1fq4"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools))
+ (propagated-inputs (list python-latexcodec python-pyyaml))
(home-page "https://pybtex.org/")
(synopsis "BibTeX-compatible bibliography processor")
- (description "Pybtex is a BibTeX-compatible bibliography processor written
-in Python. You can simply type pybtex instead of bibtex.")
+ (description
+ "Pybtex is a BibTeX-compatible bibliography processor written in Python.
+You can simply type pybtex instead of bibtex.")
(license license:expat)))
(define-public python-pybtex-apa-style
@@ -26878,77 +26974,78 @@ in Python. You can simply type pybtex instead of bibtex.")
(version "1.0.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "onetimepass" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tadeck/onetimepass/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "09vagxgbq78wvq4xbikmn2hpqqsa2i96kqsmphf7dqynfv0dlsd5"))))
- (build-system python-build-system)
+ (base32 "0wmv62l3r8r4428gdzyj80lhgadfqvj220khz1wnm9alyzg60wkh"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f)) ; Requires unpackaged timecop.
+ (native-inputs (list python-setuptools))
(propagated-inputs (list python-six))
(home-page "https://github.com/tadeck/onetimepass/")
(synopsis "One-time password library")
- (description "Python one-time password library for HMAC-based (HOTP) and
-time-based (TOTP) passwords.")
+ (description
+ "Python one-time password library for HMAC-based (HOTP) and 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)
+ (properties '((commit . "615c345f169e2603e0b907287559a4535fc3c6f9")
+ (revision . "0")))
+ (version (git-version "10.10.1"
+ (assoc-ref properties 'revision)
+ (assoc-ref properties 'commit)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/online-judge-tools/api-client")
+ (commit (assoc-ref properties 'commit))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "13m3cxv6bd3igj6649149xb27ljmzqzpli6hpfrywvgbm238hbws"))
+ (patches
+ (search-patches "python-online-judge-api-client-tests.patch"))
+ ))
+ (build-system pyproject-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))
+ (list
+ #:test-flags
+ #~(list "--ignore-glob=tests/get_contest_*.py"
+ "--ignore-glob=tests/get_problem_*.py")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'configure-tests
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (delete-file-recursively
+ (string-append (site-packages inputs outputs)
+ "/tests"))
+ (call-with-output-file "pytest.ini"
+ (lambda (port)
+ (format port "\
+[pytest]
+python_files = tests/*.py"))))))))
+ (native-inputs (list python-pytest python-setuptools))
+ (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.")
+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
@@ -27164,53 +27261,62 @@ Glob2 currently based on the glob code from Python 3.3.1.")
(define-public python-gipc
(package
(name "python-gipc")
- (version "0.6.0")
+ (version "1.8.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "gipc" version ".zip"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jgehrcke/gipc")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0pd9by719qh882hqs6xpby61sn1x5h98hms5p2p8yqnycrf1s0h2"))))
- (build-system python-build-system)
+ (base32 "18w1fi3gh8i3kl58n6jpixzc2w42znxqhb3lj6hwn1641wq2hyrz"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'adjust-for-pytest-8
+ (lambda _
+ (substitute* "test/test_gipc.py"
+ (("def setup") "def setup_method")
+ (("def teardown") "def teardown_method")))))))
(native-inputs
- (list unzip))
+ (list python-pytest
+ python-setuptools))
(propagated-inputs
(list python-gevent))
(home-page "https://gehrcke.de/gipc/")
(synopsis "Child process management in the context of gevent")
- (description "Usage of Python's multiprocessing package in a
-gevent-powered application may raise problems. With @code{gipc},
-process-based child processes can safely be created anywhere within a
-gevent-powered application.")
+ (description
+ "Usage of Python's multiprocessing package in a gevent-powered
+application may raise problems. With @code{gipc}, process-based child
+processes can safely be created anywhere within a gevent-powered
+application.")
(license license:expat)))
(define-public python-beautifultable
(package
(name "python-beautifultable")
- (version "1.0.0")
+ (version "1.1.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "beautifultable" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pri22296/beautifultable")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0wwlbifcbpzy3wfv6yzsxncarsngzizmmxbn6cy5gazlcq7h4k5x"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-wcwidth))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-setup.py
- (lambda _
- (substitute* "setup.py"
- (("setup\\(")
- "setup(\n test_suite=\"test\",")))))))
+ (base32 "0b6c7dpc45sm3vn65qm00q20sdgpi78xxzwc0rij7hnj9c45w97x"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:test-backend #~'unittest))
+ (native-inputs (list python-pandas python-setuptools))
+ (propagated-inputs (list python-wcwidth))
(home-page "https://github.com/pri22296/beautifultable")
(synopsis "Print ASCII tables for terminals")
- (description "@code{python-beautifultable} provides a class for easily
-printing tabular data in a visually appealing ASCII format to a terminal.
+ (description
+ "@code{python-beautifultable} provides a class for easily printing
+tabular data in a visually appealing ASCII format to a terminal.
Features include, but are not limited to:
@itemize
@@ -27235,9 +27341,9 @@ Features include, but are not limited to:
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "055xf7ja7zjhxis0ab5fnfsx16fsvr5fvc6mixqybanwxh8sgfjk"))))
- (build-system python-build-system)
+ (base32 "055xf7ja7zjhxis0ab5fnfsx16fsvr5fvc6mixqybanwxh8sgfjk"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools))
(home-page "https://github.com/asharov/globber")
(synopsis "Library for string matching with glob patterns")
(description
@@ -27293,7 +27399,7 @@ commit, but it also includes some other useful statistics.")
(define-public python-gitignore-parser
(package
(name "python-gitignore-parser")
- (version "0.1.12")
+ (version "0.1.13")
(source
(origin
(method git-fetch)
@@ -27302,18 +27408,10 @@ commit, but it also includes some other useful statistics.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "00s8vvslnlbqnmkgnmc374mjzbsw7b167gh7wf5ygigd79cpnnxk"))))
+ (base32 "0lx1lip9p70my7z77szxc6izg3dj3000r6z71f2bnx2z13rl5pld"))))
(build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- ;; Tests are missing in PyPI.
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "python" "-m" "unittest")))))))
- (native-inputs (list python-setuptools python-wheel))
+ (arguments (list #:test-backend #~'unittest))
+ (native-inputs (list python-setuptools))
(home-page "https://github.com/mherrmann/gitignore_parser")
(synopsis "Spec-compliant gitignore parser for Python")
(description
@@ -27326,27 +27424,32 @@ commit, but it also includes some other useful statistics.")
(version "2.0.4")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "fusepy" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fusepy/fusepy")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0v5grm4zyf58hsplwsxfbihddw95lz9w8cy3rpzbyha287swgx8h"))))
- (build-system python-build-system)
+ (base32 "10smh49lzmqam6ddxcnp1dajy4s9hi5ri3qp1rhwdyfsaq3pay81"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'build 'set-library-file-name
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((fuse (assoc-ref inputs "fuse")))
- (substitute* "fuse.py"
- (("find_library\\('fuse'\\)")
- (string-append "'" fuse "/lib/libfuse.so'")))))))))
- (propagated-inputs
- (list fuse-2))
+ (list
+ #:tests? #f ; No formalized tests.
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-library-file-name
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "fuse.py"
+ (("find_library\\('fuse'\\)")
+ (format #f "~s"
+ (search-input-file inputs "lib/libfuse.so")))))))))
+ (native-inputs (list python-setuptools))
+ (propagated-inputs (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
-MacFUSE. The binding is created using the standard @code{ctypes} library.")
+ (description
+ "Python module that provides a simple interface to FUSE and MacFUSE. The
+binding is created using the standard @code{ctypes} library.")
(license license:isc)))
(define-public python-fusepyng
@@ -27574,24 +27677,20 @@ and corruption checks.")
(define-public python-requests-file
(package
(name "python-requests-file")
- (version "1.5.1")
+ (version "3.0.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "requests-file" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/dashea/requests-file")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "13kx4k83i9zcv20h0fnmawwwdzhcmw1z97mqib1h379qsc445mq7"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "python" "tests/test_requests_file.py")))))))
- (propagated-inputs
- (list python-requests python-six))
- (home-page "https://github.com/dashea/requests-file")
+ (base32 "0wvz2fkx01libz731a9pfx0l5p44cd33ba8gs7kw5dksfzfwvark"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools))
+ (propagated-inputs (list python-requests))
+ (home-page "https://codeberg.org/dashea/requests-file")
(synopsis "File transport adapter for Requests")
(description
"Requests-File is a transport adapter for use with the Requests Python
@@ -27625,47 +27724,6 @@ a file (or some information about a file), return a set of standardized tags
identifying what the file is.")
(license license:expat)))
-(define-public tldr
- (package
- (name "tldr")
- (version "3.4.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/tldr-pages/tldr-python-client")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "06rhpywaypqwakw8v187cdf52yl5c7fm19f1q7nbbsydbs0ndmb1"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- ;; This test fails. It tries to open a network socket.
- #:test-flags #~(list "-k" "not test_error_message")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'build 'build-doc
- (lambda _
- (invoke "make" "-C" "docs"))))))
- (native-inputs
- (list python-hatchling
- python-pytest
- python-sphinx-argparse))
- (inputs
- (list python-colorama
- python-termcolor
- python-shtab))
- (home-page "https://github.com/tldr-pages/tldr-python-client")
- (synopsis "Python command-line client for tldr pages")
- (description "This package provides the @code{tldr} command allowing users
-to view @code{tldr} pages from a shell. The @code{tldr} pages are a community
-effort to simplify the man pages with practical examples.")
- (license license:expat)))
-
-(define-public python-tldr
- (deprecated-package "python-tldr" tldr))
-
(define-public python-nodeenv
(package
(name "python-nodeenv")
@@ -27710,15 +27768,13 @@ environments.")
(method url-fetch)
(uri (pypi-uri "PyNamecheap" version))
(sha256
- (base32
- "0wkbwz208j8nfrsmzmclvxg22ymknn0mlz76wbdza9k2bx2zja6l"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-requests))
- (home-page
- "https://github.com/Bemmu/PyNamecheap")
- (synopsis
- "Namecheap API client in Python")
+ (base32 "0wkbwz208j8nfrsmzmclvxg22ymknn0mlz76wbdza9k2bx2zja6l"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f)) ; No tests.
+ (native-inputs (list python-setuptools))
+ (propagated-inputs (list python-requests))
+ (home-page "https://github.com/Bemmu/PyNamecheap")
+ (synopsis "Namecheap API client in Python")
(description
"PyNamecheap is a Namecheap API client in Python.")
(license license:expat)))
@@ -27763,23 +27819,38 @@ derivation parsing, namingly @code{b32decode()}, @code{b32encode()} and
(define-public python-dns-lexicon
(package
(name "python-dns-lexicon")
- (version "2.4.0")
+ (version "3.21.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "dns-lexicon" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dns-lexicon/dns-lexicon")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0jdn3ns71bsybr7njgsqr9xlxsqh7zh6phn4ld0liazqdn2l5f6m"))))
- (build-system python-build-system)
+ (base32 "138j8nrkrisn7kh5rqi2wz130p6vr4bkaw1pmbfpjkdjk118ng8c"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:tests? #f)) ;requires internet access
+ (list
+ ;; Integration tests require network access.
+ #:test-flags #~(list "--ignore-glob=tests/providers/*.py")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'configure-tests
+ (lambda _
+ (setenv "HOME" (getcwd)))))))
+ (native-inputs (list nss-certs-for-test python-hatchling python-pytest))
(propagated-inputs
- (list python-future python-pynamecheap python-requests
- python-tldextract python-urllib3))
- (home-page "https://github.com/AnalogJ/lexicon")
- (synopsis
- "Manipulate DNS records on various DNS providers")
+ (list python-beautifulsoup4
+ python-cryptography
+ python-dnspython
+ python-importlib-metadata
+ python-pyotp
+ python-pyyaml
+ python-requests
+ python-tldextract))
+ (home-page "https://github.com/dns-lexicon/dns-lexicon")
+ (synopsis "Manipulate DNS records on various DNS providers")
(description
"Lexicon provides a way to manipulate DNS records on multiple DNS
providers in a standardized way. It has a CLI but it can also be used as a
@@ -27817,12 +27888,15 @@ readable error messages.")
(version "0.4.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "commandlines" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/chrissimpkins/commandlines")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0r7xcr0knv02p4mswa2bng61nn8nbhhrs6kvdnb9bb3hhjvm1dl6"))))
- (build-system python-build-system)
+ (base32 "03mxsknqbiwdl4cydnmr3dbid5rh1y1pwfcnbf6k4sf0wiw98y67"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools))
(home-page "https://github.com/chrissimpkins/commandlines")
(synopsis "Command line argument to object parsing library")
(description
@@ -28022,12 +28096,15 @@ codecs for use in data storage and communication applications.")
(version "0.3.3")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "asciitree" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mbr/asciitree")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0vhgri2m2xlnibhz4xwn4hpbc7xacisxjqrk6k5kyppq96vbk92a"))))
- (build-system python-build-system)
+ (base32 "071wlpyi8pa262sj9xdy0zbj163z84dasxad363z3sfndqxw78h1"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools))
(home-page "https://github.com/mbr/asciitree")
(synopsis "Draws ASCII trees")
(description "This package draws tree structures using characters.")
@@ -28254,12 +28331,18 @@ data.")
(version "1.0.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "locket" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mwilliamson/locket.py")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0cm6290zm3ba62n2x2piy3s8d41hrmffda2nw18ggfwb582lq3aw"))))
- (build-system python-build-system)
+ (base32 "0xx57gq5r7x58yd2mq6zxlr2kpzbyb0b5y5hiprgvkib948jxx0p"))))
+ (build-system pyproject-build-system)
+ ;; XXX: Requires python-spur, which requires another version of
+ ;; python-paramiko.
+ (arguments (list #:tests? #f))
+ (native-inputs (list python-setuptools))
(home-page "https://github.com/mwilliamson/locket.py")
(synopsis "File-based locks for Python")
(description
@@ -28352,18 +28435,23 @@ decisions with any given backend.")
(define-public python-ilinkedlist
(package
(name "python-ilinkedlist")
- (version "0.4.0")
+ (properties '((commit . "b5ea3f67833071c2e0aba2eac35e82496f469238")
+ (revision . "0")))
+ (version (git-version "0.4.0"
+ (assoc-ref properties 'revision)
+ (assoc-ref properties 'commit)))
+ (home-page "https://github.com/luther9/ilinkedlist-py")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "ilinkedlist" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (assoc-ref properties 'commit))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0nrw4sr3afldrp7073hvc0rgdz282s0l819jdmj1i6nn05v33h0l"))))
- (build-system python-build-system)
- (native-inputs (list python-pytest))
- (inputs (list python))
- (home-page "https://github.com/luther9/ilinkedlist-py")
+ (base32 "0lrs6arzm7dg70ny4ri06alhi40s03n71jsx5hsi0fimvwyvfhch"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools))
(synopsis "Immutable linked list library")
(description
"This is a implementation of immutable linked lists for Python. It
@@ -28380,11 +28468,15 @@ with a non-list @code{cdr}.")
(version "0.1.3")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "readlike" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jangler/readlike")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "027w8fvi50ksl57q0a7kb5zvmq8jxaawnviib1jdqw0p3igvm1j4"))))
- (build-system python-build-system)
+ (base32 "1mw8j8ads8hqdbz42siwpffi4wi5s33z9g14a5c2i7vxp8m68qc1"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools))
(home-page "https://github.com/jangler/readlike")
(synopsis "GNU Readline-like line editing module")
(description
@@ -28404,13 +28496,18 @@ are not supported.")
(version "1.4.3")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "ReParser" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xmikos/reparser")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0nniqb69xr0fv7ydlmrr877wyyjb61nlayka7xr08vlxl9caz776"))))
- (build-system python-build-system)
+ (base32 "04v7h52wny0j2qj37501nk33j0s4amm134kagdicx2is49zylzq1"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f)) ; No tests.
+ (native-inputs (list python-setuptools))
(home-page "https://github.com/xmikos/reparser")
- (synopsis "Simple lexer/parser for inline markup based on regular expressions")
+ (synopsis "Lexer/parser for inline markup based on regular expressions")
(description
"This Python library provides a simple lexer/parser for inline markup based
on regular expressions.")
@@ -28494,21 +28591,32 @@ of Python libraries for building Python applications.")
(define-public python-astor
(package
(name "python-astor")
- (version "0.8.1")
+ (properties '((commit . "df09001112f079db54e7c5358fa143e1e63e74c4")
+ (revision . "0")))
+ (version (git-version "0.8.1"
+ (assoc-ref properties 'revision)
+ (assoc-ref properties 'commit)))
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "astor" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/berkerpeksag/astor")
+ (commit (assoc-ref properties 'commit))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0ppscdzzvxpznclkmhhj53iz314x3pfv4yc7c6gwxqgljgdgyvka"))))
- (build-system python-build-system)
- ;; FIXME: There are two errors and two test failures.
- (arguments `(#:tests? #f))
+ (base32 "0ymj0n23b6b4qc6x8ycysh2dipdry5a3gakcaf8nravzp5ma2psl"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; FIXME: Unclear why this test fails.
+ #:test-flags #~(list "--deselect=\
+tests/test_rtrip.py::RtripTestCase::test_convert_stdlib")))
+ (native-inputs (list python-pytest python-setuptools))
(home-page "https://github.com/berkerpeksag/astor")
(synopsis "Read and write Python ASTs")
- (description "Astor is designed to allow easy manipulation of Python
-source via the Abstract Syntax Tree.")
+ (description
+ "Astor is designed to allow easy manipulation of Python source via the
+Abstract Syntax Tree.")
(license license:bsd-3)))
(define-public python-astunparse
@@ -29380,37 +29488,6 @@ to and from JSON. Common data types are implemented and it is easy to
register custom encoders and decoders.")
(license license:expat)))
-;; XXX: See: <https://codeberg.org/guix/guix/issues/3054>.
-(define-public python-iocapture
- ;; The latest release is more than a year older than this commit.
- (let ((commit "fdc021c431d0840303908dfc3ca8769db383595c")
- (revision "1"))
- (package
- (name "python-iocapture")
- (version "0.1.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/oinume/iocapture")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1mkbhqibxvgwg0p7slr8dfraa3g2s6bsayladhax2jccwj4kcndz"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-flexmock
- python-pytest
- python-pytest-cov
- python-setuptools
- python-six))
- (home-page "https://github.com/oinume/iocapture")
- (synopsis "Python capturing tool for stdout and stderr")
- (description
- "This package helps you to capture the standard out (stdout) and the
-standard error channel (stderr) in your program.")
- (license license:expat))))
-
(define-public python-ioctl-opt
(package
(name "python-ioctl-opt")
@@ -29742,26 +29819,26 @@ memoization.")
(define-public python-forbiddenfruit
(package
(name "python-forbiddenfruit")
- (version "0.1.3")
+ (version "0.1.4")
(source
(origin
- ;; Source tarball on PyPi lacks Makefile that builds and runs tests
(method git-fetch)
(uri (git-reference
(url "https://github.com/clarete/forbiddenfruit")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1fp2xvdqpi910j9r3q68x38phpxbm700gjdi2m2j5gs91xdnyyh2"))))
- (build-system python-build-system)
+ (base32 "16chhrxbbmg6lfbzm532fq0v00z8qihcsj0kg2b5jlgnb6qijwn8"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "make" "SKIP_DEPS=1"))))))
- (native-inputs
- (list python-nose python-coverage))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "make" "SKIP_DEPS=1")))))))
+ (native-inputs (list python-coverage python-pynose python-setuptools))
(home-page "https://github.com/clarete/forbiddenfruit")
(synopsis "Patch python built-in objects")
(description "This project allows Python code to extend built-in types.")
@@ -29875,13 +29952,14 @@ file to ensure it completely and accurately describes your project.")
(sha256
(base32
"0gij55qzzq1h83kfpvhai1vf78kkhyvxa6l17m2nl24454lhfin4"))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f)) ; No tests.
+ (native-inputs (list python-setuptools))
(home-page "https://framagit.org/tyreunom/python-android-strings-lib")
(synopsis "Android strings.xml support")
- (description "Android Strings Lib provides support for android's strings.xml
-files. These files are used to translate strings in android apps.")
+ (description
+ "Android Strings Lib provides support for android's strings.xml files.
+These files are used to translate strings in android apps.")
(license license:expat)))
(define-public offlate
@@ -29982,21 +30060,29 @@ custom PNG processing.")
(version "0.18.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "fuzzywuzzy" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/seatgeek/fuzzywuzzy")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1s00zn75y2dkxgnbw8kl8dw4p1mc77cv78fwfa4yb0274s96w0a5"))))
- (build-system python-build-system)
+ (base32 "0zh8xd9k95waipsdz516rn51ya9xxlxbd7ivbka4gnkqm9ah79mc"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--deselect=test_fuzzywuzzy_pytest.py::test_process_warning")))
(native-inputs
- (list python-hypothesis python-pycodestyle python-pytest))
- (propagated-inputs
- (list python-levenshtein))
+ (list python-hypothesis
+ python-pycodestyle
+ python-pytest
+ python-setuptools))
+ (propagated-inputs (list python-levenshtein))
(home-page "https://github.com/seatgeek/fuzzywuzzy")
(synopsis "Fuzzy string matching in Python")
- (description "Approximate string matching using
-@emph{Levenshtein Distance} to calculate the differences between
-sequences.")
+ (description
+ "Approximate string matching using @emph{Levenshtein Distance} to
+calculate the differences between sequences.")
(license license:gpl2)))
(define-public python-block-tracing
@@ -30008,10 +30094,10 @@ sequences.")
(method url-fetch)
(uri (pypi-uri "block_tracing" version))
(sha256
- (base32
- "0s2y729qr5rs7n506qfh8cssk8m2bi6k2y5vbrh2z3raf2d01alz"))))
- (build-system python-build-system)
- (arguments '(#:tests? #f)) ; no tests
+ (base32 "0s2y729qr5rs7n506qfh8cssk8m2bi6k2y5vbrh2z3raf2d01alz"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f)) ; No tests.
+ (native-inputs (list python-setuptools))
(home-page "https://github.com/rianhunter/block_tracing")
(synopsis "Protect process memory")
(description
@@ -30110,22 +30196,26 @@ Python. It also provides some custom formatters and handlers.")
(define-public python-pifpaf
(package
(name "python-pifpaf")
- (version "3.1.5")
+ (version "3.4.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "pifpaf" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jd/pifpaf")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "19bdmxldc2m570isl7hbqgbb20si4sin7pi5fw8sv9py8dyv2s4n"))))
- (build-system python-build-system)
+ (base32 "1mj41h5xrkx71d7g5di3ykd4bsbgr7x432zbp63majgjci86gmm9"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "python" "setup.py" "testr" "--slowest"
- "--testr-args=until-failure"))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-drivers
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((site (site-packages inputs outputs)))
+ (copy-recursively "pifpaf/drivers"
+ (string-append site "/pifpaf/drivers/"))))))))
(propagated-inputs
(list python-click
python-daiquiri
@@ -30135,14 +30225,20 @@ Python. It also provides some custom formatters and handlers.")
python-psutil
python-xattr))
(native-inputs
- (list python-mock python-os-testr python-requests
- python-testrepository python-testtools))
+ (list python-mock
+ python-stestr
+ python-packaging
+ python-requests
+ python-testrepository
+ python-testtools
+ python-setuptools))
(home-page "https://github.com/jd/pifpaf")
(synopsis "Tools and fixtures to manage daemons for testing in Python")
- (description "Pifpaf is a suite of fixtures and a command-line tool that
-starts and stops daemons for a quick throw-away usage. This is typically
-useful when needing these daemons to run integration testing. It originally
-evolved from its precursor @code{overtest}.")
+ (description
+ "Pifpaf is a suite of fixtures and a command-line tool that starts and
+stops daemons for a quick throw-away usage. This is typically useful when
+needing these daemons to run integration testing. It originally evolved from
+its precursor @code{overtest}.")
(license license:asl2.0)))
(define-public python-pytest-check-links
@@ -30368,29 +30464,63 @@ key.
(version "2.5.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "daemonize" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/thesharp/daemonize")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1hwbl3gf9fdds9sc14zgjyjisjvxidrvqc11xlbb0b6jz17nw0nx"))))
- (build-system python-build-system)
+ (base32 "0pz914x6dfq133nfv0y8q8fss4zr52ip8mq3ds50rx0ddlbb0k2x"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-backend #~'custom
+ #:test-flags #~(list "tests/test.py")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'fix-tests
+ (lambda _
+ ;; XXX: nobody has group nogroup on Guix.
+ (substitute* "tests/test.py"
+ (("grp\\.getgrnam\\(\"nobody\"\\)\\.gr_gid")
+ (number->string (passwd:gid (getpw "nobody"))))))))))
+ (native-inputs (list coreutils-minimal procps python-setuptools))
(home-page "https://github.com/thesharp/daemonize")
(synopsis "Library for writing system daemons in Python")
- (description "Daemonize is a library for writing system daemons in Python.")
+ (description
+ "Daemonize is a library for writing system daemons in Python.")
(license license:expat)))
(define-public python-pymacaroons
(package
(name "python-pymacaroons")
- (version "0.13.0")
+ (properties '((commit . "78c55c1d33a0b23ddc71140a9c999f957d79e9dd")
+ (revision . "0")))
+ (version (git-version "0.13.0"
+ (assoc-ref properties 'revision)
+ (assoc-ref properties 'commit)))
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "pymacaroons" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ecordell/pymacaroons")
+ (commit (assoc-ref properties 'commit))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1f0357a6g1h96sk6wy030xmc1p4rd80a999qvxd28v7nlm1blsqy"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-six python-pynacl))
+ (base32 "0ybdxlx6crb7l850dzz50arqrm4d4dl5dvzlf8f7sdhdcn2lgr7m"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ ;; XXX: Despite python-hypothesis, ModuleNotFoundError:
+ ;; No module named 'hypothesis.specifiers'
+ #~(list "--ignore=tests/property_tests/macaroon_property_tests.py")))
+ (native-inputs
+ (list python-hypothesis
+ python-mock
+ python-pytest
+ python-setuptools))
+ (propagated-inputs (list python-pynacl))
(home-page "https://github.com/ecordell/pymacaroons")
(synopsis "Python Macaroon Library")
(description
@@ -30407,7 +30537,7 @@ enforcement of that policy.")
(define-public python-ldap3
(package
(name "python-ldap3")
- (version "2.7")
+ (version "2.9.1")
(home-page "https://github.com/cannatag/ldap3")
(source
(origin
@@ -30416,18 +30546,14 @@ enforcement of that policy.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0xw9fkqld21xsvdpaqir8ccc2l805xnn9gxahsnl70xzp3mwl0xv"))))
- (build-system python-build-system)
+ (base32 "07nxbv41wpg5567r07yvm4chgs761drsvn53gn548zi26gmrpr07"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:tests? #f ;TODO: Tests need a real LDAP server to run
- #:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "nosetests" "-s" "test"))
- #t)))))
+ (list
+ #:tests? #f ;TODO: Tests need a real LDAP server to run
+ #:test-backend #~'nose))
(native-inputs
- (list python-nose))
+ (list python-pynose python-setuptools))
(propagated-inputs
(list python-gssapi python-pyasn1))
(synopsis "Python LDAP client")
@@ -30439,15 +30565,18 @@ library.")
(define-public python-boltons
(package
(name "python-boltons")
- (version "23.0.0")
+ (version "25.0.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "boltons" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mahmoud/boltons")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1c5lpqi74i55li0wvpyxnircj40na797x7447k53an2j54cafl4c"))))
- (build-system python-build-system)
+ (base32 "0j061hd1iwcyz1rvasprjwwgb39x6h36n1l3dw310ig3pzbr84wh"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-flit-core python-pytest python-setuptools))
(home-page "https://github.com/mahmoud/boltons")
(synopsis "Extensions to the Python standard library")
(description
@@ -30511,22 +30640,33 @@ happened, and what caused it.")
(define-public python-pem
(package
(name "python-pem")
- (version "20.1.0")
+ (version "23.1.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "pem" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hynek/pem")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1xh88ss279fprxnzd10dczmqwjhppbyvljm33zrg2mgybwd66qr7"))))
- (build-system python-build-system)
+ (base32 "01x14j1pliyxvcx8hlwlwfchn893ddkxxpxbyqhyh6hjyag2ammd"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
(native-inputs
- (list python-certifi
- python-coverage
+ (list nss-certs-for-test
+ python-certifi
+ python-hatch-fancy-pypi-readme
+ python-hatch-vcs
+ python-hatchling
python-pretend
python-pyopenssl
python-pytest
- python-sphinx
python-twisted))
(home-page "https://pem.readthedocs.io/")
(synopsis "Easy PEM file parsing in Python")
@@ -30537,25 +30677,46 @@ happened, and what caused it.")
(define-public python-pysaml2
(package
(name "python-pysaml2")
- (version "6.5.1")
+ (version "7.5.4")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "pysaml2" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/IdentityPython/pysaml2")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1xk2x0slz1f8cqv7vn77qx99xfd1mshhswiwrljk9m72w2m9iivd"))))
- (build-system python-build-system)
+ (base32 "1vxi6kmckaj0djn79xw8f0gdd569i2y6sywsywyvyrwdcf6k8fqc"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k"
+ (string-join
+ ;; XXX: encryption failures
+ (list "not test_encrypted_response_6"
+ "test_validate_cert_chains"
+ "test_validate_with_root_cert"
+ ;; XXX: xml parsing error
+ "test_namespace_processing") " and not "))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("\"(pyopenssl|xmlschema).*\"" _ dep)
+ (format #f "~s" dep))))))))
+ (native-inputs (list python-poetry-core python-pytest))
(propagated-inputs
(list python-cryptography
python-dateutil
python-defusedxml
- python-importlib-resources
+ python-pymongo
python-pyopenssl
- python-pytz
+ python-responses
python-requests
- python-six
- python-xmlschema))
+ python-xmlschema
+ python-xmlsec))
(home-page "https://idpy.org")
(synopsis "Python implementation of SAML Version 2 Standard")
(description
@@ -30634,43 +30795,6 @@ cryptographically signed ones).")
dictionaries.")
(license license:expat)))
-(define-public pyzo
- (package
- (name "pyzo")
- (version "4.20.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/pyzo/pyzo")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1a82k7hjmv20lrwiwsdrvczrm21wq16m4snwsirwhj0jh5k1x9iw"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--ignore-glob=pyzo/yoton/tests/*" ; XXX: yoton is outdated.
- "--ignore=pyzo/codeeditor/_test.py"))) ; XXX: cannot import qt.
- (native-inputs
- (list python-flit-core
- python-pytest
- python-setuptools))
- (inputs (list python-pyside-6))
- (home-page "https://pyzo.org")
- (synopsis "Python IDE for scientific computing")
- (description
- "Pyzo is a Python IDE focused on interactivity and introspection,
-which makes it very suitable for scientific computing. Its practical
-design is aimed at simplicity and efficiency.
-
-It consists of two main components, the editor and the shell, and uses
-a set of pluggable tools to help the programmer in various ways. Some
-example tools are source structure, project manager, interactive help,
-workspace...")
- (license license:bsd-2)))
-
(define-public python-osc
(package
(name "python-osc")
@@ -36292,86 +36416,6 @@ and abstract ELF, PE and MachO formats.")
Storage}.")
(license license:lgpl3+)))
-(define-public shrinkwrap
- (package
- (name "shrinkwrap")
- (version "0.1.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/fzakaria/shrinkwrap")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (modules '((guix build utils)))
- (snippet '(substitute* "pyproject.toml"
- (("lief = \"0\\.12\\.0\"") "lief = \"*\"")))
- (sha256
- (base32
- "1f3qrygj16y767q2c7pn9j6m95ggcmj9s5cx9v92ygygly4mr3jp"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-click
- python-poetry-core
- python-pypa-build
- python-pytest))
- (inputs (list python-lief python-sh))
- (home-page "https://github.com/fzakaria/shrinkwrap")
- (synopsis "Emboss needed dependencies on the top level executable")
- (description
- "@code{shrinkwrap} is a tool which will discover all transitive dynamic
-shared objects, and lift them up to the executable referenced by absolute
-path.")
- (license license:expat)))
-
-(define-public staticsite
- (package
- (name "staticsite")
- (version "2.3")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/spanezz/staticsite")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1rhr25xydvnlrrcz389j3f6nknmczm5x11cagrji1qww70piwy08"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'use-themes-in-output
- (lambda _
- (substitute* "staticsite/global_settings.py"
- (("/usr/share/staticsite") #$output))))
- (add-after 'install 'install-themes
- (lambda _
- (let ((themedir (string-append #$output "/themes")))
- (copy-recursively "themes" themedir)))))))
- (native-inputs
- (list perl-image-exiftool
- python-dateutil
- python-docutils-0.19
- python-jinja2
- python-markdown
- python-pillow
- python-pyinotify
- python-pytz
- python-pyyaml
- python-ruamel.yaml
- python-slugify
- python-tornado
- tzdata-for-tests
- python-setuptools
- python-wheel
- python-toml))
- (home-page "https://github.com/spanezz/staticsite")
- (synopsis "Static site generator")
- (description "Statistic is a static site generator based on Markdown and
-Jinja2.")
- (license (list license:gpl3+ license:expat))))
-
(define-public python-pymonad
(package
(name "python-pymonad")
@@ -37037,6 +37081,17 @@ ratio)
(list python-setuptools
python-wheel))))
+(define-public python-termcolor-next
+ (package
+ (inherit python-termcolor)
+ (version "3.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "termcolor" version))
+ (sha256
+ (base32 "0w2rwl4h7664illllkmicdh3fz3z3pznqxbaxkp0j6aqxvxxfvba"))))))
+
(define-public python-terminaltables
(package
(name "python-terminaltables")
@@ -39032,6 +39087,42 @@ multiple Unicode code points, e.g. \"G\" + acute-accent)
@end enumerate")
(license license:expat)))
+(define-public python-universal-pathlib
+ (package
+ (name "python-universal-pathlib")
+ (version "0.2.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fsspec/universal_pathlib")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0y2czk4civjjy9v8vhv6icivk4lapjcjzhdxjrrm3629apqja7wp"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f ;requires network
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
+ (native-inputs
+ (list python-setuptools
+ python-setuptools-scm))
+ (propagated-inputs
+ (list python-fsspec
+ python-pathlib-abc))
+ (home-page "https://github.com/fsspec/universal_pathlib")
+ (synopsis
+ "@code{pathlib} API extended to use @code{fsspec} backends")
+ (description
+ "Universal Pathlib is a Python library that extends the @code{pathlib.Path}
+API to support a variety of backend filesystems via filesystem_spec.")
+ (license license:expat)))
+
(define-public python-unpaddedbase64
(package
(name "python-unpaddedbase64")
@@ -39308,21 +39399,17 @@ parsing (browser/HTTP) user agent strings.")
(define-public python-userspacefs
(package
(name "python-userspacefs")
- (version "2.0.5")
+ (version "3.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "userspacefs" version))
(sha256
- (base32
- "0v0qkdwfc61s2yiq7d7amin93x5biypfmi9pfhf8yj1rdpx5yvsx"))))
+ (base32 "0lfzgijza3p4wbrhlf8pzj89j7caj8x6aij78d4izppvq4kfjqs6"))))
(build-system pyproject-build-system)
- (arguments
- (list #:tests? #f)) ;no tests
- (native-inputs
- (list python-setuptools))
- (propagated-inputs
- (list python-fusepyng))
+ (arguments (list #:tests? #f)) ;no tests
+ (native-inputs (list python-setuptools))
+ (propagated-inputs (list python-aiohttp python-typing-extensions))
(home-page "https://thelig.ht/code/userspacefs/readme.html")
(synopsis "User-space file systems for Python")
(description
@@ -40698,12 +40785,13 @@ of several plugins.")
(sha256
(base32 "1ryc5099sjsa49fhcm6dp5l4rp9v9yxrh17ml78y89idfbbfhvs1"))))
(build-system pyproject-build-system)
+ ;; tests: 3007 passed, 1758 skipped
(native-inputs
(list python-poetry-core
python-pytest
python-pytest-mock))
(propagated-inputs
- (list python-termcolor))
+ (list python-termcolor-next))
(home-page "https://github.com/pavdmyt/yaspin")
(synopsis "Yet Another Terminal Spinner")
(description "Yaspin provides a terminal spinner to indicate the progress
@@ -41029,6 +41117,113 @@ you do not want to store entirely on disk or on memory.")
;; No copyright headers in the source. The LICENSE file indicates GPL3.
(license license:gpl3)))
+(define-public python2-dbus
+ (package/inherit python-dbus
+ (name "python2-dbus")
+ (inputs `(("python" ,python-2)
+ ("libxcrypt" ,libxcrypt) ;required by Python.h
+ ,@(alist-delete "python"
+ (package-inputs python-dbus))))
+ (arguments
+ `(#:configure-flags '("PYTHON_VERSION=2")))))
+
+(define-public python2-pycparser
+ (let ((base (package
+ (inherit python-pycparser)
+ (version "2.18")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pycparser" version))
+ (sha256
+ (base32
+ "09mjyw82ibqzl449g7swy8bfxnfpmas0815d2rkdjlcqw81wma4r"))))
+ ;; FIXME: package-with-python2 needs to be updated to accept
+ ;; pyproject-build-system packages.
+ (build-system python-build-system)
+ (arguments
+ (cons* #:tests? #f
+ (strip-keyword-arguments
+ '(#:test-backend)
+ (package-arguments python-pycparser)))))))
+ (package-with-python2 base)))
+
+(define-public shrinkwrap
+ (package
+ (name "shrinkwrap")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fzakaria/shrinkwrap")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1f3qrygj16y767q2c7pn9j6m95ggcmj9s5cx9v92ygygly4mr3jp"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-click
+ python-poetry-core
+ python-pypa-build
+ python-pytest))
+ (inputs (list python-lief python-sh))
+ (home-page "https://github.com/fzakaria/shrinkwrap")
+ (synopsis "Emboss needed dependencies on the top level executable")
+ (description
+ "@code{shrinkwrap} is a tool which will discover all transitive dynamic
+shared objects, and lift them up to the executable referenced by absolute
+path.")
+ (license license:expat)))
+
+(define-public staticsite
+ (package
+ (name "staticsite")
+ (version "2.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spanezz/staticsite")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fk0yy0flwwfqwb4gsizr7gnkadas4rjffn3mnzlwmkn08z3w0c7"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'use-themes-in-output
+ (lambda _
+ (substitute* "staticsite/global_settings.py"
+ (("/usr/share/staticsite") #$output))))
+ (add-after 'install 'install-themes
+ (lambda _
+ (let ((themedir (string-append #$output "/themes")))
+ (copy-recursively "themes" themedir)))))))
+ (native-inputs
+ (list python-hatchling
+ python-pytest))
+ (inputs
+ (list perl-image-exiftool
+ python-dateutil
+ python-docutils
+ python-jinja2
+ python-markdown
+ python-pillow
+ python-pytz
+ python-pyyaml
+ python-ruamel.yaml
+ python-slugify
+ python-toml
+ tzdata-for-tests))
+ (home-page "https://github.com/spanezz/staticsite")
+ (synopsis "Static site generator")
+ (description
+ "Statistic is a static site generator based on Markdown and Jinja2.")
+ (license (list license:gpl3+ license:expat))))
+
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar