A Python script to update Spotify Playlist data every 5 minutes.

Overview

Spotify Playlist Updater

A Python script to update Spotify Playlist data every 5 minutes.

Description

An automatic playlist updater using Spotify API and Authorization code flow in Python to update a Playlist on a repeating time interval.

Getting Started

You will need Python to execute the script:

Spotify Playlist Updater requires three dependencies:

Pip
  • A Package Management System for Python.
  • Installation Link
  • For Windows, you can run py -m ensurepip --upgrade in CMD to install.
Schedule
  • Python job scheduler to run the script on a timer.
  • Installation Link
  • For Windows, you can run -m pip install schedule --upgrade in CMD to install.
A Web Domain
  • No website required, only a web domain for redirecting the API request and retrieving the user authorization token.
  • If you don't already own a domain, you can create one at https//wix.com
Spotipy
  • Python library for the Spotify Web API
  • Installation Link
  • For Windows, you can run py -m pip install spotipy --upgrade in CMD to install.

Set Up

Installing the Script
  • Install the dependencies listed above.
  • Choose a location on your device (I'll refer to this as the working directory)
  • Download the latest release of spotify-playlist-updater to the working directory.
  • Save your playlist photo (if applicable) in the data folder of the working directory
Set up Client ID, Client Secret and Redirect URI
  • Login to Spotify Developer Account
    • Go to https://developer.spotify.com/dashboard/ and click Manage Dashboard.
    • Then, sign in with your Spotify credentials and accept the latest Developer terms of service.
    • Note your Client ID, and Client Secret.
  • Create an App
    • In the Developer Dashboard, create an App. You can put whatever you'd like for the App name and description.
    • Click Edit Settings.
      • Add your domain address to the Redirected URI's field, and click Add. Make sure to Save.
Adding your Playlist information
  • Right click \spotify-playlist-updater.py from the working directory, and select "Edit with IDLE"
    • Put your Playlist Image path in place of: "C:\\Users\\You\\YourWorkingDirectory\\Data\\PlaylistPhoto.jpeg"
    • Put your Spotify Username in place of: 'username'
    • Put your Client ID in place of 'clientid'
    • Put your Client Secret in place of 'clientsecret'
    • Put your Web Domain Address in place of 'http://yourdomain.com'
    • Put your Spotify Playlist Link in place of 'https://open.spotify.com/playlist/yourplaylist'
    • Put your Playlist Description in place of 'Playlist Name'
    • Put your Playlist Description in place of 'Playlist Description'
  • Save the script once your changes are made.

Running the Script

  • Right click spotify-playlist-updater.py and Open.
  • The script updates the Playlist every 5 minutes. You can adjust the update frequency by changing the number value for schedule.every(5).minutes.do(func)
  • The script will restart if it runs into a timeout to prevent it from failing during an internet hiccup.
    • If you have an unstable internet connection and run into issues, try removing the continue statement.

Thank you

If you enjoyed my project, please feel free to leave tips on my Ko-Fi. https://ko-fi.com/autumntillman or Paypal.

Help

  • If you get an error that "Read timed out. (read timeout=5)", restart the script.
  • If your script doesnt get past "Starting Playlist Updater", run the script using IDLE:
    • Right click spotify-playlist-updater and click Edit with IDLE
    • Click F5 to run the script
      • Let the script run. Any errors will be listed as the script encounters them.

To report issues, create a new issue on Github or email [email protected]

Authors

Aeriie on GitHub

Version History

  • 0.1
    • Initial Release
A simple tool which automate commands of discord economy bots

A simple tool which automate commands of discord economy bots. Fully configurable using an intuitive configuration made in YAML

SkydenFly 5 Sep 18, 2022
An almost dependency-less, synchronous Discord gateway library meant for my personal use

An almost dependency-less, synchronous Discord gateway library meant for my personal use.

h0nda 4 Feb 05, 2022
Unofficial Python wrapper for official Hacker News API

haxor Unofficial Python wrapper for official Hacker News API. Installation pip install haxor Usage Import and initialization: from hackernews import H

147 Sep 18, 2022
Free & open source API service for obtaining information about +9600 universities worldwide.

Free & open source API service for obtaining information about +9600 universities worldwide.

Yagiz Degirmenci 57 Nov 04, 2022
Discord Crypto Payment Cards Selfbot

A Discord selfbot that serves the purpose of displaying text and QR versions of your BTC, LTC & ETH payment information for easy and simple commercial or personal transactions.

2 Apr 12, 2022
Discord Token Creator 🥵

Discord Token Creator 🥵

dropout 304 Jan 03, 2023
BioThings API framework - Making high-performance API for biological annotation data

BioThings SDK Quick Summary BioThings SDK provides a Python-based toolkit to build high-performance data APIs (or web services) from a single data sou

BioThings 39 Jan 04, 2023
A simple, lightweight Discord bot running with only 512 MB memory on Heroku

Haruka This used to be a music bot, but people keep using it for NSFW content. Can't everyone be less horny? Bot commands See the built-in help comman

Haruka 4 Dec 26, 2022
A GUI Application that creates a Spotify Playlist from any year in the past, by just entering your preferred date

A GUI Application that creates a Spotify Playlist from any year in the past, by just entering your preferred date

David .K. Danso 1 Jan 17, 2022
This solution helps you deploy Data Lake Infrastructure on AWS using CDK Pipelines.

CDK Pipelines for Data Lake Infrastructure Deployment This solution helps you deploy data lake infrastructure on AWS using CDK Pipelines. This is base

AWS Samples 66 Nov 23, 2022
Streaming Finance Data with AWS Lambda

A data pipeline consisting of an AWS lambda function reading data from yfinance API, an AWS Kinesis stream to receive & store data in S3 buckets and AWS Glue crawler & Athena to run SQL queries.

Aarif Munwar Jahan 4 Aug 30, 2022
Emo-Fun is a bot which emojifies the text you send it

About Emo-Fun is a bot which emojifies the text you send it. It is easier to understand by an example Input : Hey this is to show my working!! Output

Suvodeep Sinha 3 Sep 30, 2022
Telegram bot which has truecaller and smsbomber features

Truecaller-telegram_bot Add your telegram bot api key in main.py and you are good to go To get a api key Goto telegram and search BotFather From the c

Rudranag 32 Dec 05, 2022
Starlink Order Status Notification

Starlink Order Status Notification This script logs into Starlink order portal, pulls your estimated delivery date and emails it to a designated email

Aaron R. 1 Jul 08, 2022
Seamlessly Connecting Notion Database with Python Pandas DataFrame

notion-df: Seamlessly Connecting Notion Database with Pandas DataFrame Please Note: This project is currently in pre-alpha stage. The code are not app

Shannon Shen 38 Dec 28, 2022
A Advanced Auto Filter Bot Which Can Be Used In Many Groups With Multiple Channel Support....

Adv Auto Filter Bot This Just A Simple Hand Auto Filter Bot For Searching Files From Channel... Just Sent Any Text I Will Search In All Connected Chat

Albert Einstein 33 Oct 21, 2022
Crypto-trading-simulator - Cryptocurrency trading simulator using Python, Streamlit

Crypto Trading Simulator Run streamlit run main.py Dependency Python 3 streamli

Brad 12 Jul 02, 2022
IMDb + Auto + Unlimited Filter BoT

Telegram Movie Bot Features Auto Filter Manuel Filter IMDB Admin Commands Broadcast Index IMDB search Inline Search Random pics ids and User info Stat

Jos Projects 82 Dec 27, 2022
An API Client package to access the APIs for NBA.com

nba_api An API Client package to access the APIs for NBA.com Development Version: v1.1.9 nba_api is an API Client for www.nba.com. This package is mea

Swar Patel 1.4k Jan 01, 2023