{"id":28248,"library":"spotrpy","title":"spotr - Terminal Spotify Tool","description":"A simple Spotify tool for the terminal that allows searching, playing, and managing Spotify playlists and tracks. Current version 4.1, released with Python >=3.6 support. Maintenance cadence is irregular.","status":"active","version":"4.1","language":"python","source_language":"en","source_url":"https://github.com/Havard03/spotr","tags":["spotify","cli","terminal","music"],"install":[{"cmd":"pip install spotrpy","lang":"bash","label":"PyPI"}],"dependencies":[{"reason":"Core dependency for Spotify API interaction","package":"spotipy","optional":false},{"reason":"CLI interface","package":"click","optional":false}],"imports":[{"note":"Main class for spotr API","symbol":"Spotr","correct":"from spotr import Spotr"}],"quickstart":{"code":"from spotr import Spotr\nimport os\n\nsp = Spotr(client_id=os.environ.get('SPOTIFY_CLIENT_ID', ''),\n           client_secret=os.environ.get('SPOTIFY_CLIENT_SECRET', ''),\n           redirect_uri='http://localhost:8888/callback')\n# Then use sp methods like sp.search('song')","lang":"python","description":"Initialize Spotr with credentials from environment variables."},"warnings":[{"fix":"Upgrade Python to 3.6+ or pin spotrpy to <4.0.","message":"spotrpy v4.0+ dropped support for Python 3.5 and below. Requires >=3.6.","severity":"breaking","affected_versions":">=4.0"},{"fix":"Always set SPOTIFY_CLIENT_ID and SPOTIFY_CLIENT_SECRET environment variables or pass them to constructor.","message":"client_id and client_secret are required; if not provided, Spotr will raise an error.","severity":"gotcha","affected_versions":"all"},{"fix":"Register the exact redirect URI in your Spotify app.","message":"The redirect_uri must match exactly what is registered in Spotify Developer Dashboard. Usually http://localhost:8888/callback","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Verify SPOTIFY_CLIENT_ID and SPOTIFY_CLIENT_SECRET in your environment or constructor.","cause":"Client ID or Client Secret is incorrect or not set.","error":"spotipy.exceptions.SpotifyException: http status: 400, code: -1 - Invalid client"},{"fix":"Use 'from spotr import Spotr' instead of 'import spotr' and then spotr.Spotr.","cause":"Incorrect import path. spotrpy installs the package as 'spotr'.","error":"AttributeError: module 'spotr' has no attribute 'Spotr'"},{"fix":"Ensure you request the necessary scopes (e.g., playlist-modify-public) during authentication.","cause":"Missing required scopes for the API call.","error":"spotipy.exceptions.SpotifyException: http status: 403, code: -1 - Forbidden"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}