Package Details: spotdl 4.2.10-1

Git Clone URL: https://aur.archlinux.org/spotdl.git (read-only, click to copy)
Package Base: spotdl
Description: Download your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found).
Upstream URL: https://github.com/spotDL/spotify-downloader
Keywords: download-music mp3 music playlists song song-lyrics spotify youtube-music
Licenses: MIT
Conflicts: python-spotdl
Provides: python-spotdl
Replaces: python-spotdl
Submitter: zoorat
Maintainer: zoorat (pekkarr, aminvakil)
Last Packager: aminvakil
Votes: 25
Popularity: 0.98
First Submitted: 2024-03-31 19:44 (UTC)
Last Updated: 2024-11-19 09:05 (UTC)

Latest Comments

1 2 3 4 5 6 .. 9 Next › Last »

gesh commented on 2024-09-30 16:18 (UTC)

Will get back to the VCR patch soon(TM), but in the meantime, note that given that we're not building with the python-setuptools backend, the python-wheel makedep is unnecessary.

gesh commented on 2024-07-02 19:56 (UTC) (edited on 2024-07-07 19:57 (UTC) by gesh)

test_matching keeps throwing HTTP 429 errors -- this is known upstream1. I wrote a PR to use mock results from the Spotify API instead to avoid the rate-limiting, I'm still testing it to make sure it works, but hopefully it'll work soon3.

(EDIT: The situation is still problematic even after my PR, and in fact several other tests are failing for me as well. Reported upstream4.)

(EDIT 2024-07-07: I need to drop the PR for the moment -- work is ramping up. So far, I've managed to reduce the failures somewhat, tests need to be run with -k 'not test_config' -m 'not novcr' to skip the known-broken tests)

In diagnosing this, found the dependencies needed to be updated, below is a patch to bring them up to date (omitted are my edits to the PKGBUILD to apply my patches):

diff --git a/PKGBUILD b/PKGBUILD
index d10b1c8..f046abf 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -18,10 +19,7 @@ license=('MIT')
 depends=(
    'ffmpeg'
    'python'
-   'python-bandcamp-api'
    'python-beautifulsoup4'
-   'python-dacite'
-   'python-demjson3'
    'python-fastapi'
    'python-mutagen'
    'python-platformdirs'
@@ -35,13 +33,26 @@ depends=(
    'python-slugify'
    'python-spotipy'
    'python-syncedlyrics'
-   'python-typing_extensions'
    'python-ytmusicapi'
    'uvicorn'
    'yt-dlp'
 )
-makedepends=('python-build' 'python-installer' 'python-wheel' 'python-poetry-core')
-checkdepends=('python-pytest-asyncio' 'python-pytest-mock')
+makedepends=('git'
+    'python-build'
+    'python-installer'
+    'python-wheel'
+    'python-poetry-core'
+)
+checkdepends=(
+    'python-dill'
+    'python-pyfakefs'
+    'python-pytest-asyncio'
+    'python-pytest-cov'
+    'python-pytest-mock'
+    'python-pytest-recording'
+    'python-pytest-subprocess'
+    'python-vcrpy'
+)
 provides=('python-spotdl')
 replaces=('python-spotdl')
 conflicts=('python-spotdl')

pekkarr commented on 2024-06-29 20:03 (UTC)

@DodoLeDev thanks for the report, I backported the fix into PKGBUILD in commit f0efe44bbdb7

DodoLeDev commented on 2024-06-29 10:14 (UTC)

Because of spotDL/spotify-downloader#2119, spotDL is currently unusable as-is, throwing this error:

ImportError: cannot import name 'is_lrc_valid' from 'syncedlyrics.utils' (/usr/lib/python3.12/site-packages/syncedlyrics/utils.py)

A PR is waiting for approval in order to fix this issue.

If, like me, you don't want to wait, edit the PKGBUILD as follows:

50,51c51,52
< source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")
< b2sums=('cb45720745936cb4e14fb121e34871614e5be4bdc10f0c23058f979dfd788dd7da06ceb3cc633c93fb7bf799080256f718e29f8ff30fba275be9c6c3f9eae2ca')
---
> source=("$pkgname::git+https://github.com/spotDL/spotify-downloader")
> b2sums=('SKIP')
55c56
<   cd spotify-downloader-$pkgver
---
>   cd "$pkgname"
56a58,59
>   git fetch origin pull/2120/head:lyrics-patch
>   git checkout lyrics-patch
61c64
<   cd spotify-downloader-$pkgver
---
>   cd "$pkgname"
66c69
<   cd spotify-downloader-$pkgver
---
>   cd "$pkgname"

pekkarr commented on 2024-05-06 12:01 (UTC)

@HLFH about the out-of-date flag

pkgrel requires bump bc of python 3.12 release

The pkgrel bump in 00f2bfde happened after Python 3.12 was released to the stable repos, so that served as the Python 3.12 rebuild bump. AUR packages aren't required to bump pkgrel on rebuilds however. I'll thus unflag the package.

pekkarr commented on 2024-04-27 12:28 (UTC)

@dr460nf1r3 Python 3.12 was just released into the stable repos, which means that you need to rebuild all python packages installed from AUR.

dr460nf1r3 commented on 2024-04-27 12:12 (UTC)

Tests seem to be broken however:

==> Starting check()...
ImportError while loading conftest '/home/nico/spotdl/src/spotify-downloader-4.2.5/tests/conftest.py'.
tests/conftest.py:7: in <module>
from spotdl.download.downloader import Downloader
spotdl/__init__.py:13: in <module>
from spotdl.console import console_entry_point
spotdl/console/__init__.py:5: in <module>
from spotdl.console.entry_point import console_entry_point
spotdl/console/entry_point.py:10: in <module>
from spotdl.console.download import download
spotdl/console/download.py:7: in <module>
from spotdl.download.downloader import Downloader
spotdl/download/downloader.py:20: in <module>
from spotdl.download.progress_handler import ProgressHandler
spotdl/download/progress_handler.py:23: in <module>
from spotdl.types.song import Song
spotdl/types/song.py:11: in <module>
from spotdl.utils.spotify import SpotifyClient
spotdl/utils/spotify.py:16: in <module>
from spotipy import Spotify
E   ModuleNotFoundError: No module named 'spotipy'
Tests failed!

pekkarr commented on 2024-04-27 12:00 (UTC)

@dr460nf1r3 thanks for reporting, it's now fixed in 00f2bfde.

dr460nf1r3 commented on 2024-04-27 11:41 (UTC)

I think this needs an update:

:: installing python-typing_extensions (4.11.0-1) breaks dependency 'python-typing-extensions' required by spotdl

pekkarr commented on 2024-04-15 17:58 (UTC)

@gesh Commit 7201f310 updated the checksum only in the PKGBUILD, thanks for reporting it. It's fixed in b664a0a8.