{"id":16709279,"url":"https://github.com/regisb/spotify-onthego","last_synced_at":"2025-05-07T11:41:52.713Z","repository":{"id":23897167,"uuid":"27276877","full_name":"regisb/spotify-onthego","owner":"regisb","description":"Download Spotify playlists by searching for audio files on YouTube","archived":false,"fork":false,"pushed_at":"2024-09-12T06:11:34.000Z","size":97,"stargazers_count":71,"open_issues_count":4,"forks_count":6,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-31T09:41:11.147Z","etag":null,"topics":["download","music","offline","spotify","youtube"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/regisb.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-11-28T17:47:13.000Z","updated_at":"2024-12-13T17:36:17.000Z","dependencies_parsed_at":"2024-10-26T21:10:19.821Z","dependency_job_id":"1d2a6b8a-b343-4b0f-a5ed-4972c59a9930","html_url":"https://github.com/regisb/spotify-onthego","commit_stats":{"total_commits":79,"total_committers":3,"mean_commits":"26.333333333333332","dds":0.03797468354430378,"last_synced_commit":"1fd5235be8c209c942b0e82d5ee9ddf904cff5d9"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regisb%2Fspotify-onthego","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regisb%2Fspotify-onthego/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regisb%2Fspotify-onthego/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regisb%2Fspotify-onthego/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/regisb","download_url":"https://codeload.github.com/regisb/spotify-onthego/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252873281,"owners_count":21817704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["download","music","offline","spotify","youtube"],"created_at":"2024-10-12T20:04:20.005Z","updated_at":"2025-05-07T11:41:52.692Z","avatar_url":"https://github.com/regisb.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"-----------------\nSpotify On The Go\n-----------------\n\nDownload songs and playlist from Spotify. The tracks are downloaded from\nYouTube videos and converted as mp3 files.\n\nInstall\n=======\n\n::\n\n    pip install spotify-onthego\n\nNote that you will need valid Spotify app credentials. If you don't have a\nvalid client ID/secret pair of keys, you can create a Spotify app `here\n\u003chttps://developer.spotify.com/my-applications/#!/applications/create\u003e`_.\n\nOnce you have created a Spotify app, you will also have to add a redirect URI\nfor this app (\"Add URI\").\n\nAfter the first run of the CLI tool, the authentication token and credentials\nwill be stored in a local configuration file.\n\nRequirements\n------------\n\nIf you wish to convert the downloaded files to mp3 format, you will need to\ninstall ffmpeg or avconv.\n\nOn Debian/Ubuntu::\n\n    sudo apt-get install ffmpeg\n\nOn Mac OS, just follow the instructions from the `official ffmpeg website \u003chttps://www.ffmpeg.org/download.html\u003e`__.\n\nUsage\n=====\n\n::\n    \n    $ spotify-playlist -h\n    usage: spotify-playlist [-h] [-i] [-S] [-a {webm,ogg,m4a}] [-C] playlist dst\n\n    Download the tracks of a Spotify playlist from YouTube\n\n    positional arguments:\n      playlist              Name of playlist. E.g: 'Road music'\n      dst                   Destination directory\n\n    optional arguments:\n      -h, --help            show this help message and exit\n      -i, --interactive     Interactively select the song to download from\n                            Youtube.\n      -S, --no-skip         Don't skip files that were already downloaded.\n      -a {webm,ogg,m4a}, --audio {webm,ogg,m4a}\n                            Preferred audio format to download. By default, the\n                            best quality audio format will be downloaded. On some\n                            platforms (e.g: Debian Wheezy), the default ffmpeg\n                            utility does not support audio conversion from webm,\n                            so you should specify a different value here. Note\n                            that this audio file will eventually be converted to\n                            mp3 (unless you specify --no-convert)\n      -C, --no-convert      Don't convert audio files to mp3 format.\n\n::\n\n    $ spotify-mymusic -h\n    usage: spotify-mymusic [-h] [-l LIMIT] [-i] [-S] [-a {webm,ogg,m4a}] [-C] dst\n\n    Download the songs from 'Your Music'\n\n    positional arguments:\n      dst                   Destination directory\n\n    optional arguments:\n      -h, --help            show this help message and exit\n      -l LIMIT, --limit LIMIT\n                            Limit to top N songs\n      -i, --interactive     Interactively select the song to download from\n                            Youtube.\n      -S, --no-skip         Don't skip files that were already downloaded.\n      -a {webm,ogg,m4a}, --audio {webm,ogg,m4a}\n                            Preferred audio format to download. By default, the\n                            best quality audio format will be downloaded. On some\n                            platforms (e.g: Debian Wheezy), the default ffmpeg\n                            utility does not support audio conversion from webm,\n                            so you should specify a different value here. Note\n                            that this audio file will eventually be converted to\n                            mp3 (unless you specify --no-convert)\n      -C, --no-convert      Don't convert audio files to mp3 format.\n\nDownload playlist\n-----------------\n\nDownload all songs from 'My Playlist' and save them as mp3::\n\n    spotify-playlist \"My Playlist\" ./music/myspotifyplaylist/\n\nCreate a cronjob to download your Discover Weekly playlist every monday at 7am::\n\n    0 7 * * 1 /home/username/venv/bin/spotify-playlist \"Discover Weekly\" /home/username/music/discoverweekly\n\nWildcards are supported, too::\n\n    spotify-playlist \"Mixtape*\" ./music/\n\nDownload favorite songs\n------------------------\n\nDownload your 30 most recent tracks from \"My Music\"::\n\n    spotify-mymusic -l 30 ./music/mytracks/\n\nInteractive mode\n----------------\n\nBy default, ``spotify-onthego`` downloads the first match found on Youtube for\nthe search ``\"\u003csong title\u003e \u003cartist name\u003e\"`` (song and artist separated by an\nempty space). If you want to manually select the Youtube result to download,\nrun in interactive mode with the ``-i`` option::\n\n    $ spotify-mymusic -i mymusic/\n    ++ Processing Porcupine Tree - Deadwing\n    [1] Porcupine Tree - DeadWing https://www.youtube.com/watch?v=GMEwM3YHiME\n    [2] Porcupine Tree - Deadwing https://www.youtube.com/watch?v=-Rwp-yvmcRM\n    [3] Porcupine Tree - Deadwing [Lyrics on Video] https://www.youtube.com/watch?v=dDepB1mwPhc\n    [4] Making of Deadwing https://www.youtube.com/watch?v=ZuYjGfaixDM\n    [5] Porcupine Tree- Mellotron Scratch https://www.youtube.com/watch?v=Ag2zXiiuF5Q\n    [6] Porcupine Tree - Shesmovedon (Deadwing ver.) https://www.youtube.com/watch?v=OtfJcTBklh8\n    [7] Porcupine Tree - Shallow (lyrics) https://www.youtube.com/watch?v=7_8UmXv5Xac\n    [8] Porcupine Tree - Arriving Somewhere But Not Here (lyrics on screen) https://www.youtube.com/watch?v=f2ROFnA4HRA\n    [9] Porcupine Tree - Deadwing (Lyrics) https://www.youtube.com/watch?v=tMMlEZCaQTY\n    [10] Deadwing- Porcupine Tree(Drum Cover) https://www.youtube.com/watch?v=Zb5KTnXGiNU\n    Select song to download (default: 1, next=n):\n\nOf course, interactive mode should not be used in automated cron jobs.\n\nTroubleshooting\n===============\n\nIn case of 401 error, this may be caused by a previous authorization token that\ndid not have the right scope. Just remove the\n:code:`~/.local/share/spotify-onthego/spotify.token` file and start the command\nagain.\n\nIf mp3 generation fails with an error message related to eyed3, check that your\ninstalled version of eyed3 is at least 0.8::\n\n    $ pip freeze | grep eyeD3\n    eyeD3==0.8\n\n\nDevelopment\n===========\n\nSee something that's not working for you, or something that you would like to\nbe included? Just open a `pull request\n\u003chttps://github.com/regisb/spotify-onthego/pulls\u003e`_ with your code, or a\n`Github issue \u003chttps://github.com/regisb/spotify-onthego/issues\u003e`_ where you\ndescribe the feature you would like to have. \n\nTo setup a development environment, install the ``dev`` requirements::\n    \n    pip install -r requirements/dev.txt\n\nCode should be `black-formatted \u003chttps://black.readthedocs.io/en/stable/\u003e`__. To automatically format your code, run::\n    \n    make format\n\nPeriodically run code lint and formatting tests with:\n\n    make test\n\nLicense\n=======\n\nThis project is licensed under the `GNU General Public License\nv3.0 \u003chttps://opensource.org/licenses/gpl-3.0.html\u003e`_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fregisb%2Fspotify-onthego","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fregisb%2Fspotify-onthego","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fregisb%2Fspotify-onthego/lists"}