summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/python-xyz.scm1488
1 files changed, 745 insertions, 743 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7feb77ffca..175f335d2e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1843,28 +1843,6 @@ not require any changes to the original source code, such as marking strings
for translation.")
(license license:expat)))
-(define-public python-vendetect
- (package
- (name "python-vendetect")
- (version "0.0.3")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "vendetect" version))
- (sha256
- (base32 "0hi13sbgr8y66mih2xyzczjfff4lwymkn9cw5215ms2nn6qq9rhi"))))
- (build-system pyproject-build-system)
- (propagated-inputs (list python-copydetect python-rich))
- (native-inputs (list python-hatchling python-pytest))
- (home-page "https://github.com/trailofbits/vendetect")
- (synopsis "Detect vendored and copy-pasted code")
- (description
- "Vendetect helps identify copied or vendored code between repositories,
-making it easier to detect when code has been copied with or without
-attribution. It uses similarity detection algorithms to compare code files
-and highlight matching sections.")
- (license license:agpl3+)))
-
(define-public python-jaconv
(package
(name "python-jaconv")
@@ -5915,36 +5893,6 @@ for additional processing.")
"Fastprogress is a progress bar for Jupyter Notebook and console.")
(license license:asl2.0)))
-;; XXX: No updates since 2017.
-(define-public python-verboselogs
- (package
- (name "python-verboselogs")
- (version "1.7")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "verboselogs" version))
- (sha256
- (base32 "09z4d1jiasn7k1hs5af2ckmnrd0i1d1m04bhfjhv7z6svzfdwgg3"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- ;; Do not run pylint plugin test, as astroid is an old unsupported
- ;; version.
- #~(list "-k" "not test_pylint_plugin"
- "verboselogs/tests.py")))
- (native-inputs
- (list python-mock
- python-pytest
- python-setuptools))
- (home-page "https://verboselogs.readthedocs.io")
- (synopsis "Verbose logging level for Python's logging module")
- (description
- "The @code{verboselogs} package extends Python's @code{logging} module to
-add the log levels NOTICE, SPAM, SUCCESS and VERBOSE.")
- (license license:expat)))
-
(define-public python-coloredlogs
(package
(name "python-coloredlogs")
@@ -7655,31 +7603,6 @@ and configurable such as option groups, constraints, subcommand aliases,
subcommands sections and a themeable HelpFormatter.")
(license license:bsd-3)))
-;; XXX: No fresh releases or updates since 2016, consider to remove, leaf
-;; package.
-(define-public python-vcversioner
- (package
- (name "python-vcversioner")
- (version "2.16.0.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "vcversioner" version))
- (sha256
- (base32
- "16z10sm78jd7ca3jbkgc3q5i8a8q7y1h21q1li21yy3rlhbhrrns"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:tests? #f)) ;no tests in PyPI archvie
- (native-inputs
- (list python-setuptools))
- (home-page "https://github.com/habnabit/vcversioner")
- (synopsis "Python library for version number discovery")
- (description "Vcversioner is a Python library that inspects tagging
-information in a variety of version control systems in order to discover
-version numbers.")
- (license license:isc)))
-
(define-public python-jsondiff
(package
(name "python-jsondiff")
@@ -8200,86 +8123,6 @@ API, and sensible error messages. PyYAML supports standard YAML tags and
provides Python-specific tags that represent an arbitrary Python object.")
(license license:expat)))
-(define-public python-vine
- (package
- (name "python-vine")
- (version "5.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "vine" version))
- (sha256
- (base32 "1q31krwxdvwawdn1kfqmpplix31d4jhs0qng26908hawsf0yjqlb"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- ;; AttributeError: 'test_barrier' object has no attribute 'ps'.
- #~(list "-k" (string-join
- (list "not test_evaluate"
- "test_reverse"
- "test_cancel"
- "test_throw")
- " and not "))))
- (native-inputs
- (list python-pytest python-setuptools python-wheel))
- (home-page "https://github.com/celery/vine")
- (synopsis "Promises for Python")
- (description
- "@code{vine} provides a special implementation of promises in that it can
-be used both for \"promise of a value\" and lazy evaluation. The biggest
-upside for this is that everything in a promise can also be a promise,
-e.g. filters, callbacks and errbacks can all be promises.")
- (license license:bsd-3)))
-
-(define-public python-virtualenv
- (package
- (name "python-virtualenv")
- (version "20.29.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "virtualenv" version))
- (sha256
- (base32
- "0dfwnn8i1y33kgxhi4xyhsj4yr5vsin7zf9c343bcbyk700rgf5q"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "-k" (string-join
- (list
- ;; These tests require Internet access.
- "not test_seed_link_via_app_data"
- ;; AssertionError: assert 'python' in ['python3',
- ;; 'python3.11'].
- ;;
- ;; PythonInfo() returns: 'system_executable':
- ;; '/gnu/store/...-python-wrapper-3.11.11/bin/python'
- "test_fallback_existent_system_executable")
- " and not "))))
- (native-inputs
- (list python-flaky
- python-hatch-vcs
- python-hatchling
- python-packaging
- python-pytest
- python-pytest-env
- python-pytest-freezer
- python-pytest-mock
- python-pytest-timeout
- python-setuptools
- python-time-machine))
- (propagated-inputs
- (list python-distlib
- python-filelock
- python-platformdirs))
- (home-page "https://virtualenv.pypa.io/")
- (synopsis "Virtual Python environment builder")
- (description
- "Virtualenv is a tool to create isolated Python environments.")
- (license license:expat)))
-
(define-public python-crossenv
(package
(name "python-crossenv")
@@ -8302,47 +8145,6 @@ modules. It creates a special virtual environment such that @command{pip} or
work on your part.")
(license license:expat)))
-;; XXX: No new release since 2021, no updates on default branch since 2023, no
-;; users in Guix; consider to remove if it keeps failing to build.
-(define-public python-virtualenv-clone
- (package
- (name "python-virtualenv-clone")
- (version "0.5.7")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/edwardgeorge/virtualenv-clone")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0p0d1y3axvjfnxlgwjx2374gikc8bmc82g0m7yashihbikh7pcxa"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "-k" (string-join
- ;; UnicodeDecodeError: 'utf-8' codec can't decode byte
- ;; 0xba in position 10: invalid start byte
- (list "not test_clone_contents"
- ;; AssertionError: All versions were skipped.
- "test_clone_syspath"
- "test_clone_version"
- "test_virtualenv_syspath"
- "test_virtualenv_versions")
- " and not "))))
- (native-inputs
- (list python-pytest
- python-setuptools
- python-tomli
- python-virtualenv
- python-wheel))
- (home-page "https://github.com/edwardgeorge/virtualenv-clone")
- (synopsis "Clone a non-relocatable virtualenv cleanly")
- (description
- "Clone non-relocatable virtualenvs without breaking site-packages.")
- (license license:expat)))
-
(define-public python-uc-micro-py
(package
(name "python-uc-micro-py")
@@ -9237,28 +9039,6 @@ with Python.")
(list python-hatchling))
(arguments `(#:tests? #f))))
-(define-public python-vdf
- (package
- (name "python-vdf")
- (version "3.4")
- (source
- (origin
- (method git-fetch) ; no tests in PyPI release
- (uri (git-reference
- (url "https://github.com/ValvePython/vdf")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1xc0sd21xgf08pf6dwa4l23y9jb6yqaw61rr03ns0d2r6sby137a"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest python-setuptools))
- (home-page "https://github.com/ValvePython/vdf")
- (synopsis "Work with Valve's VDF text format")
- (description "This package provides @code{python-vdf}, a library for
-working with Valve's VDF text format.")
- (license license:expat)))
-
(define-public python-pygtrie
(package
(name "python-pygtrie")
@@ -19724,267 +19504,6 @@ program's help message rather than specifying it programmatically with
command-line parsers like @code{getopt} and @code{argparse}.")
(license license:expat)))
-(define-public python-wand
- (package
- (name "python-wand")
- (version "0.6.13")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "Wand" version))
- (sha256
- (base32 "1jpwm956vm35hmgjndr2jwrcql0bwvpsl88q5nr0x8ppxa2380gm"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- ;; These two tests fail even though the signatures are identical.
- '(list "-k" "not fourier_transform")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'hardcode-lib-path
- (lambda _
- (substitute* "wand/api.py"
- (("os\\.environ\\.get\\('MAGICK_HOME'\\)")
- (string-append "\"" #$(this-package-input "imagemagick") "\""))
- (("os\\.environ\\.get\\('WAND_MAGICK_LIBRARY_SUFFIX'\\)")
- "\".Q16\"")))))))
- (native-inputs
- (list python-setuptools python-pytest python-wheel))
- (inputs
- (list imagemagick))
- (home-page "https://docs.wand-py.org/")
- (synopsis "MagickWand API binding for Python")
- (description
- "Wand is a ctypes-based binding for ImageMagick's MagickWand library.")
- (license license:expat)))
-
-(define-public python-wasabi
- (package
- (name "python-wasabi")
- (version "1.1.3")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "wasabi" version))
- (sha256
- (base32 "0y085r7hym3x34a9jgxl5cd8gsh617rdmd187q6dn29q027h1csb"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- ;; Test requires nbconvert which is huge.
- #~(list "--deselect=wasabi/tests/test_jupyter.py::test_jupyter")))
- (native-inputs
- (list python-pytest
- python-setuptools))
- (propagated-inputs
- (list python-colorama))
- (home-page "https://github.com/ines/wasabi")
- (synopsis "Console printing and formatting toolkit")
- (description
- "This package provides a lightweight console printing and formatting
-toolkit for Python.")
- (license license:expat)))
-
-(define-public python-watchdog
- (package
- (name "python-watchdog")
- (version "6.0.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "watchdog" version))
- (sha256
- (base32 "10n2v2iflhdriwfp34yvhfcckqb6vs7378fdvqj8xbm3zn17rpwx"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "-k" (string-join
- (list "not test_kill_auto_restart"
- "test_auto_restart_on_file_change_debounce"
- ;; Fails with too many open files.
- "test_select_fd")
- " and not "))))
- (native-inputs
- (list python-pytest
- python-pytest-cov
- python-pytest-timeout
- python-setuptools))
- (propagated-inputs
- (list python-pyyaml))
- (home-page "https://github.com/gorakhargosh/watchdog")
- (synopsis "File system events monitoring")
- (description "This package provides a way to monitor file system events
-such as a file modification and trigger an action. This is similar to inotify,
-but portable.")
- (license license:asl2.0)))
-
-(define-public python-watchfiles
- (package
- (name "python-watchfiles")
- (version "1.0.5")
- (source
- (origin
- ;; There are no tests in the PyPI tarball.
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/samuelcolvin/watchfiles")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1b5rdj795xcbwg76bd8hs3skhgifd7a8zw2vj76nac2dhjlqg93b"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- ;; Missing file in source.
- #:test-flags ''("-k" "not test_docs_examples")
- #:imported-modules `(,@%cargo-build-system-modules
- ,@%pyproject-build-system-modules)
- #:modules '(((guix build cargo-build-system) #:prefix cargo:)
- (guix build pyproject-build-system)
- (guix build utils))
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'prepare-cargo-build-system
- (lambda args
- (for-each
- (lambda (phase)
- (format #t "Running cargo phase: ~a~%" phase)
- (apply (assoc-ref cargo:%standard-phases phase)
- #:cargo-target #$(cargo-triplet)
- args))
- '(unpack-rust-crates
- configure
- check-for-pregenerated-files
- patch-cargo-checksums))))
- (add-after 'build 'install-rust-library
- (lambda _
- (copy-file "target/release/lib_rust_notify.so"
- "watchfiles/_rust_notify.so"))))))
- (native-inputs
- (append
- (list maturin
- python-anyio
- python-coverage
- python-dirty-equals
- python-pytest
- python-pytest-cov
- python-pytest-mock
- python-pytest-timeout
- rust
- `(,rust "cargo"))
- (or (and=> (%current-target-system)
- (compose list make-rust-sysroot))
- '())))
- (inputs (cargo-inputs 'python-watchfiles))
- (home-page "https://github.com/samuelcolvin/watchfiles")
- (synopsis "Simple, modern file watching and code reload in Python")
- (description
- "Simple, modern file watching and code reload in Python inspired by
-@code{watchdog}. Among the differences are a unified approach for each
-operating systems and an elegant approach to concurrency using threading.")
- (license license:expat)))
-
-(define-deprecated/alias python-watchgod python-watchfiles)
-(export python-watchgod)
-
-(define-public python-wcwidth
- (package
- (name "python-wcwidth")
- (version "0.2.13")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "wcwidth" version))
- (sha256
- (base32
- "1dbj74q1iz349sdkxrkc90f7xd4y7a9bdvgxg3cqdcly7430rskj"))))
- (build-system pyproject-build-system)
- (native-inputs (list python-pytest
- python-pytest-cov
- python-setuptools
- python-wheel))
- (home-page "https://github.com/jquast/wcwidth")
- (synopsis "Measure number of terminal column cells of wide-character codes")
- (description "Wcwidth measures the number of terminal column cells of
-wide-character codes. It is useful for those implementing a terminal emulator,
-or programs that carefully produce output to be interpreted by one. It is a
-Python implementation of the @code{wcwidth} and @code{wcswidth} C functions
-specified in POSIX.1-2001 and POSIX.1-2008.")
- (license license:expat)))
-
-(define-public python-whatever
- (package
- (name "python-whatever")
- (version "0.7")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/Suor/whatever")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1x5b4r3fppp208v52hn8inf2988w4llbkw9kvfc3w81dhmrf5fvq"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest python-setuptools python-wheel))
- (home-page "https://github.com/Suor/whatever")
- (synopsis "Make anonymous functions by partial application of operators")
- (description "@code{whatever} provides an easy way to make anonymous
-functions by partial application of operators.")
- (license license:bsd-3)))
-
-(define-public python-whatthepatch
- (package
- (name "python-whatthepatch")
- (version "1.0.7")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "whatthepatch" version))
- (sha256
- (base32 "1pvygmgj9xqs8d9lsjxvg1mymni8pjsd44yl0a74002jxbmv9vwy"))))
- (build-system pyproject-build-system)
- (native-inputs (list python-pytest python-setuptools))
- (home-page "https://github.com/cscorley/whatthepatch")
- (synopsis "Patch parsing and application library")
- (description
- "This package provides a patch parsing and application library.")
- (license license:expat)))
-
-(define-public python-wheel-filename
- (package
- (name "python-wheel-filename")
- (version "1.4.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "wheel_filename" version))
- (sha256
- (base32 "1zcqq8mydjjrk8x5xlm53bavs51jm40nz42a7500pd6bbm31r2c7"))))
- (build-system pyproject-build-system)
- (native-inputs (list python-hatchling python-pytest python-pytest-cov))
- (home-page "https://github.com/wheelodex/wheel-filename")
- (synopsis "Parse wheel filenames")
- (description
- "This software allows you to verify
-@url{https://packaging.python.org/en/latest/specifications/binary-distribution-format/, wheel}
-filenames and parse them into their component fields.
-
-This package adheres strictly to the standard, with the following
-exceptions:
-
-@itemize @bullet
-@item
-Version components may be any sequence of the relevant set of
-characters; they are not verified for PEP 440 compliance.
-@item
-The @file{.whl} file extension is matched case-insensitively.
-@end itemize")
- (license license:expat)))
-
(define-public python-pythonanywhere
(package
(name "python-pythonanywhere")
@@ -21861,68 +21380,6 @@ that, when set on the root @code{Logger}, will tunnel log records to the
main process so that they are handled correctly.")
(license license:lgpl3+)))
-(define-public python-vncdotool
- (package
- (name "python-vncdotool")
- (version "1.2.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "http://github.com/sibson/vncdotool")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1adsc263qsa3hcyk8mhv0wwq44h8zhcksx92chd5rr1wz37zmc22"))))
- (build-system pyproject-build-system)
- (propagated-inputs (list python-pillow python-pycryptodomex python-twisted))
- (native-inputs (list python-pexpect python-pytest python-pyvirtualdisplay
- python-setuptools python-wheel))
- (home-page "http://github.com/sibson/vncdotool")
- (synopsis "Command line VNC client")
- (description
- "This package provides a Python command line VNC client. It can be
-useful to automating interactions with virtual machines or hardware devices
-that are otherwise difficult to control.")
- (license license:expat)))
-
-(define-public python-vncdotool-bootstrap
- (hidden-package
- (package/inherit python-vncdotool
- (arguments (list #:tests? #f))
- (native-inputs (list python-pexpect python-pytest python-setuptools
- python-wheel)))))
-
-(define-public python-vobject
- (package
- (name "python-vobject")
- (version "0.9.9")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "vobject" version))
- (sha256
- (base32
- "13mk8wrg7js0zv3w8246jnxb3i5yp4ascl1csp0q9787wbbyai5c"))))
- (build-system pyproject-build-system)
- (arguments
- '(;; The test suite relies on some non-portable Windows interfaces. Tests
- ;; are rewokred on master's HEAD.
- #:tests? #f))
- (native-inputs
- (list python-setuptools))
- (propagated-inputs
- (list python-dateutil
- python-pytz
- python-six)) ;it's dropped on master's HEAD
- (home-page "https://py-vobject.github.io/")
- (synopsis "Parse and generate vCard and vCalendar files")
- (description "Vobject is intended to be a full featured Python package for
-parsing and generating vCard and vCalendar files. Currently, iCalendar files
-are supported and well tested. vCard 3.0 files are supported, and all data
-should be imported, but only a few components are understood in a sophisticated
-way.")
- (license license:asl2.0)))
-
(define-public python-munkres
(package
(name "python-munkres")
@@ -27203,85 +26660,6 @@ in pure Python.")
accessible to users of Python 3 versions < 3.3 and all Python 2.x versions.")
(license license:expat)))
-(define-public python-validators
- (package
- (name "python-validators")
- (version "0.34.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "validators" version))
- (sha256
- (base32 "07vq3s77f5yndn7jfx39jbsaq5m8wqc3p52v4i6sgyasnh3y8zv4"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- ;; python-eth-hash is not packed yet.
- #:test-flags #~(list "--ignore=tests/crypto_addresses/test_eth_address.py")))
- (native-inputs
- (list python-pytest
- python-setuptools
- python-wheel))
- (propagated-inputs
- (list python-decorator
- ;; python-eth-hash ; optional, not packed yet.
- python-six))
- (home-page "https://github.com/kvesteri/validators")
- (synopsis "Data validation library")
- (description
- "This package contains validators for different things such as email
-addresses, IP addresses, URLs, hashes and more. It has been designed to be
-easy to use and not require defining a schema or form just to validate some
-input.")
- (license license:expat)))
-
-(define-public python-validate-email
- (package
- (name "python-validate-email")
- (version "1.3")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "validate_email" version))
- (sha256
- (base32 "1bxffaf5yz2cph8ki55vdvdypbwkvn2xr1firlcy62vqbzf1jivq"))))
- (build-system pyproject-build-system)
- (arguments (list #:tests? #f)) ;no tests in PyPI or Git
- (native-inputs
- (list python-setuptools))
- (home-page "https://github.com/syrusakbary/validate_email")
- (synopsis "Verifies if an email address is valid and really exists")
- (description "@code{validate_email} can be used to verify if an email
- address is valid and really exists.")
- (license license:lgpl3+)))
-
-(define-public python-valkey
- (package
- (name "python-valkey")
- (version "6.1.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/valkey-io/valkey-py")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "05zmnb8lmygv75zx0hb40s2rgr53sy4g0sizcb9mq8fd09z5i0n2"))))
- (build-system pyproject-build-system)
- (arguments
- ;; XXX: A lot of tests fail with ConnectionError
- ;; Maybe we need to spawn a valkey server?
- (list #:tests? #f))
- (native-inputs
- (list python-setuptools))
- (home-page "https://github.com/valkey-io/valkey-py")
- (synopsis "Python client for Valkey")
- (description
- "This package provides a python client for the @code{Valkey} key-value
-store, forked from redis-py.")
- (license license:expat)))
-
;; XXX: Project has no updates since 2019, consider to remove when nothing
;; depends on it in the next refresh cycle.
;; See: <https://github.com/pipermerriam/flex/issues/237>.
@@ -33197,27 +32575,6 @@ dependencies. It implements the @uref{http://opensoundcontrol.org/spec-1_0,
Open Sound Control 1.0} specification.")
(license license:unlicense)))
-(define-public python-voluptuous
- (package
- (name "python-voluptuous")
- (version "0.15.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "voluptuous" version))
- (sha256
- (base32 "1akr0adq9can0ibravqzl4aaf20rgv47g9gk596hn8ykqhrapz3g"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest
- python-setuptools))
- (home-page "https://github.com/alecthomas/voluptuous")
- (synopsis "Python data validation library")
- (description
- "Voluptuous is a Python data validation library. It is primarily
-intended for validating data coming into Python as JSON, YAML, etc.")
- (license license:bsd-3)))
-
(define-public python-cmd2
(package
(name "python-cmd2")
@@ -34435,77 +33792,6 @@ EDU SDK. This library has the following features:
(home-page "https://github.com/FriedrichFroebel/python-djvulibre")
(license license:gpl2)))
-;; XXX: No updates since 2018, consider to remove when fails to build, it's a
-;; leaf package.
-(define-public python-version
- ;; No version tags available in the git repo; just using bare commit instead.
- (let ((commit "5232eea250ab72cc5cb72b0b75efb35d2192b906")
- (revision "1"))
- (package
- (name "python-version")
- (version (git-version "0.0.2" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.com/halfak/python_version")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0w210559ypdynlj9yn40m9awzkaknwrf682i99hswl7h66sdgh0h"))))
- (build-system pyproject-build-system)
- (arguments
- (list #:tests? #f)) ;no tests
- (native-inputs
- (list python-setuptools))
- (home-page "https://gitlab.com/halfak/python_version")
- (synopsis "Python version checking utility")
- (description
- "This package provides a simple utility for checking the python version.")
- (license license:expat))))
-
-(define-public python-versioneer
- (package
- (name "python-versioneer")
- (version "0.29")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "versioneer" version))
- (sha256
- (base32
- "0cap4cjckxp9mlkprqayfs77k3pn5iwpr2riacdxc4bjhnwq7cjs"))
- (patches (search-patches "python-versioneer-guix-support.patch"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- ;; Minimize test requirements.
- #:test-flags
- #~(list "--deselect=test/git/test_git.py::Repo::test_pyproject"
- "--ignore=test/git/test_invocations.py"
- "--ignore=test/test_render.py")
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- (invoke "python" "setup.py" "make_versioneer"
- "make_long_version_py_git"))))))
- (native-inputs
- (list git-minimal/pinned
- python-pytest
- python-setuptools
- python-wheel))
- (propagated-inputs
- (list python-tomli))
- (home-page "https://github.com/python-versioneer/python-versioneer")
- (synopsis "Version-string management for VCS-controlled trees")
- (description
- "@code{versioneer} is a tool for managing a recorded version number in
-distutils-based python projects. The goal is to remove the tedious and
-error-prone \"update the embedded version string\" step from your release
-process.")
- (license license:unlicense)))
-
(define-public python-gamera
(package
(name "python-gamera")
@@ -37905,35 +37191,6 @@ asyncio (PEP-3156/tulip) framework. It wraps asynchronous
features of the Psycopg database driver.")
(license license:bsd-3)))
-(define-public python-verspec
- (package
- (name "python-verspec")
- (version "0.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "verspec" version))
- (sha256
- (base32 "07n06wv85fm4vl1ird2mja0823js3x322wgs9gdnq1djjyk4ql64"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- (invoke "touch" "test/__init__.py"))))))
- (native-inputs
- (list python-pretend
- python-pytest
- python-setuptools))
- (home-page "https://github.com/jimporter/verspec")
- (synopsis "Flexible version handling for Python")
- (description
- "This Python library handles software versions and specifiers. It is
-adapted from the @code{packaging} package.")
- (license (list license:bsd-2 license:asl2.0))))
-
(define-public python-shtab
(package
(name "python-shtab")
@@ -39677,6 +38934,751 @@ instance in spelling correction, predictive typing, to help disabled people
write text fast, and for various text generation, statistics, and modeling tasks.")
(license license:expat)))
+(define-public python-validate-email
+ (package
+ (name "python-validate-email")
+ (version "1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "validate_email" version))
+ (sha256
+ (base32 "1bxffaf5yz2cph8ki55vdvdypbwkvn2xr1firlcy62vqbzf1jivq"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f)) ;no tests in PyPI or Git
+ (native-inputs
+ (list python-setuptools))
+ (home-page "https://github.com/syrusakbary/validate_email")
+ (synopsis "Verifies if an email address is valid and really exists")
+ (description
+ "@code{validate_email} can be used to verify if an email address is
+valid and really exists.")
+ (license license:lgpl3+)))
+
+(define-public python-validators
+ (package
+ (name "python-validators")
+ (version "0.34.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "validators" version))
+ (sha256
+ (base32 "07vq3s77f5yndn7jfx39jbsaq5m8wqc3p52v4i6sgyasnh3y8zv4"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; python-eth-hash is not packed yet.
+ #:test-flags #~(list "--ignore=tests/crypto_addresses/test_eth_address.py")))
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-decorator
+ ;; python-eth-hash ; optional, not packed yet.
+ python-six))
+ (home-page "https://github.com/kvesteri/validators")
+ (synopsis "Data validation library")
+ (description
+ "This package contains validators for different things such as email
+addresses, IP addresses, URLs, hashes and more. It has been designed to be
+easy to use and not require defining a schema or form just to validate some
+input.")
+ (license license:expat)))
+
+(define-public python-valkey
+ (package
+ (name "python-valkey")
+ (version "6.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/valkey-io/valkey-py")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05zmnb8lmygv75zx0hb40s2rgr53sy4g0sizcb9mq8fd09z5i0n2"))))
+ (build-system pyproject-build-system)
+ (arguments
+ ;; XXX: A lot of tests fail with ConnectionError
+ ;; Maybe we need to spawn a valkey server?
+ (list #:tests? #f))
+ (native-inputs
+ (list python-setuptools))
+ (home-page "https://github.com/valkey-io/valkey-py")
+ (synopsis "Python client for Valkey")
+ (description
+ "This package provides a python client for the @code{Valkey} key-value
+store, forked from redis-py.")
+ (license license:expat)))
+
+;; XXX: No fresh releases or updates since 2016, consider to remove, leaf
+;; package.
+(define-public python-vcversioner
+ (package
+ (name "python-vcversioner")
+ (version "2.16.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "vcversioner" version))
+ (sha256
+ (base32
+ "16z10sm78jd7ca3jbkgc3q5i8a8q7y1h21q1li21yy3rlhbhrrns"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;no tests in PyPI archvie
+ (native-inputs
+ (list python-setuptools))
+ (home-page "https://github.com/habnabit/vcversioner")
+ (synopsis "Python library for version number discovery")
+ (description
+ "Vcversioner is a Python library that inspects tagging information in a
+variety of version control systems in order to discover version numbers.")
+ (license license:isc)))
+
+(define-public python-vdf
+ (package
+ (name "python-vdf")
+ (version "3.4")
+ (source
+ (origin
+ (method git-fetch) ; no tests in PyPI release
+ (uri (git-reference
+ (url "https://github.com/ValvePython/vdf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xc0sd21xgf08pf6dwa4l23y9jb6yqaw61rr03ns0d2r6sby137a"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest python-setuptools))
+ (home-page "https://github.com/ValvePython/vdf")
+ (synopsis "Work with Valve's VDF text format")
+ (description
+ "This package provides @code{python-vdf}, a library for working with
+ Valve's VDF text format.")
+ (license license:expat)))
+
+(define-public python-vendetect
+ (package
+ (name "python-vendetect")
+ (version "0.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "vendetect" version))
+ (sha256
+ (base32 "0hi13sbgr8y66mih2xyzczjfff4lwymkn9cw5215ms2nn6qq9rhi"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-copydetect python-rich))
+ (native-inputs (list python-hatchling python-pytest))
+ (home-page "https://github.com/trailofbits/vendetect")
+ (synopsis "Detect vendored and copy-pasted code")
+ (description
+ "Vendetect helps identify copied or vendored code between repositories,
+making it easier to detect when code has been copied with or without
+attribution. It uses similarity detection algorithms to compare code files
+and highlight matching sections.")
+ (license license:agpl3+)))
+
+;; XXX: No updates since 2017.
+(define-public python-verboselogs
+ (package
+ (name "python-verboselogs")
+ (version "1.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "verboselogs" version))
+ (sha256
+ (base32 "09z4d1jiasn7k1hs5af2ckmnrd0i1d1m04bhfjhv7z6svzfdwgg3"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ ;; Do not run pylint plugin test, as astroid is an old unsupported
+ ;; version.
+ #~(list "-k" "not test_pylint_plugin"
+ "verboselogs/tests.py")))
+ (native-inputs
+ (list python-mock
+ python-pytest
+ python-setuptools))
+ (home-page "https://verboselogs.readthedocs.io")
+ (synopsis "Verbose logging level for Python's logging module")
+ (description
+ "The @code{verboselogs} package extends Python's @code{logging} module to
+add the log levels NOTICE, SPAM, SUCCESS and VERBOSE.")
+ (license license:expat)))
+
+;; XXX: No updates since 2018, consider to remove when fails to build, it's a
+;; leaf package.
+(define-public python-version
+ ;; No version tags available in the git repo; just using bare commit instead.
+ (let ((commit "5232eea250ab72cc5cb72b0b75efb35d2192b906")
+ (revision "1"))
+ (package
+ (name "python-version")
+ (version (git-version "0.0.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/halfak/python_version")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0w210559ypdynlj9yn40m9awzkaknwrf682i99hswl7h66sdgh0h"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;no tests
+ (native-inputs
+ (list python-setuptools))
+ (home-page "https://gitlab.com/halfak/python_version")
+ (synopsis "Python version checking utility")
+ (description
+ "This package provides a simple utility for checking the python version.")
+ (license license:expat))))
+
+(define-public python-versioneer
+ (package
+ (name "python-versioneer")
+ (version "0.29")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "versioneer" version))
+ (sha256
+ (base32
+ "0cap4cjckxp9mlkprqayfs77k3pn5iwpr2riacdxc4bjhnwq7cjs"))
+ (patches (search-patches "python-versioneer-guix-support.patch"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; Minimize test requirements.
+ #:test-flags
+ #~(list "--deselect=test/git/test_git.py::Repo::test_pyproject"
+ "--ignore=test/git/test_invocations.py"
+ "--ignore=test/test_render.py")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ (invoke "python" "setup.py" "make_versioneer"
+ "make_long_version_py_git"))))))
+ (native-inputs
+ (list git-minimal/pinned
+ python-pytest
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-tomli))
+ (home-page "https://github.com/python-versioneer/python-versioneer")
+ (synopsis "Version-string management for VCS-controlled trees")
+ (description
+ "@code{versioneer} is a tool for managing a recorded version number in
+distutils-based python projects. The goal is to remove the tedious and
+error-prone \"update the embedded version string\" step from your release
+process.")
+ (license license:unlicense)))
+
+(define-public python-verspec
+ (package
+ (name "python-verspec")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "verspec" version))
+ (sha256
+ (base32 "07n06wv85fm4vl1ird2mja0823js3x322wgs9gdnq1djjyk4ql64"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ (invoke "touch" "test/__init__.py"))))))
+ (native-inputs
+ (list python-pretend
+ python-pytest
+ python-setuptools))
+ (home-page "https://github.com/jimporter/verspec")
+ (synopsis "Flexible version handling for Python")
+ (description
+ "This Python library handles software versions and specifiers. It is
+adapted from the @code{packaging} package.")
+ (license (list license:bsd-2 license:asl2.0))))
+
+(define-public python-vine
+ (package
+ (name "python-vine")
+ (version "5.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "vine" version))
+ (sha256
+ (base32 "1q31krwxdvwawdn1kfqmpplix31d4jhs0qng26908hawsf0yjqlb"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ ;; AttributeError: 'test_barrier' object has no attribute 'ps'.
+ #~(list "-k" (string-join
+ (list "not test_evaluate"
+ "test_reverse"
+ "test_cancel"
+ "test_throw")
+ " and not "))))
+ (native-inputs
+ (list python-pytest python-setuptools python-wheel))
+ (home-page "https://github.com/celery/vine")
+ (synopsis "Promises for Python")
+ (description
+ "@code{vine} provides a special implementation of promises in that it can
+be used both for \"promise of a value\" and lazy evaluation. The biggest
+upside for this is that everything in a promise can also be a promise,
+e.g. filters, callbacks and errbacks can all be promises.")
+ (license license:bsd-3)))
+
+(define-public python-virtualenv
+ (package
+ (name "python-virtualenv")
+ (version "20.29.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "virtualenv" version))
+ (sha256
+ (base32
+ "0dfwnn8i1y33kgxhi4xyhsj4yr5vsin7zf9c343bcbyk700rgf5q"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" (string-join
+ (list
+ ;; These tests require Internet access.
+ "not test_seed_link_via_app_data"
+ ;; AssertionError: assert 'python' in ['python3',
+ ;; 'python3.11'].
+ ;;
+ ;; PythonInfo() returns: 'system_executable':
+ ;; '/gnu/store/...-python-wrapper-3.11.11/bin/python'
+ "test_fallback_existent_system_executable")
+ " and not "))))
+ (native-inputs
+ (list python-flaky
+ python-hatch-vcs
+ python-hatchling
+ python-packaging
+ python-pytest
+ python-pytest-env
+ python-pytest-freezer
+ python-pytest-mock
+ python-pytest-timeout
+ python-setuptools
+ python-time-machine))
+ (propagated-inputs
+ (list python-distlib
+ python-filelock
+ python-platformdirs))
+ (home-page "https://virtualenv.pypa.io/")
+ (synopsis "Virtual Python environment builder")
+ (description
+ "Virtualenv is a tool to create isolated Python environments.")
+ (license license:expat)))
+
+;; XXX: No new release since 2021, no updates on default branch since 2023, no
+;; users in Guix; consider to remove if it keeps failing to build.
+(define-public python-virtualenv-clone
+ (package
+ (name "python-virtualenv-clone")
+ (version "0.5.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/edwardgeorge/virtualenv-clone")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0p0d1y3axvjfnxlgwjx2374gikc8bmc82g0m7yashihbikh7pcxa"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" (string-join
+ ;; UnicodeDecodeError: 'utf-8' codec can't decode byte
+ ;; 0xba in position 10: invalid start byte
+ (list "not test_clone_contents"
+ ;; AssertionError: All versions were skipped.
+ "test_clone_syspath"
+ "test_clone_version"
+ "test_virtualenv_syspath"
+ "test_virtualenv_versions")
+ " and not "))))
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-tomli
+ python-virtualenv
+ python-wheel))
+ (home-page "https://github.com/edwardgeorge/virtualenv-clone")
+ (synopsis "Clone a non-relocatable virtualenv cleanly")
+ (description
+ "Clone non-relocatable virtualenvs without breaking site-packages.")
+ (license license:expat)))
+
+(define-public python-vncdotool
+ (package
+ (name "python-vncdotool")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "http://github.com/sibson/vncdotool")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1adsc263qsa3hcyk8mhv0wwq44h8zhcksx92chd5rr1wz37zmc22"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-pillow python-pycryptodomex python-twisted))
+ (native-inputs (list python-pexpect python-pytest python-pyvirtualdisplay
+ python-setuptools python-wheel))
+ (home-page "http://github.com/sibson/vncdotool")
+ (synopsis "Command line VNC client")
+ (description
+ "This package provides a Python command line VNC client. It can be
+useful to automating interactions with virtual machines or hardware devices
+that are otherwise difficult to control.")
+ (license license:expat)))
+
+(define-public python-vncdotool-bootstrap
+ (hidden-package
+ (package/inherit python-vncdotool
+ (arguments (list #:tests? #f))
+ (native-inputs (list python-pexpect python-pytest python-setuptools
+ python-wheel)))))
+
+(define-public python-vobject
+ (package
+ (name "python-vobject")
+ (version "0.9.9")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "vobject" version))
+ (sha256
+ (base32
+ "13mk8wrg7js0zv3w8246jnxb3i5yp4ascl1csp0q9787wbbyai5c"))))
+ (build-system pyproject-build-system)
+ (arguments
+ '(;; The test suite relies on some non-portable Windows interfaces. Tests
+ ;; are rewokred on master's HEAD.
+ #:tests? #f))
+ (native-inputs
+ (list python-setuptools))
+ (propagated-inputs
+ (list python-dateutil
+ python-pytz
+ python-six)) ;it's dropped on master's HEAD
+ (home-page "https://py-vobject.github.io/")
+ (synopsis "Parse and generate vCard and vCalendar files")
+ (description
+ "Vobject is intended to be a full featured Python package for parsing
+and generating vCard and vCalendar files. Currently, iCalendar files are
+supported and well tested. vCard 3.0 files are supported, and all data should
+be imported, but only a few components are understood in a sophisticated way.")
+ (license license:asl2.0)))
+
+(define-public python-voluptuous
+ (package
+ (name "python-voluptuous")
+ (version "0.15.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "voluptuous" version))
+ (sha256
+ (base32 "1akr0adq9can0ibravqzl4aaf20rgv47g9gk596hn8ykqhrapz3g"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools))
+ (home-page "https://github.com/alecthomas/voluptuous")
+ (synopsis "Python data validation library")
+ (description
+ "Voluptuous is a Python data validation library. It is primarily
+intended for validating data coming into Python as JSON, YAML, etc.")
+ (license license:bsd-3)))
+
+(define-public python-wand
+ (package
+ (name "python-wand")
+ (version "0.6.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Wand" version))
+ (sha256
+ (base32 "1jpwm956vm35hmgjndr2jwrcql0bwvpsl88q5nr0x8ppxa2380gm"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ ;; These two tests fail even though the signatures are identical.
+ '(list "-k" "not fourier_transform")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'hardcode-lib-path
+ (lambda _
+ (substitute* "wand/api.py"
+ (("os\\.environ\\.get\\('MAGICK_HOME'\\)")
+ (string-append "\"" #$(this-package-input "imagemagick") "\""))
+ (("os\\.environ\\.get\\('WAND_MAGICK_LIBRARY_SUFFIX'\\)")
+ "\".Q16\"")))))))
+ (native-inputs
+ (list python-setuptools python-pytest python-wheel))
+ (inputs
+ (list imagemagick))
+ (home-page "https://docs.wand-py.org/")
+ (synopsis "MagickWand API binding for Python")
+ (description
+ "Wand is a ctypes-based binding for ImageMagick's MagickWand library.")
+ (license license:expat)))
+
+(define-public python-wasabi
+ (package
+ (name "python-wasabi")
+ (version "1.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "wasabi" version))
+ (sha256
+ (base32 "0y085r7hym3x34a9jgxl5cd8gsh617rdmd187q6dn29q027h1csb"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ ;; Test requires nbconvert which is huge.
+ #~(list "--deselect=wasabi/tests/test_jupyter.py::test_jupyter")))
+ (native-inputs
+ (list python-pytest
+ python-setuptools))
+ (propagated-inputs
+ (list python-colorama))
+ (home-page "https://github.com/ines/wasabi")
+ (synopsis "Console printing and formatting toolkit")
+ (description
+ "This package provides a lightweight console printing and formatting
+toolkit for Python.")
+ (license license:expat)))
+
+(define-public python-watchdog
+ (package
+ (name "python-watchdog")
+ (version "6.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "watchdog" version))
+ (sha256
+ (base32 "10n2v2iflhdriwfp34yvhfcckqb6vs7378fdvqj8xbm3zn17rpwx"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" (string-join
+ (list "not test_kill_auto_restart"
+ "test_auto_restart_on_file_change_debounce"
+ ;; Fails with too many open files.
+ "test_select_fd")
+ " and not "))))
+ (native-inputs
+ (list python-pytest
+ python-pytest-cov
+ python-pytest-timeout
+ python-setuptools))
+ (propagated-inputs
+ (list python-pyyaml))
+ (home-page "https://github.com/gorakhargosh/watchdog")
+ (synopsis "File system events monitoring")
+ (description "This package provides a way to monitor file system events
+such as a file modification and trigger an action. This is similar to inotify,
+but portable.")
+ (license license:asl2.0)))
+
+(define-public python-watchfiles
+ (package
+ (name "python-watchfiles")
+ (version "1.0.5")
+ (source
+ (origin
+ ;; There are no tests in the PyPI tarball.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/samuelcolvin/watchfiles")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1b5rdj795xcbwg76bd8hs3skhgifd7a8zw2vj76nac2dhjlqg93b"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; Missing file in source.
+ #:test-flags ''("-k" "not test_docs_examples")
+ #:imported-modules `(,@%cargo-build-system-modules
+ ,@%pyproject-build-system-modules)
+ #:modules '(((guix build cargo-build-system) #:prefix cargo:)
+ (guix build pyproject-build-system)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'prepare-cargo-build-system
+ (lambda args
+ (for-each
+ (lambda (phase)
+ (format #t "Running cargo phase: ~a~%" phase)
+ (apply (assoc-ref cargo:%standard-phases phase)
+ #:cargo-target #$(cargo-triplet)
+ args))
+ '(unpack-rust-crates
+ configure
+ check-for-pregenerated-files
+ patch-cargo-checksums))))
+ (add-after 'build 'install-rust-library
+ (lambda _
+ (copy-file "target/release/lib_rust_notify.so"
+ "watchfiles/_rust_notify.so"))))))
+ (native-inputs
+ (append
+ (list maturin
+ python-anyio
+ python-coverage
+ python-dirty-equals
+ python-pytest
+ python-pytest-cov
+ python-pytest-mock
+ python-pytest-timeout
+ rust
+ `(,rust "cargo"))
+ (or (and=> (%current-target-system)
+ (compose list make-rust-sysroot))
+ '())))
+ (inputs (cargo-inputs 'python-watchfiles))
+ (home-page "https://github.com/samuelcolvin/watchfiles")
+ (synopsis "Simple, modern file watching and code reload in Python")
+ (description
+ "Simple, modern file watching and code reload in Python inspired by
+@code{watchdog}. Among the differences are a unified approach for each
+operating systems and an elegant approach to concurrency using threading.")
+ (license license:expat)))
+
+(define-deprecated/alias python-watchgod python-watchfiles)
+(export python-watchgod)
+
+(define-public python-wcwidth
+ (package
+ (name "python-wcwidth")
+ (version "0.2.13")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "wcwidth" version))
+ (sha256
+ (base32
+ "1dbj74q1iz349sdkxrkc90f7xd4y7a9bdvgxg3cqdcly7430rskj"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest
+ python-pytest-cov
+ python-setuptools
+ python-wheel))
+ (home-page "https://github.com/jquast/wcwidth")
+ (synopsis "Measure number of terminal column cells of wide-character codes")
+ (description "Wcwidth measures the number of terminal column cells of
+wide-character codes. It is useful for those implementing a terminal emulator,
+or programs that carefully produce output to be interpreted by one. It is a
+Python implementation of the @code{wcwidth} and @code{wcswidth} C functions
+specified in POSIX.1-2001 and POSIX.1-2008.")
+ (license license:expat)))
+
+(define-public python-whatever
+ (package
+ (name "python-whatever")
+ (version "0.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Suor/whatever")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1x5b4r3fppp208v52hn8inf2988w4llbkw9kvfc3w81dhmrf5fvq"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest python-setuptools python-wheel))
+ (home-page "https://github.com/Suor/whatever")
+ (synopsis "Make anonymous functions by partial application of operators")
+ (description "@code{whatever} provides an easy way to make anonymous
+functions by partial application of operators.")
+ (license license:bsd-3)))
+
+(define-public python-whatthepatch
+ (package
+ (name "python-whatthepatch")
+ (version "1.0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "whatthepatch" version))
+ (sha256
+ (base32 "1pvygmgj9xqs8d9lsjxvg1mymni8pjsd44yl0a74002jxbmv9vwy"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools))
+ (home-page "https://github.com/cscorley/whatthepatch")
+ (synopsis "Patch parsing and application library")
+ (description
+ "This package provides a patch parsing and application library.")
+ (license license:expat)))
+
+(define-public python-wheel-filename
+ (package
+ (name "python-wheel-filename")
+ (version "1.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "wheel_filename" version))
+ (sha256
+ (base32 "1zcqq8mydjjrk8x5xlm53bavs51jm40nz42a7500pd6bbm31r2c7"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-hatchling python-pytest python-pytest-cov))
+ (home-page "https://github.com/wheelodex/wheel-filename")
+ (synopsis "Parse wheel filenames")
+ (description
+ "This software allows you to verify
+@url{https://packaging.python.org/en/latest/specifications/binary-distribution-format/, wheel}
+filenames and parse them into their component fields.
+
+This package adheres strictly to the standard, with the following
+exceptions:
+
+@itemize @bullet
+@item
+Version components may be any sequence of the relevant set of
+characters; they are not verified for PEP 440 compliance.
+@item
+The @file{.whl} file extension is matched case-insensitively.
+@end itemize")
+ (license license:expat)))
+
(define-public python-whenever
(package
(name "python-whenever")