Package Details: spotdl 4.2.11-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.72
First Submitted: 2024-03-31 19:44 (UTC)
Last Updated: 2025-01-17 09:00 (UTC)

Latest Comments

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

aminvakil commented on 2025-04-04 00:21 (UTC)

@hypercyanate Maybe related to python-soundcloud-v2 dependency?

It should be installed.

hypercyanate commented on 2025-04-01 19:14 (UTC) (edited on 2025-04-01 19:16 (UTC) by hypercyanate)

I get the following error while trying to run spotdl


$ spotdl url
Traceback (most recent call last):
  File "/usr/bin/spotdl", line 5, in <module>
    from spotdl import console_entry_point
  File "/usr/lib/python3.13/site-packages/spotdl/__init__.py", line 13, in <module>
    from spotdl.console import console_entry_point
  File "/usr/lib/python3.13/site-packages/spotdl/console/__init__.py", line 5, in <module>
    from spotdl.console.entry_point import console_entry_point
  File "/usr/lib/python3.13/site-packages/spotdl/console/entry_point.py", line 12, in <module>
    from spotdl.console.download import download
  File "/usr/lib/python3.13/site-packages/spotdl/console/download.py", line 7, in <module>
    from spotdl.download.downloader import Downloader
  File "/usr/lib/python3.13/site-packages/spotdl/download/downloader.py", line 21, in <module>
    from spotdl.providers.audio import (
    ...<6 lines>...
    )
  File "/usr/lib/python3.13/site-packages/spotdl/providers/audio/__init__.py", line 13, in <module>
    from spotdl.providers.audio.soundcloud import SoundCloud
  File "/usr/lib/python3.13/site-packages/spotdl/providers/audio/soundcloud.py", line 10, in <module>
    from soundcloud import SoundCloud as SoundCloudClient

scenkner commented on 2025-02-09 14:39 (UTC)

@aminvakil Thank you for pointing me in the right direction!
My environment was tainted with leftover $PATH in both ~/.bash_profile & ~/.bashrc.
The modifications were created by pipx.

aminvakil commented on 2025-02-09 09:25 (UTC)

@scenkner This package and any other AUR package which has followed guidelines, installs app in /usr/bin and do not mess with /home .

There is something else wrong in your environment which tries to load spotdl from /home/my_user_name/.local/bin/spotdl.

Maybe you have tried to install it using other way and have not cleaned up after?

scenkner commented on 2025-02-09 01:40 (UTC) (edited on 2025-02-09 05:01 (UTC) by scenkner)

I'm getting a similar output as TheTimBrick:
Traceback (most recent call last):
File "/home/my_user_name/.local/bin/spotdl", line 5, in <module>
from spotdl import console_entry_point
ModuleNotFoundError: No module named 'spotdl'

I've tried rebuilding both python-spotipy and python-spotdl however the response is the same.
I've installed rebuild-detector and upon running checkrebuild, nothing python or spotdl related are listed.
Note that I am on python 3.13.1-1.

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"