GNU bug report logs - #76746
[PATCH 00/13] Add spotify-downloader.

Previous Next

Package: guix-patches;

Reported by: 45mg <45mg.writes <at> gmail.com>

Date: Tue, 4 Mar 2025 19:11:01 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 76746 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 04 Mar 2025 19:11:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to 45mg <45mg.writes <at> gmail.com>:
New bug report received and forwarded. Copy sent to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org. (Tue, 04 Mar 2025 19:11:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: [PATCH 00/13] Add spotify-downloader.
Date: Wed,  5 Mar 2025 00:40:01 +0530
If my understanding is correct, patch 4/13 will cause huge rebuilds (~4000
packages) as it changes the derivation for python-websockets to inherit from
the new python-websockets-14. I don't know how we normally handle
this. Guidance would be appreciated.

3/13 (python-rich) and 2/13 (python-rapidfuzz) will also cause a lot of
rebuilds - 637 and 147 packages, respectively (if I'm reading the `guix
refresh` output correctly). I don't have the hardware to build all of these
and see if they still work.

Hopefully we can figure this out.

45mg (13):
  gnu: python-slugify: Update to 8.0.4.
  gnu: python-rapidfuzz: Update to 3.10.1.
  gnu: python-rich: Update to 13.9.4.
  gnu: Add python-websockets-14.
  gnu: Add python-dacite.
  gnu: Add python-jaconv.
  gnu: Add python-pykakasi.
  gnu: Add python-syncedlyrics.
  gnu: Add python-soundcloud-v2.
  gnu: Add python-ytmusicapi.
  gnu: Add python-pytube.
  gnu: Add python-spotipy.
  gnu: Add spotify-downloader.

 gnu/packages/python-web.scm | 251 ++++++++++++++++++++++++++++++++++--
 gnu/packages/python-xyz.scm | 119 +++++++++++++++--
 2 files changed, 350 insertions(+), 20 deletions(-)


base-commit: f3064b765a5bbbff72bf2fd0e5fa6ecc4b1136f0
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 04 Mar 2025 19:14:02 GMT) Full text and rfc822 format available.

Message #8 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 76746 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: [PATCH 01/13] gnu: python-slugify: Update to 8.0.4.
Date: Wed,  5 Mar 2025 00:43:04 +0530
* gnu/packages/python-web.scm (python-slugify): Update to 8.0.4.
[source]: Fetch from GitHub, as PyPI archive no longer includes tests.

Change-Id: I0b30b800362694aeee545de736213ea939dbd24e
---
 gnu/packages/python-web.scm | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 18c4931c49..62d746cba2 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -7091,13 +7091,16 @@ (define-public python-slowapi
 (define-public python-slugify
   (package
     (name "python-slugify")
-    (version "5.0.2")
+    (version "8.0.4")
     (source
      (origin
-       (method url-fetch)
-       (uri (pypi-uri "python-slugify" version))
+       (method git-fetch) ; no tests in PyPI
+       (uri (git-reference
+             (url "https://github.com/un33k/python-slugify")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
-        (base32 "1aww2ncglyii4jkbfjxqhinivawf9zmwifcj32d69gpwp6h86czi"))))
+        (base32 "0z83nwy7acc72mb2jv3516nfplah1wm61wkmnzl71dh8i4q985yd"))))
     (propagated-inputs
      (list python-unidecode python-text-unidecode))
     (arguments
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 04 Mar 2025 19:14:03 GMT) Full text and rfc822 format available.

Message #11 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 76746 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: [PATCH 02/13] gnu: python-rapidfuzz: Update to 3.10.1.
Date: Wed,  5 Mar 2025 00:43:05 +0530
* gnu/packages/python-xyz.scm (python-rapidfuzz): Update to 3.10.1.
[native-inputs]: Add cmake-minimal, to not build pure-Python version.
Replace python-scikit-build with python-scikit-build-core.

Change-Id: I5a28bf883377814465ae088ae5fbde81120e03bb
---
 gnu/packages/python-xyz.scm | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 268510f3e2..e93a6dcb7c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2863,19 +2863,23 @@ (define-public python-d2to1
 (define-public python-rapidfuzz
   (package
     (name "python-rapidfuzz")
-    (version "3.6.1")
+    (version "3.10.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "rapidfuzz" version))
        (sha256
-        (base32 "1rrx043zqqql31pcp92k61digibymp3l382gaxr4h8717kp0nrim"))))
+        (base32 "0yarb1k40a36f4p2afy5was9ifbq1jdyyyfw88zmp4bshinm85as"))))
     (build-system pyproject-build-system)
     (native-inputs
-     (list python-packaging
-           python-pytest
-           python-scikit-build
-           python-setuptools))
+     (list
+      ;; If it doesn't detect cmake, it will build a pure-Python version that
+      ;; fails some tests.
+      cmake-minimal
+      python-packaging
+      python-pytest
+      python-scikit-build-core
+      python-setuptools))
     (home-page "https://github.com/rapidfuzz/RapidFuzz")
     (synopsis "Rapid fuzzy string matching")
     (description "RapidFuzz is a fast string matching library for Python and
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 04 Mar 2025 19:14:04 GMT) Full text and rfc822 format available.

Message #14 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 76746 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: [PATCH 03/13] gnu: python-rich: Update to 13.9.4.
Date: Wed,  5 Mar 2025 00:43:06 +0530
* gnu/packages/python-xyz.scm (python-rich): Update to 13.9.4.
[source]{url}: Use new GitHub repository.
[arguments]{test-flags}: Skip another failing test.
[native-inputs]: Add which.

Change-Id: Iea6416016e24e0e2684bbf6a767401834fbb581b
---
 gnu/packages/python-xyz.scm | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e93a6dcb7c..1976abe8be 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -21809,23 +21809,24 @@ (define-public python-slugid
 (define-public python-rich
   (package
     (name "python-rich")
-    (version "13.7.1")
+    (version "13.9.4")
     (source
       (origin
         ;; There are no tests in the PyPI tarball.
         (method git-fetch)
         (uri (git-reference
-              (url "https://github.com/willmcgugan/rich")
+              (url "https://github.com/Textualize/rich")
               (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
          (base32
-          "0jvkcp473c0icbb8md3grc3285j2cy0z0swxgk2g67d9n0zfdfzc"))))
+          "03qqipjjxpp4c984nzr667k9sa15bmbkzl0865jkyjvy6kvjkak5"))))
     (build-system pyproject-build-system)
     (arguments
      (list
       #:test-flags
-      ;; These fail for unknown reasons, but the results look identical.
+      ;; These fail for unknown reasons. The results look nearly identical
+      ;; except for some minor differences in the colors.
       ;; Perhaps only the terminal escape sequences are superficially
       ;; different?
       '(list "-k" (string-append "not test_card_render"
@@ -21834,12 +21835,14 @@ (define-public python-rich
                                  " and not test_python_render_simple"
                                  " and not test_python_render_simple_passing_lexer_instance"
                                  " and not test_python_render_indent_guides"
+                                 " and not test_background_color_override_includes_padding"
                                  " and not test_option_no_wrap"
                                  " and not test_syntax_highlight_ranges"))))
     (propagated-inputs
      (list python-markdown-it-py python-pygments))
     (native-inputs
-     (list python-poetry-core python-pytest))
+     (list which  ;needed by test_brokenpipeerror
+           python-poetry-core python-pytest))
     (home-page "https://github.com/willmcgugan/rich")
     (synopsis "Render rich text and more to the terminal")
     (description
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 04 Mar 2025 19:14:04 GMT) Full text and rfc822 format available.

Message #17 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 76746 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: [PATCH 04/13] gnu: Add python-websockets-14.
Date: Wed,  5 Mar 2025 00:43:07 +0530
* gnu/packages/python-web.scm (python-websockets-14): New variable.
[source]{uri}: Use new GitHub repository.
[home-page]: Likewise.
(python-websockets): Inherit from python-websockets-14.

Change-Id: I91b90bf4e407f6726b0ea1b95b7a69f1bd9471ec
---
 gnu/packages/python-web.scm | 26 +++++++++++++++++++++-----
 1 file changed, 21 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 62d746cba2..6a6d588b2e 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -7957,20 +7957,20 @@ (define-public python-warcio
 files.")
     (license license:asl2.0)))
 
-(define-public python-websockets
+(define-public python-websockets-14
   (package
     (name "python-websockets")
-    (version "13.1")
+    (version "14.2")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/aaugustin/websockets")
+             (url "https://github.com/python-websockets/websockets")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1dx3rf6fmg4ir9cfcn1fil446qz879cwrjq2rcz5zvl71xkw6hb3"))))
+         "0j8x1xn3m1jcghwy42y6ibspr9kwazcgdz1c90i0jxdgj50xxbiz"))))
     (build-system pyproject-build-system)
     (arguments
      (list #:phases
@@ -7985,7 +7985,7 @@ (define-public python-websockets
     (native-inputs
      (list python-setuptools
            python-wheel))
-    (home-page "https://github.com/aaugustin/websockets")
+    (home-page "https://github.com/python-websockets/websockets")
     (synopsis
      "Python implementation of the WebSocket Protocol (RFC 6455 & 7692)")
     (description
@@ -7996,6 +7996,22 @@ (define-public python-websockets
 it provides an elegant coroutine-based API.")
     (license license:bsd-3)))
 
+(define-public python-websockets
+  (package
+    (inherit python-websockets-14)
+    (name "python-websockets")
+    (version "13.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/python-websockets/websockets")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1dx3rf6fmg4ir9cfcn1fil446qz879cwrjq2rcz5zvl71xkw6hb3"))))))
+
 (define-public python-selenium
   (package
     (name "python-selenium")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 04 Mar 2025 19:15:02 GMT) Full text and rfc822 format available.

Message #20 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 76746 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: [PATCH 05/13] gnu: Add python-dacite.
Date: Wed,  5 Mar 2025 00:43:08 +0530
* gnu/packages/python-xyz.scm (python-dacite): New variable.

Change-Id: Id70254ff672871c2ecdd59c648b9107f92c1454d
---
 gnu/packages/python-xyz.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1976abe8be..22db4d8b45 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -33941,6 +33941,38 @@ (define-public python-dictpath
 accessor layer.")
     (license license:asl2.0)))
 
+(define-public python-dacite
+  (package
+    (name "python-dacite")
+    (version "1.9.2")
+    (source
+     (origin
+       (method git-fetch)  ;tests not properly included in PyPI
+       (uri (git-reference
+             (url "https://github.com/konradhalas/dacite")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1maananph172vi3v919zryhn9hswhcjb8w3srknkd4b9y1dfl0wq"))))
+    (build-system pyproject-build-system)
+    (arguments
+     ;; Disable benchmarks.
+     `(#:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'patch-pyproject-remove-benchmarks
+                    (lambda _
+                      (substitute* "pyproject.toml"
+                        (("--benchmark-autosave --benchmark-json=benchmark.json")
+                         "")))))
+       #:test-flags '("--ignore=tests/performance")))
+    (native-inputs (list python-pytest python-pytest-benchmark
+                         python-setuptools python-wheel))
+    (home-page "https://github.com/konradhalas/dacite")
+    (synopsis "Python 3 module to simplify creation of data classes from
+dictionaries")
+    (description "This Python 3 module simplifies creation of data
+classes (PEP 557) from dictionaries.")
+    (license license:expat)))
+
 (define-public pyzo
   (package
     (name "pyzo")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 04 Mar 2025 19:15:02 GMT) Full text and rfc822 format available.

Message #23 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 76746 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: [PATCH 06/13] gnu: Add python-jaconv.
Date: Wed,  5 Mar 2025 00:43:09 +0530
* gnu/packages/python-xyz.scm (python-jaconv): New variable.

Change-Id: I0b29cd00f311ae2a4dbb2c8f59148fc4bbadc144
---
 gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 22db4d8b45..cec76daa24 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -34460,6 +34460,28 @@ (define-public python-flufl-i18n
 different tasks.")
     (license license:asl2.0)))
 
+(define-public python-jaconv
+  (package
+    (name "python-jaconv")
+    (version "0.3.4")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ikegami-yukino/jaconv")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1pfx0zvyz07c1jywrv5ayklpmjz91mrb62gc52g48d4qnqwa3fzn"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-pytest python-setuptools python-wheel))
+    (home-page "https://github.com/ikegami-yukino/jaconv")
+    (synopsis "Python Japanese character interconverter")
+    (description
+     "@code{jaconv} (Japanese Converter) is an interconverter for Hiragana,
+Katakana, Hankaku (half-width character) and Zenkaku (full-width character)")
+    (license license:expat)))
+
 (define-public python-flufl-lock
   (package
     (name "python-flufl-lock")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 04 Mar 2025 19:15:03 GMT) Full text and rfc822 format available.

Message #26 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 76746 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: [PATCH 07/13] gnu: Add python-pykakasi.
Date: Wed,  5 Mar 2025 00:43:10 +0530
* gnu/packages/python-xyz.scm (python-pykakasi): New variable.

Change-Id: I127cc34f58d4f8df737f878499c448d969c9a831
---
 gnu/packages/python-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index cec76daa24..f9390b899c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -34482,6 +34482,42 @@ (define-public python-jaconv
 Katakana, Hankaku (half-width character) and Zenkaku (full-width character)")
     (license license:expat)))
 
