Simple and lightweight Spotify Overlay written in Python.

Overview

Simple Spotify Overlay

This is a simple yet powerful Spotify Overlay.


About

I have been looking for something like this ever since I got Spotify.
I thought, why not make my own?

Contributions

  • Thank You to gmferise for fixing parse minutes and parse seconds.
  • Thank You to Chetan-Goyal for making this README a lot better.
  • Thank You to winandfx for making progress bar a lot better.
  • Thank You to acemiller6 for helping with some compatibility issues on Mac.
  • Thank You to NUTTA_BUSHA for helping with some ideas on images.

Changelog

  • More small optimizations including making some methods static

Roadmap

  • Add a config system.
  • Testing on all platforms.

Requirements

  • Python 3.6 or higher
  • Spotify & Spotify Developer Account

Features

  1. Updates text every second. So, the timer is perfect.

  2. Incredibly lightweight.

    • Uses almost no resources while idling or updating text.
    • Still incredibly light while updating images.
  3. Grabs images from Spotify and only updates them when the URL is different.

  4. Automatically hides when a song is not found or when a song is paused.

  5. Dynamically updates resolution to always stay on your screen even if a song name is a lot longer.

  6. Always on Top.

  7. Automatically gets image accent colours and sets them as the background along with getting the opposite accent colours and putting them as the font for it to look good.

  8. Most of the time, It shows up-to-date information.

  9. Handles errors by hiding the GUI until the error stops.

  10. Plenty of configuration options are available in config.ini.

Example of Dynamic Resolution:

Installation

  1. Run the following command to clone this repository. git clone https://github.com/Ixyk-Wolf/SpotifyOverlay

  2. Go inside our directory and install requirements.

    1. cd SpotifyOverlay
    2. pip install -r requirements.txt or pip3 install -r requirements.txt depending on platform.

    (You can manually download this repository as zip but it is not preferred due to downloading speed issues)

  3. Now, you have to get your Client ID and Client Secret from Spotify's Developers' Dashboard. For that, follow the below steps-

    1. Go to https://developer.spotify.com/ and register an application.
    2. Copy the Client ID and Client Secret. (Do not share the Client Secret) Put them inside config.ini file and you can also make other changes as per your preferences.
    3. Go to your application's settings on https://developer.spotify.com/dashboard
    iv. Scroll down and look for Redirect URIs and type http://localhost:8080/ and click on Add button.
    v. After adding above URI there, Scroll Down and click on SAVE button.
  4. Hooray!! You have finally completed all the important configuration stuff. Now, you can run your app with Python using following command-

    For Windows Users

    python main.py
    (or Simply Double Click on it :D )

    For Linux Users

    python3 main.py

    For MAC Users

    Double click on it or whatever you do on Mac

Automatically generate GitHub activity!

Commit Bot Automatically generate GitHub activity! We've all wanted to be the developer that commits every day, but that requires a lot of work. Let's

Ricky 4 Jun 07, 2022
Analytical Web Apps for Python, R, Julia, and Jupyter. No JavaScript Required.

Dash Dash is the most downloaded, trusted Python framework for building ML & data science web apps. Built on top of Plotly.js, React and Flask, Dash t

Plotly 17.9k Dec 31, 2022
Python library that makes it easy for data scientists to create charts.

Chartify Chartify is a Python library that makes it easy for data scientists to create charts. Why use Chartify? Consistent input data format: Spend l

Spotify 3.2k Jan 04, 2023
Sky attention heatmap of submissions to astrometry.net

astroheat Installation Requires Python 3.6+, Tested with Python 3.9.5 Install library dependencies pip install -r requirements.txt The program require

4 Jun 20, 2022
3D rendered visualization of the austrian monuments registry

Visualization of the Austrian Monuments Visualization of the monument landscape of the austrian monuments registry (Bundesdenkmalamt Denkmalverzeichni

Nikolai Janakiev 3 Oct 24, 2019
Apache Superset is a Data Visualization and Data Exploration Platform

Apache Superset is a Data Visualization and Data Exploration Platform

The Apache Software Foundation 49.9k Jan 02, 2023
Movies-chart - A CLI app gets the top 250 movies of all time from imdb.com and the top 100 movies from rottentomatoes.com

movies-chart This CLI app gets the top 250 movies of all time from imdb.com and

3 Feb 17, 2022
Friday Night Funkin - converts a chart from 4/4 time to 6/8 time, or from regular to swing tempo.

Chart to swing converter As seen in https://twitter.com/i_winxd/status/1462220493558366214 A program written in python that converts a chart from 4/4

5 Dec 23, 2022
This project is an Algorithm Visualizer where a user can visualize algorithms like Bubble Sort, Merge Sort, Quick Sort, Selection Sort, Linear Search and Binary Search.

Algo_Visualizer This project is an Algorithm Visualizer where a user can visualize common algorithms like "Bubble Sort", "Merge Sort", "Quick Sort", "

Rahul 4 Feb 07, 2022
The interactive graphing library for Python (includes Plotly Express) :sparkles:

plotly.py Latest Release User forum PyPI Downloads License Data Science Workspaces Our recommended IDE for Plotly’s Python graphing library is Dash En

Plotly 12.7k Jan 05, 2023
3D Vision functions with end-to-end support for deep learning developers, written in Ivy.

Ivy vision focuses predominantly on 3D vision, with functions for camera geometry, image projections, co-ordinate frame transformations, forward warping, inverse warping, optical flow, depth triangul

Ivy 61 Dec 29, 2022
daily report of @arkinvest ETF activity + data collection

ark_invest daily weekday report of @arkinvest ETF activity + data collection This script was created to: Extract and save daily csv's from ARKInvest's

T D 27 Jan 02, 2023
🐞 📊 Ladybug extension to generate 2D charts

ladybug-charts Ladybug extension to generate 2D charts. Installation pip install ladybug-charts QuickStart import ladybug_charts API Documentation Loc

Ladybug Tools 3 Dec 30, 2022
A blender import/export system for Defold

defold-blender-export A Blender export system for the Defold game engine. Setup Notes There are no exhaustive documents for this tool yet. Its just no

David Lannan 27 Dec 30, 2022
demir.ai Dataset Operations

demir.ai Dataset Operations With this application, you can have the empty values (nan/null) deleted or filled before giving your dataset to machine le

Ahmet Furkan DEMIR 8 Nov 01, 2022
Color scales in Python for humans

colorlover Color scales for humans IPython notebook: https://plot.ly/ipython-notebooks/color-scales/ import colorlover as cl from IPython.display impo

Plotly 146 Sep 25, 2022
A minimalistic wrapper around PyOpenGL to save development time

glpy glpy is pyOpenGl wrapper which lets you work with pyOpenGl easily.It is not meant to be a replacement for pyOpenGl but runs on top of pyOpenGl to

Abhinav 9 Apr 02, 2022
HW 2: Visualizing interesting datasets

HW 2: Visualizing interesting datasets Check out the project instructions here! Mean Earnings per Hour for Males and Females My first graph uses data

7 Oct 27, 2021
A deceptively simple plotting library for Streamlit

🍅 Plost A deceptively simple plotting library for Streamlit. Because you've been writing plots wrong all this time. Getting started pip install plost

Thiago Teixeira 192 Dec 29, 2022
又一个云探针

ServerStatus-Murasame 感谢ServerStatus-Hotaru,又一个云探针诞生了(大雾 本项目在ServerStatus-Hotaru的基础上使用fastapi重构了服务端,部分修改了客户端与前端 项目还在非常原始的阶段,可能存在严重的问题 演示站:https://stat

6 Oct 19, 2021