{ lib , python3 , fetchFromGitHub , ffmpeg }: python3.pkgs.buildPythonApplication rec { pname = "spotdl"; version = "3.9.2"; src = fetchFromGitHub { owner = "spotDL"; repo = "spotify-downloader"; rev = "v${version}"; sha256 = "sha256-Y4l86OjAEwNt2i9+OFgol3b6nhbpe27NFTKJrLKQgHg="; }; propagatedBuildInputs = with python3.pkgs; [ spotipy pytube rich rapidfuzz mutagen ytmusicapi beautifulsoup4 requests unidecode yt-dlp ]; checkInputs = with python3.pkgs; [ pytestCheckHook pytest-mock pytest-vcr pyfakefs pytest-subprocess ]; # requires networking doCheck = false; makeWrapperArgs = [ "--prefix" "PATH" ":" (lib.makeBinPath [ ffmpeg ]) ]; meta = with lib; { description = "Download your Spotify playlists and songs along with album art and metadata"; homepage = "https://github.com/spotDL/spotify-downloader"; license = licenses.mit; maintainers = with maintainers; [ dotlambda ]; }; }