+(define-public python-pykakasi
+  (package
+    (name "python-pykakasi")
+    (version "2.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pykakasi" version))
+       (sha256
+        (base32 "18dhcw7myw5idajnfynjbvqxmyf9m0cygfwsavbbi7zmcf72l1gs"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags '(list "-k"
+                          (string-append
+                           ;; Disable benchmarks.
+                           "not test_benchmark"
+                           " and not pytest_benchmark_update_machine_info"
+                           " and not pytest_benchmark_update_json"
+                           ;; Fails with AssertionError
+                           " and not test_aozora"))))
+    (propagated-inputs (list python-jaconv python-deprecated))
+    (native-inputs (list python-py-cpuinfo
+                         python-pytest
+                         python-pytest-benchmark
+                         python-setuptools
+                         python-setuptools-scm
+                         python-wheel))
+    (home-page "https://codeberg.org/miurahr/pykakasi")
+    (synopsis "Convert Japanese Kana-kanji sentences into Kana-Roman")
+    (description
+     "This is a Python Natural Language Processing (NLP) library to
+transliterate hiragana, katakana and kanji (Japanese text) into
+rōmaji (Latin/Roman alphabet). It can handle characters in NFC form.")
+    (license license:gpl2)))
+
 (define-public python-flufl-lock
   (package
     (name "python-flufl-lock")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 04 Mar 2025 19:15:03 GMT) Full text and rfc822 format available.

Message #29 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 76746 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: [PATCH 08/13] gnu: Add python-syncedlyrics.
Date: Wed,  5 Mar 2025 00:43:11 +0530
* gnu/packages/python-web.scm (python-syncedlyrics): New variable.

Change-Id: I07915603eb234ca7952c3a682510f96e4d634f10
---
 gnu/packages/python-web.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 6a6d588b2e..7755898441 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -10679,6 +10679,31 @@ (define-public python-shopifyapi
 list, create, update, or delete resources (e.g. Order, Product, Collection).")
     (license license:expat)))
 
