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)]

This bug report was last modified 1 day ago.

Previous Next


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