+(define-public python-syncedlyrics
+  (package
+    (name "python-syncedlyrics")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "syncedlyrics" version))
+       (sha256
+        (base32 "1c361xwxzcxq1vz2wilva8hr2x5s8kgidsxldgcxavasxmlj9crx"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-poetry-core python-setuptools python-wheel))
+    (propagated-inputs (list python-beautifulsoup4
+                             python-requests
+                             python-rapidfuzz))
+    (arguments
+     (list
+      #:tests? #f))  ;Tests require network
+    (home-page "https://github.com/moehmeni/syncedlyrics")
+    (synopsis "Library to fetch lyrics from common online lyrics providers")
+    (description
+     "A Python 3 library to get LRC format synchronized lyrics for your
+music.")
+    (license license:expat)))
+
 (define-public python-whatthepatch
   (package
     (name "python-whatthepatch")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 04 Mar 2025 19:15:04 GMT) Full text and rfc822 format available.

Message #32 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 76746 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: [PATCH 09/13] gnu: Add python-soundcloud-v2.
Date: Wed,  5 Mar 2025 00:43:12 +0530
* gnu/packages/python-web.scm (python-soundcloud-v2): New variable.

Change-Id: I6126d879bb6f44155e61e6eaed2cc9fe51c4103e
---
 gnu/packages/python-web.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 7755898441..41b141e012 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -10704,6 +10704,31 @@ (define-public python-syncedlyrics
 music.")
     (license license:expat)))
 
+(define-public python-soundcloud-v2
+  (package
+    (name "python-soundcloud-v2")
+    (version "1.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "soundcloud-v2" version))
+       (sha256
+        (base32 "0hw2wxrg0rgj0x1ccy0lz0rws39byzs1din1573rxz0gdha169a6"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-poetry-core python-setuptools python-wheel))
+    (propagated-inputs (list python-dacite
+                             python-dateutil
+                             python-rapidfuzz
+                             python-requests))
+    (arguments
+     (list #:tests? #f))  ;Tests require network
+    (home-page "https://github.com/7x11x13/soundcloud.py")
+    (synopsis "Unofficial wrapper for internal v2 SoundCloud API")
+    (description
+     "A Python wrapper for some of the internal v2 SoundCloud API (read/GET
+only methods).  Does not require an API key.")
+    (license license:expat)))
+
 (define-public python-whatthepatch
   (package
     (name "python-whatthepatch")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 04 Mar 2025 19:15:04 GMT) Full text and rfc822 format available.

Message #35 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 76746 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: [PATCH 10/13] gnu: Add python-ytmusicapi.
Date: Wed,  5 Mar 2025 00:43:13 +0530
* gnu/packages/python-web.scm (python-ytmusicapi): New variable.

Change-Id: I97f4ea045f0ebb82cc2690d71a126988367e273d
---
 gnu/packages/python-web.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 41b141e012..1717b6fdfc 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -10729,6 +10729,32 @@ (define-public python-soundcloud-v2
 only methods).  Does not require an API key.")
     (license license:expat)))
 
+(define-public python-ytmusicapi
+  (package
+    (name "python-ytmusicapi")
+    (version "1.10.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ytmusicapi" version))
+       (sha256
+        (base32 "1yb95pv3jxbmg43lv92ll6741nzlsksixxlnggs6prqn352qa9l1"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-pytest
+                         python-setuptools
+                         python-setuptools-scm
+                         python-wheel))
+    (propagated-inputs (list python-requests))
+    (arguments
+     '(#:tests? #f))  ;tests require network
+    (home-page "https://github.com/sigma67/ytmusicapi")
+    (synopsis "Python 3 library for the YouTube Music API")
+    (description
+     "This is a Python 3 library to send requests to the YouTube Music API. It
+emulates YouTube Music web client requests using the user’s cookie data for
+authentication.")
+    (license license:expat)))
+
 (define-public python-whatthepatch
   (package
     (name "python-whatthepatch")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 04 Mar 2025 19:15:05 GMT) Full text and rfc822 format available.

Message #38 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 76746 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: [PATCH 11/13] gnu: Add python-pytube.
Date: Wed,  5 Mar 2025 00:43:14 +0530
* gnu/packages/python-web.scm (python-pytube): New variable.

Change-Id: Ie2b342a884b4694a0dc8a0c959a918e4b0ab25b3
---
 gnu/packages/python-web.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 1717b6fdfc..6666fb5675 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -10755,6 +10755,36 @@ (define-public python-ytmusicapi
 authentication.")
     (license license:expat)))
 
+(define-public python-pytube
+  (package
+    (name "python-pytube")
+    (version "15.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pytube/pytube")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        "1598764vnzhc5s4w1car5sci3fmf8lp3rflsysb76f794ms35vvd")))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-pytest python-setuptools python-wheel))
+    (arguments
+     '(#:test-flags  ;Disable network-dependent tests.
+       '("--ignore=tests/test_extract.py"
+         "--ignore=tests/test_query.py"
+         "--ignore=tests/test_streams.py"
+         "--ignore=tests/test_main.py"
+         "-k"
+         "not test_streaming")))
+    (home-page "https://github.com/pytube/pytube")
+    (synopsis "Library and utility for downloading YouTube videos")
+    (description
+     "This is a lightweight, dependency-free Python 3 library (and
+command-line utility) for downloading YouTube videos.")
+    (license license:unlicense)))
+
 (define-public python-whatthepatch
   (package
     (name "python-whatthepatch")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 04 Mar 2025 19:15:05 GMT) Full text and rfc822 format available.

Message #41 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 76746 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: [PATCH 12/13] gnu: Add python-spotipy.
Date: Wed,  5 Mar 2025 00:43:15 +0530
* gnu/packages/python-web.scm (python-spotipy): New variable.

Change-Id: Id1d2a46997eb1dab9be6951a1b2d9f5a43083863
---
 gnu/packages/python-web.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 6666fb5675..17edbad7a1 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -10785,6 +10785,29 @@ (define-public python-pytube
 command-line utility) for downloading YouTube videos.")
     (license license:unlicense)))
 
+(define-public python-spotipy
+  (package
+    (name "python-spotipy")
+    (version "2.24.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "spotipy" version))
+       (sha256
+        (base32 "03gg9631nrgsq7daj6w70na77ha2wzghq9spy4d5b1i0chgghsir"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-redis python-requests python-urllib3))
+    (native-inputs (list python-pytest python-setuptools python-wheel))
+    (arguments
+     '(#:tests? #f))  ;tests require network
+    (home-page "https://spotipy.readthedocs.io/en/2.25.0/")
+    (synopsis "Python library for the Spotify Web API")
+    (description
+     "Spotipy is a lightweight Python library for the Spotify Web API. It aims
+to provide full access to all of the music data provided by the Spotify
+platform.")
+    (license license:expat)))
+
 (define-public python-whatthepatch
   (package
     (name "python-whatthepatch")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 04 Mar 2025 19:15:06 GMT) Full text and rfc822 format available.

Message #44 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 76746 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: [PATCH 13/13] gnu: Add spotify-downloader.
Date: Wed,  5 Mar 2025 00:43:16 +0530
* gnu/packages/python-web.scm (spotify-downloader): New variable.

Change-Id: I5ab889b33a10beb14545030ee75bd38a1663cc28
---
 gnu/packages/python-web.scm | 85 +++++++++++++++++++++++++++++++++++++
 1 file changed, 85 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 17edbad7a1..26803dc996 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -117,6 +117,7 @@ (define-module (gnu packages python-web)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages music)
   #:use-module (gnu packages node)
   #:use-module (gnu packages openstack)
   #:use-module (gnu packages pcre)
@@ -139,6 +140,7 @@ (define-module (gnu packages python-web)
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
+  #:use-module (gnu packages video)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages)
@@ -10808,6 +10810,89 @@ (define-public python-spotipy
 platform.")
     (license license:expat)))
 
+(define-public spotify-downloader
+  (package
+    (name "spotify-downloader")
+    (version "4.2.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/spotDL/spotify-downloader")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        "18lwimvld07ywzmzffg18j7dpllyk1335x786yhjzldlhx1akmhn")))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list ffmpeg
+                             python-beautifulsoup4
+                             python-fastapi
+                             python-mutagen
+                             python-platformdirs
+                             python-pydantic-2
+                             python-pykakasi
+                             python-slugify
+                             python-pytube
+                             python-rapidfuzz
+                             python-requests-next
+                             python-rich
+                             python-soundcloud-v2
+                             python-spotipy
+                             python-syncedlyrics
+                             python-uvicorn
+                             python-websockets-14
+                             python-ytmusicapi
+                             yt-dlp))
+    (native-inputs (list nss-certs-for-test
+                         python-poetry-core
+                         python-pytest
+                         python-pytest-mock
+                         python-pytest-subprocess
+                         python-pytest-vcr
+                         python-setuptools
+                         python-wheel))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; XXX: We use later versions of uvicorn and fastapi, since it proved
+         ;; too difficult to package the older ones. Note that these packages
+         ;; are network-related, and we disable network-related tests...
+         (add-after 'unpack 'use-later-versions
+           (lambda _
+             (substitute* "pyproject.toml"
+               (("^fastapi = \"\\^0.103.0\"")
+                "fastapi = \"^0.115.0\"")
+               (("^uvicorn = \"\\^0.23.2\"")
+                "uvicorn = \"^0.34.0\""))))
+         (add-before 'check 'set-HOME
+           ;; Some tests need this
+           (lambda _ (setenv "HOME" "/tmp"))))
+       #:test-flags
+       ;; Disable network dependent tests.
+       (list "--ignore=tests/test_init.py"
+             "--ignore=tests/test_matching.py"
+             "--ignore=tests/providers/lyrics"
+             "--ignore=tests/types"
+             "--ignore=tests/utils/test_github.py"
+             "--ignore=tests/utils/test_m3u.py"
+             "--ignore=tests/utils/test_metadata.py"
+             "--ignore=tests/utils/test_search.py"
+             "-k"
+             ,(string-append "not test_convert"
+                             " and not test_download_ffmpeg"
+                             " and not test_download_song"
+                             " and not test_preload_song"
+                             " and not test_yt_get_results"
+                             " and not test_yt_search"
+                             " and not test_ytm_search"
+                             " and not test_ytm_get_results"))))
+    (home-page "https://github.com/spotDL/spotify-downloader")
+    (synopsis "Download Spotify songs from YouTube")
+    (description
+     "spotDL finds songs from Spotify on YouTube and downloads them - along
+with album art, lyrics and metadata.")
+    (license license:expat)))
+
 (define-public python-whatthepatch
   (package
     (name "python-whatthepatch")
-- 
2.48.1





Information forwarded to guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Sun, 09 Mar 2025 22:55:02 GMT) Full text and rfc822 format available.

Message #47 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: Sharlatan Hellseher <sharlatanus <at> gmail.com>
To: 76746 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: [PATCH 00/13] Add spotify-downloader.
Date: Sun, 09 Mar 2025 22:54:06 +0000
[Message part 1 (text/plain, inline)]
Hi 45mg,

Thanks for the patch series.

I've started the review will report on any findings on my free time.

> If my understanding is correct, patch 4/13 will cause huge rebuilds
> (~4000 packages) as it changes the derivation for python-websockets to
> inherit from the new python-websockets-14. I don't know how we normally
> handle this. Guidance would be appreciated.

The easiest fix - use python-websockets-next <at> 14.2 which inherits
python-websockets <at> 13.1 and keeps all derivations away from
re-build.

Depending on the load in QA it may be detected and reported, I might
help here with.
[PATCH 03/13] gnu: python-rich: Update to 13.9.4.
[PATCH 02/13] gnu: python-rapidfuzz: Update to 3.10.1.

To ensure the build regression check after 3/13 and 2/13 I would apply
this checks:
--8<---------------cut here---------------start------------->8---
./pre-inst-env guix build -P 1 python-rich
./pre-inst-env guix build -P 1 python-rapidfuzz
--8<---------------cut here---------------end--------------->8---
that insures any dependent where packages in the first level still
build.

Or you may take a look at python-team and check if that packages are
already updated (its in the queue to be merged soon
https://issues.guix.gnu.org/75751).

--
Oleg
[signature.asc (application/pgp-signature, inline)]

Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 11 Mar 2025 14:26:01 GMT) Full text and rfc822 format available.

Message #50 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 45mg <45mg.writes <at> gmail.com>,
	76746 <at> debbugs.gnu.org
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: [PATCH v2 00/13] Add spotify-downloader.
Date: Tue, 11 Mar 2025 19:53:19 +0530
Hi Guix,

This revision makes only one change. In 4/13 of the previous revision,
python-websockets-14 was introduced and python-websockets was made to inherit
from it; this would cause massive rebuilds due to the package definition
changing. In this revision, it's reversed as suggested by Sharlatan [1]:
python-websockets-14 inherits from python-websockets, which is unchanged.

[1] https://yhetil.org/guix/87o6y9ke7l.fsf <at> gmail.com/

45mg (13):
  gnu: python-slugify: Update to 8.0.4.
  gnu: python-rapidfuzz: Update to 3.10.1.
  gnu: python-rich: Update to 13.9.4.
  gnu: Add python-websockets-14.
  gnu: Add python-dacite.
  gnu: Add python-jaconv.
  gnu: Add python-pykakasi.
  gnu: Add python-syncedlyrics.
  gnu: Add python-soundcloud-v2.
  gnu: Add python-ytmusicapi.
  gnu: Add python-pytube.
  gnu: Add python-spotipy.
  gnu: Add spotify-downloader.

 gnu/packages/python-web.scm | 242 +++++++++++++++++++++++++++++++++++-
 gnu/packages/python-xyz.scm | 119 ++++++++++++++++--
 2 files changed, 346 insertions(+), 15 deletions(-)


base-commit: 225518ade1a71876584316b66ff1e3dc4a86efbe
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 11 Mar 2025 14:26:02 GMT) Full text and rfc822 format available.

Message #53 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 45mg <45mg.writes <at> gmail.com>,
	76746 <at> debbugs.gnu.org
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: [PATCH v2 01/13] gnu: python-slugify: Update to 8.0.4.
Date: Tue, 11 Mar 2025 19:53:20 +0530
* gnu/packages/python-web.scm (python-slugify): Update to 8.0.4.
[source]: Fetch from GitHub, as PyPI archive no longer includes tests.

Change-Id: I0b30b800362694aeee545de736213ea939dbd24e
---
 gnu/packages/python-web.scm | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index ad02690b8d..0b0428485b 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -7093,13 +7093,16 @@ (define-public python-slowapi
 (define-public python-slugify
   (package
     (name "python-slugify")
-    (version "5.0.2")
+    (version "8.0.4")
     (source
      (origin
-       (method url-fetch)
-       (uri (pypi-uri "python-slugify" version))
+       (method git-fetch) ; no tests in PyPI
+       (uri (git-reference
+             (url "https://github.com/un33k/python-slugify")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
-        (base32 "1aww2ncglyii4jkbfjxqhinivawf9zmwifcj32d69gpwp6h86czi"))))
+        (base32 "0z83nwy7acc72mb2jv3516nfplah1wm61wkmnzl71dh8i4q985yd"))))
     (propagated-inputs
      (list python-unidecode python-text-unidecode))
     (arguments
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 11 Mar 2025 14:26:02 GMT) Full text and rfc822 format available.

Message #56 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 45mg <45mg.writes <at> gmail.com>,
	76746 <at> debbugs.gnu.org
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: [PATCH v2 02/13] gnu: python-rapidfuzz: Update to 3.10.1.
Date: Tue, 11 Mar 2025 19:53:21 +0530
* gnu/packages/python-xyz.scm (python-rapidfuzz): Update to 3.10.1.
[native-inputs]: Add cmake-minimal, to not build pure-Python version.
Replace python-scikit-build with python-scikit-build-core.

Change-Id: I5a28bf883377814465ae088ae5fbde81120e03bb
---
 gnu/packages/python-xyz.scm | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4cb7c72a82..db4ebc8ab4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2860,19 +2860,23 @@ (define-public python-d2to1
 (define-public python-rapidfuzz
   (package
     (name "python-rapidfuzz")
-    (version "3.6.1")
+    (version "3.10.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "rapidfuzz" version))
        (sha256
-        (base32 "1rrx043zqqql31pcp92k61digibymp3l382gaxr4h8717kp0nrim"))))
+        (base32 "0yarb1k40a36f4p2afy5was9ifbq1jdyyyfw88zmp4bshinm85as"))))
     (build-system pyproject-build-system)
     (native-inputs
-     (list python-packaging
-           python-pytest
-           python-scikit-build
-           python-setuptools))
+     (list
+      ;; If it doesn't detect cmake, it will build a pure-Python version that
+      ;; fails some tests.
+      cmake-minimal
+      python-packaging
+      python-pytest
+      python-scikit-build-core
+      python-setuptools))
     (home-page "https://github.com/rapidfuzz/RapidFuzz")
     (synopsis "Rapid fuzzy string matching")
     (description "RapidFuzz is a fast string matching library for Python and
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 11 Mar 2025 14:26:03 GMT) Full text and rfc822 format available.

Message #59 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 45mg <45mg.writes <at> gmail.com>,
	76746 <at> debbugs.gnu.org
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: [PATCH v2 03/13] gnu: python-rich: Update to 13.9.4.
Date: Tue, 11 Mar 2025 19:53:22 +0530
* gnu/packages/python-xyz.scm (python-rich): Update to 13.9.4.
[source]{url}: Use new GitHub repository.
[arguments]{test-flags}: Skip another failing test.
[native-inputs]: Add which.

Change-Id: Iea6416016e24e0e2684bbf6a767401834fbb581b
---
 gnu/packages/python-xyz.scm | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index db4ebc8ab4..db105cd427 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -21824,23 +21824,24 @@ (define-public python-slugid
 (define-public python-rich
   (package
     (name "python-rich")
-    (version "13.7.1")
+    (version "13.9.4")
     (source
       (origin
         ;; There are no tests in the PyPI tarball.
         (method git-fetch)
         (uri (git-reference
-              (url "https://github.com/willmcgugan/rich")
+              (url "https://github.com/Textualize/rich")
               (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
          (base32
-          "0jvkcp473c0icbb8md3grc3285j2cy0z0swxgk2g67d9n0zfdfzc"))))
+          "03qqipjjxpp4c984nzr667k9sa15bmbkzl0865jkyjvy6kvjkak5"))))
     (build-system pyproject-build-system)
     (arguments
      (list
       #:test-flags
-      ;; These fail for unknown reasons, but the results look identical.
+      ;; These fail for unknown reasons. The results look nearly identical
+      ;; except for some minor differences in the colors.
       ;; Perhaps only the terminal escape sequences are superficially
       ;; different?
       '(list "-k" (string-append "not test_card_render"
@@ -21849,12 +21850,14 @@ (define-public python-rich
                                  " and not test_python_render_simple"
                                  " and not test_python_render_simple_passing_lexer_instance"
                                  " and not test_python_render_indent_guides"
+                                 " and not test_background_color_override_includes_padding"
                                  " and not test_option_no_wrap"
                                  " and not test_syntax_highlight_ranges"))))
     (propagated-inputs
      (list python-markdown-it-py python-pygments))
     (native-inputs
-     (list python-poetry-core python-pytest))
+     (list which  ;needed by test_brokenpipeerror
+           python-poetry-core python-pytest))
     (home-page "https://github.com/willmcgugan/rich")
     (synopsis "Render rich text and more to the terminal")
     (description
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 11 Mar 2025 14:27:01 GMT) Full text and rfc822 format available.

Message #62 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 45mg <45mg.writes <at> gmail.com>,
	76746 <at> debbugs.gnu.org
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: [PATCH v2 04/13] gnu: Add python-websockets-14.
Date: Tue, 11 Mar 2025 19:53:23 +0530
* gnu/packages/python-web.scm (python-websockets-14): New
variable. Inherits from python-websockets, with the following changes:
[source]{uri}: Use new GitHub repository.
[home-page]: Likewise.
(python-websockets): Inherit from python-websockets-14.

Change-Id: I91b90bf4e407f6726b0ea1b95b7a69f1bd9471ec
---
 gnu/packages/python-web.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 0b0428485b..ac3ee99609 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -8011,6 +8011,23 @@ (define-public python-websockets
 it provides an elegant coroutine-based API.")
     (license license:bsd-3)))
 
+(define-public python-websockets-14
+  (package
+    (inherit python-websockets)
+    (name "python-websockets")
+    (version "14.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/python-websockets/websockets")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0j8x1xn3m1jcghwy42y6ibspr9kwazcgdz1c90i0jxdgj50xxbiz"))))
+    (home-page "https://github.com/python-websockets/websockets")))
+
 (define-public python-selenium
   (package
     (name "python-selenium")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 11 Mar 2025 14:27:02 GMT) Full text and rfc822 format available.

Message #65 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 45mg <45mg.writes <at> gmail.com>,
	76746 <at> debbugs.gnu.org
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: [PATCH v2 06/13] gnu: Add python-jaconv.
Date: Tue, 11 Mar 2025 19:53:25 +0530
* gnu/packages/python-xyz.scm (python-jaconv): New variable.

Change-Id: I0b29cd00f311ae2a4dbb2c8f59148fc4bbadc144
---
 gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f74b020f6d..4b35f11eec 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -34499,6 +34499,28 @@ (define-public python-flufl-i18n
 different tasks.")
     (license license:asl2.0)))
 
+(define-public python-jaconv
+  (package
+    (name "python-jaconv")
+    (version "0.3.4")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ikegami-yukino/jaconv")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1pfx0zvyz07c1jywrv5ayklpmjz91mrb62gc52g48d4qnqwa3fzn"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-pytest python-setuptools python-wheel))
+    (home-page "https://github.com/ikegami-yukino/jaconv")
+    (synopsis "Python Japanese character interconverter")
+    (description
+     "@code{jaconv} (Japanese Converter) is an interconverter for Hiragana,
+Katakana, Hankaku (half-width character) and Zenkaku (full-width character)")
+    (license license:expat)))
+
 (define-public python-flufl-lock
   (package
     (name "python-flufl-lock")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 11 Mar 2025 14:27:02 GMT) Full text and rfc822 format available.

Message #68 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 45mg <45mg.writes <at> gmail.com>,
	76746 <at> debbugs.gnu.org
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: [PATCH v2 07/13] gnu: Add python-pykakasi.
Date: Tue, 11 Mar 2025 19:53:26 +0530
* gnu/packages/python-xyz.scm (python-pykakasi): New variable.

Change-Id: I127cc34f58d4f8df737f878499c448d969c9a831
---
 gnu/packages/python-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4b35f11eec..de9b5c1a49 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -34521,6 +34521,42 @@ (define-public python-jaconv
 Katakana, Hankaku (half-width character) and Zenkaku (full-width character)")
     (license license:expat)))
 
+(define-public python-pykakasi
+  (package
+    (name "python-pykakasi")
+    (version "2.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pykakasi" version))
+       (sha256
+        (base32 "18dhcw7myw5idajnfynjbvqxmyf9m0cygfwsavbbi7zmcf72l1gs"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags '(list "-k"
+                          (string-append
+                           ;; Disable benchmarks.
+                           "not test_benchmark"
+                           " and not pytest_benchmark_update_machine_info"
+                           " and not pytest_benchmark_update_json"
+                           ;; Fails with AssertionError
+                           " and not test_aozora"))))
+    (propagated-inputs (list python-jaconv python-deprecated))
+    (native-inputs (list python-py-cpuinfo
+                         python-pytest
+                         python-pytest-benchmark
+                         python-setuptools
+                         python-setuptools-scm
+                         python-wheel))
+    (home-page "https://codeberg.org/miurahr/pykakasi")
+    (synopsis "Convert Japanese Kana-kanji sentences into Kana-Roman")
+    (description
+     "This is a Python Natural Language Processing (NLP) library to
+transliterate hiragana, katakana and kanji (Japanese text) into
+rōmaji (Latin/Roman alphabet). It can handle characters in NFC form.")
+    (license license:gpl2)))
+
 (define-public python-flufl-lock
   (package
     (name "python-flufl-lock")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 11 Mar 2025 14:27:03 GMT) Full text and rfc822 format available.

Message #71 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 45mg <45mg.writes <at> gmail.com>,
	76746 <at> debbugs.gnu.org
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: [PATCH v2 08/13] gnu: Add python-syncedlyrics.
Date: Tue, 11 Mar 2025 19:53:27 +0530
* gnu/packages/python-web.scm (python-syncedlyrics): New variable.

Change-Id: I07915603eb234ca7952c3a682510f96e4d634f10
---
 gnu/packages/python-web.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index ac3ee99609..dec3b7d7ba 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -10695,6 +10695,31 @@ (define-public python-shopifyapi
 list, create, update, or delete resources (e.g. Order, Product, Collection).")
     (license license:expat)))
 
+(define-public python-syncedlyrics
+  (package
+    (name "python-syncedlyrics")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "syncedlyrics" version))
+       (sha256
+        (base32 "1c361xwxzcxq1vz2wilva8hr2x5s8kgidsxldgcxavasxmlj9crx"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-poetry-core python-setuptools python-wheel))
+    (propagated-inputs (list python-beautifulsoup4
+                             python-requests
+                             python-rapidfuzz))
+    (arguments
+     (list
+      #:tests? #f))  ;Tests require network
+    (home-page "https://github.com/moehmeni/syncedlyrics")
+    (synopsis "Library to fetch lyrics from common online lyrics providers")
+    (description
+     "A Python 3 library to get LRC format synchronized lyrics for your
+music.")
+    (license license:expat)))
+
 (define-public python-whatthepatch
   (package
     (name "python-whatthepatch")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 11 Mar 2025 14:27:03 GMT) Full text and rfc822 format available.

Message #74 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 45mg <45mg.writes <at> gmail.com>,
	76746 <at> debbugs.gnu.org
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: [PATCH v2 05/13] gnu: Add python-dacite.
Date: Tue, 11 Mar 2025 19:53:24 +0530
* gnu/packages/python-xyz.scm (python-dacite): New variable.

Change-Id: Id70254ff672871c2ecdd59c648b9107f92c1454d
---
 gnu/packages/python-xyz.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index db105cd427..f74b020f6d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -33980,6 +33980,38 @@ (define-public python-dictpath
 accessor layer.")
     (license license:asl2.0)))
 
+(define-public python-dacite
+  (package
+    (name "python-dacite")
+    (version "1.9.2")
+    (source
+     (origin
+       (method git-fetch)  ;tests not properly included in PyPI
+       (uri (git-reference
+             (url "https://github.com/konradhalas/dacite")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1maananph172vi3v919zryhn9hswhcjb8w3srknkd4b9y1dfl0wq"))))
+    (build-system pyproject-build-system)
+    (arguments
+     ;; Disable benchmarks.
+     `(#:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'patch-pyproject-remove-benchmarks
+                    (lambda _
+                      (substitute* "pyproject.toml"
+                        (("--benchmark-autosave --benchmark-json=benchmark.json")
+                         "")))))
+       #:test-flags '("--ignore=tests/performance")))
+    (native-inputs (list python-pytest python-pytest-benchmark
+                         python-setuptools python-wheel))
+    (home-page "https://github.com/konradhalas/dacite")
+    (synopsis "Python 3 module to simplify creation of data classes from
+dictionaries")
+    (description "This Python 3 module simplifies creation of data
+classes (PEP 557) from dictionaries.")
+    (license license:expat)))
+
 (define-public pyzo
   (package
     (name "pyzo")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 11 Mar 2025 14:27:04 GMT) Full text and rfc822 format available.

Message #77 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 45mg <45mg.writes <at> gmail.com>,
	76746 <at> debbugs.gnu.org
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: [PATCH v2 09/13] gnu: Add python-soundcloud-v2.
Date: Tue, 11 Mar 2025 19:53:28 +0530
* gnu/packages/python-web.scm (python-soundcloud-v2): New variable.

Change-Id: I6126d879bb6f44155e61e6eaed2cc9fe51c4103e
---
 gnu/packages/python-web.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index dec3b7d7ba..ff8469fd61 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -10720,6 +10720,31 @@ (define-public python-syncedlyrics
 music.")
     (license license:expat)))
 
+(define-public python-soundcloud-v2
+  (package
+    (name "python-soundcloud-v2")
+    (version "1.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "soundcloud-v2" version))
+       (sha256
+        (base32 "0hw2wxrg0rgj0x1ccy0lz0rws39byzs1din1573rxz0gdha169a6"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-poetry-core python-setuptools python-wheel))
+    (propagated-inputs (list python-dacite
+                             python-dateutil
+                             python-rapidfuzz
+                             python-requests))
+    (arguments
+     (list #:tests? #f))  ;Tests require network
+    (home-page "https://github.com/7x11x13/soundcloud.py")
+    (synopsis "Unofficial wrapper for internal v2 SoundCloud API")
+    (description
+     "A Python wrapper for some of the internal v2 SoundCloud API (read/GET
+only methods).  Does not require an API key.")
+    (license license:expat)))
+
 (define-public python-whatthepatch
   (package
     (name "python-whatthepatch")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 11 Mar 2025 14:27:04 GMT) Full text and rfc822 format available.

Message #80 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 45mg <45mg.writes <at> gmail.com>,
	76746 <at> debbugs.gnu.org
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: [PATCH v2 10/13] gnu: Add python-ytmusicapi.
Date: Tue, 11 Mar 2025 19:53:29 +0530
* gnu/packages/python-web.scm (python-ytmusicapi): New variable.

Change-Id: I97f4ea045f0ebb82cc2690d71a126988367e273d
---
 gnu/packages/python-web.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index ff8469fd61..cc8362327f 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -10745,6 +10745,32 @@ (define-public python-soundcloud-v2
 only methods).  Does not require an API key.")
     (license license:expat)))
 
+(define-public python-ytmusicapi
+  (package
+    (name "python-ytmusicapi")
+    (version "1.10.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ytmusicapi" version))
+       (sha256
+        (base32 "1yb95pv3jxbmg43lv92ll6741nzlsksixxlnggs6prqn352qa9l1"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-pytest
+                         python-setuptools
+                         python-setuptools-scm
+                         python-wheel))
+    (propagated-inputs (list python-requests))
+    (arguments
+     '(#:tests? #f))  ;tests require network
+    (home-page "https://github.com/sigma67/ytmusicapi")
+    (synopsis "Python 3 library for the YouTube Music API")
+    (description
+     "This is a Python 3 library to send requests to the YouTube Music API. It
+emulates YouTube Music web client requests using the user’s cookie data for
+authentication.")
+    (license license:expat)))
+
 (define-public python-whatthepatch
   (package
     (name "python-whatthepatch")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 11 Mar 2025 14:27:05 GMT) Full text and rfc822 format available.

Message #83 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 45mg <45mg.writes <at> gmail.com>,
	76746 <at> debbugs.gnu.org
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: [PATCH v2 11/13] gnu: Add python-pytube.
Date: Tue, 11 Mar 2025 19:53:30 +0530
* gnu/packages/python-web.scm (python-pytube): New variable.

Change-Id: Ie2b342a884b4694a0dc8a0c959a918e4b0ab25b3
---
 gnu/packages/python-web.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index cc8362327f..5355eaa3fe 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -10771,6 +10771,36 @@ (define-public python-ytmusicapi
 authentication.")
     (license license:expat)))
 
+(define-public python-pytube
+  (package
+    (name "python-pytube")
+    (version "15.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pytube/pytube")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        "1598764vnzhc5s4w1car5sci3fmf8lp3rflsysb76f794ms35vvd")))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-pytest python-setuptools python-wheel))
+    (arguments
+     '(#:test-flags  ;Disable network-dependent tests.
+       '("--ignore=tests/test_extract.py"
+         "--ignore=tests/test_query.py"
+         "--ignore=tests/test_streams.py"
+         "--ignore=tests/test_main.py"
+         "-k"
+         "not test_streaming")))
+    (home-page "https://github.com/pytube/pytube")
+    (synopsis "Library and utility for downloading YouTube videos")
+    (description
+     "This is a lightweight, dependency-free Python 3 library (and
+command-line utility) for downloading YouTube videos.")
+    (license license:unlicense)))
+
 (define-public python-whatthepatch
   (package
     (name "python-whatthepatch")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 11 Mar 2025 14:29:01 GMT) Full text and rfc822 format available.

Message #86 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 45mg <45mg.writes <at> gmail.com>,
	76746 <at> debbugs.gnu.org
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: [PATCH v2 12/13] gnu: Add python-spotipy.
Date: Tue, 11 Mar 2025 19:53:31 +0530
* gnu/packages/python-web.scm (python-spotipy): New variable.

Change-Id: Id1d2a46997eb1dab9be6951a1b2d9f5a43083863
---
 gnu/packages/python-web.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 5355eaa3fe..1aab6094be 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -10801,6 +10801,29 @@ (define-public python-pytube
 command-line utility) for downloading YouTube videos.")
     (license license:unlicense)))
 
+(define-public python-spotipy
+  (package
+    (name "python-spotipy")
+    (version "2.24.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "spotipy" version))
+       (sha256
+        (base32 "03gg9631nrgsq7daj6w70na77ha2wzghq9spy4d5b1i0chgghsir"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-redis python-requests python-urllib3))
+    (native-inputs (list python-pytest python-setuptools python-wheel))
+    (arguments
+     '(#:tests? #f))  ;tests require network
+    (home-page "https://spotipy.readthedocs.io/en/2.25.0/")
+    (synopsis "Python library for the Spotify Web API")
+    (description
+     "Spotipy is a lightweight Python library for the Spotify Web API. It aims
+to provide full access to all of the music data provided by the Spotify
+platform.")
+    (license license:expat)))
+
 (define-public python-whatthepatch
   (package
     (name "python-whatthepatch")
-- 
2.48.1





Information forwarded to lars <at> 6xq.net, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, tanguy <at> bioneland.org, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 11 Mar 2025 14:29:02 GMT) Full text and rfc822 format available.

Message #89 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 45mg <45mg.writes <at> gmail.com>,
	76746 <at> debbugs.gnu.org
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: [PATCH v2 13/13] gnu: Add spotify-downloader.
Date: Tue, 11 Mar 2025 19:53:32 +0530
* gnu/packages/python-web.scm (spotify-downloader): New variable.

Change-Id: I5ab889b33a10beb14545030ee75bd38a1663cc28
---
 gnu/packages/python-web.scm | 85 +++++++++++++++++++++++++++++++++++++
 1 file changed, 85 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 1aab6094be..8c1270db28 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -117,6 +117,7 @@ (define-module (gnu packages python-web)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages music)
   #:use-module (gnu packages node)
   #:use-module (gnu packages openstack)
   #:use-module (gnu packages pcre)
@@ -139,6 +140,7 @@ (define-module (gnu packages python-web)
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
+  #:use-module (gnu packages video)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages)
@@ -10824,6 +10826,89 @@ (define-public python-spotipy
 platform.")
     (license license:expat)))
 
+(define-public spotify-downloader
+  (package
+    (name "spotify-downloader")
+    (version "4.2.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/spotDL/spotify-downloader")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        "18lwimvld07ywzmzffg18j7dpllyk1335x786yhjzldlhx1akmhn")))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list ffmpeg
+                             python-beautifulsoup4
+                             python-fastapi
+                             python-mutagen
+                             python-platformdirs
+                             python-pydantic-2
+                             python-pykakasi
+                             python-slugify
+                             python-pytube
+                             python-rapidfuzz
+                             python-requests-next
+                             python-rich
+                             python-soundcloud-v2
+                             python-spotipy
+                             python-syncedlyrics
+                             python-uvicorn
+                             python-websockets-14
+                             python-ytmusicapi
+                             yt-dlp))
+    (native-inputs (list nss-certs-for-test
+                         python-poetry-core
+                         python-pytest
+                         python-pytest-mock
+                         python-pytest-subprocess
+                         python-pytest-vcr
+                         python-setuptools
+                         python-wheel))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; XXX: We use later versions of uvicorn and fastapi, since it proved
+         ;; too difficult to package the older ones. Note that these packages
+         ;; are network-related, and we disable network-related tests...
+         (add-after 'unpack 'use-later-versions
+           (lambda _
+             (substitute* "pyproject.toml"
+               (("^fastapi = \"\\^0.103.0\"")
+                "fastapi = \"^0.115.0\"")
+               (("^uvicorn = \"\\^0.23.2\"")
+                "uvicorn = \"^0.34.0\""))))
+         (add-before 'check 'set-HOME
+           ;; Some tests need this
+           (lambda _ (setenv "HOME" "/tmp"))))
+       #:test-flags
+       ;; Disable network dependent tests.
+       (list "--ignore=tests/test_init.py"
+             "--ignore=tests/test_matching.py"
+             "--ignore=tests/providers/lyrics"
+             "--ignore=tests/types"
+             "--ignore=tests/utils/test_github.py"
+             "--ignore=tests/utils/test_m3u.py"
+             "--ignore=tests/utils/test_metadata.py"
+             "--ignore=tests/utils/test_search.py"
+             "-k"
+             ,(string-append "not test_convert"
+                             " and not test_download_ffmpeg"
+                             " and not test_download_song"
+                             " and not test_preload_song"
+                             " and not test_yt_get_results"
+                             " and not test_yt_search"
+                             " and not test_ytm_search"
+                             " and not test_ytm_get_results"))))
+    (home-page "https://github.com/spotDL/spotify-downloader")
+    (synopsis "Download Spotify songs from YouTube")
+    (description
+     "spotDL finds songs from Spotify on YouTube and downloads them - along
+with album art, lyrics and metadata.")
+    (license license:expat)))
+
 (define-public python-whatthepatch
   (package
     (name "python-whatthepatch")
-- 
2.48.1





Information forwarded to guix-patches <at> gnu.org:
bug#76746; Package guix-patches. (Tue, 25 Mar 2025 12:34:01 GMT) Full text and rfc822 format available.

Message #92 received at 76746 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: Sharlatan Hellseher <sharlatanus <at> gmail.com>, 76746 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: Re: [PATCH 00/13] Add spotify-downloader.
Date: Tue, 25 Mar 2025 12:33:29 +0000
Hi Sharlatan,

Sharlatan Hellseher <sharlatanus <at> gmail.com> writes:

> The easiest fix - use python-websockets-next <at> 14.2 which inherits
> python-websockets <at> 13.1 and keeps all derivations away from
> re-build.

I addressed this in the v2 [1].

> Depending on the load in QA it may be detected and reported, I might
> help here with.
> [PATCH 03/13] gnu: python-rich: Update to 13.9.4.
> [PATCH 02/13] gnu: python-rapidfuzz: Update to 3.10.1.

So, it's been over two weeks, and it doesn't look like QA has done
anything with this patch series. But maybe I'm not looking in the right
place; I don't really understand how our QA is supposed to work.

https://qa.guix.gnu.org/patches has been down for a while now, so I
can't check there. From the 2023 blog post on QA [2], I deduced that
https://data.qa.guix.gnu.org/ needs to apply this patch series as a
branch; it looks like it hasn't done that (I don't see a branch called
issue-76746).

What should we do now?

> To ensure the build regression check after 3/13 and 2/13 I would apply
> this checks:
> --8<---------------cut here---------------start------------->8---
> ./pre-inst-env guix build -P 1 python-rich
> ./pre-inst-env guix build -P 1 python-rapidfuzz
> --8<---------------cut here---------------end--------------->8---
> that insures any dependent where packages in the first level still
> build.
>
> Or you may take a look at python-team and check if that packages are
> already updated (its in the queue to be merged soon
> https://issues.guix.gnu.org/75751).

No, neither python-rich nor python-rapidfuzz have been updated on
python-team. If that branch is tested by QA, maybe these patches could
be applied there? (Specifically 2/13 and 3/13; the others should not
cause any major rebuilds anyway.)

Thanks for your interest here. I hope we can get this merged before
spotify-downloader gets bumped to the next version :_)

> --
> Oleg

[1] https://yhetil.org/guix/cover.1741702571.git.45mg.writes <at> gmail.com/
[2] https://guix.gnu.org/blog/2023/a-new-quality-assurance-tool-for-guix/




This bug report was last modified 17 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.