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

PyFlow is a general purpose visual scripting framework for python

PyFlow is a general purpose visual scripting framework for python. State Base structure of program implemented, such things as packages disco

1.8k Jan 07, 2023
Data parsing and validation using Python type hints

pydantic Data validation and settings management using Python type hinting. Fast and extensible, pydantic plays nicely with your linters/IDE/brain. De

Samuel Colvin 12.1k Jan 06, 2023
A Python library created to assist programmers with complex mathematical functions

libmaths was created not only as a learning experience for me, but as a way to make mathematical models in seconds for Python users using mat

Simple 73 Oct 02, 2022
a plottling library for python, based on D3

Hello August 2013 Hello! Maybe you're looking for a nice Python interface to build interactive, javascript based plots that look as nice as all those

Mike Dewar 1.4k Dec 28, 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
Python code for solving 3D structural problems using the finite element method

3DFEM Python 3D finite element code This python code allows for solving 3D structural problems using the finite element method. New features will be a

Rémi Capillon 6 Sep 29, 2022
High performance, editable, stylable datagrids in jupyter and jupyterlab

An ipywidgets wrapper of regular-table for Jupyter. Examples Two Billion Rows Notebook Click Events Notebook Edit Events Notebook Styling Notebook Pan

J.P. Morgan Chase 75 Dec 15, 2022
Interactive Dashboard for Visualizing OSM Data Change

Dashboard and intuitive data downloader for more interactive experience with interpreting osm change data.

1 Feb 20, 2022
Simple implementation of Self Organizing Maps (SOMs) with rectangular and hexagonal grid topologies

py-self-organizing-map Simple implementation of Self Organizing Maps (SOMs) with rectangular and hexagonal grid topologies. A SOM is a simple unsuperv

Jonas Grebe 1 Feb 10, 2022
A program that analyzes data from inertia measurement units installed in aircraft and generates g-exceedance curves.

A program that analyzes data from inertia measurement units installed in aircraft and generates g-exceedance curves.

Pooya 1 Dec 02, 2021
Make scripted visualizations in blender

Scripted visualizations in blender The goal of this project is to script 3D scientific visualizations using blender. To achieve this, we aim to bring

Praneeth Namburi 10 Jun 01, 2022
Data Visualization Guide for Presentations, Reports, and Dashboards

This is a highly practical and example-based guide on visually representing data in reports and dashboards.

Anton Zhiyanov 395 Dec 29, 2022
2021 grafana arbitrary file read

2021_grafana_arbitrary_file_read base on pocsuite3 try 40 default plugins of grafana alertlist annolist barchart cloudwatch dashlist elasticsearch gra

ATpiu 5 Nov 09, 2022
Create artistic visualisations with your exercise data (Python version)

strava_py Create artistic visualisations with your exercise data (Python version). This is a port of the R strava package to Python. Examples Facets A

Marcus Volz 53 Dec 28, 2022
The Python ensemble sampling toolkit for affine-invariant MCMC

emcee The Python ensemble sampling toolkit for affine-invariant MCMC emcee is a stable, well tested Python implementation of the affine-invariant ense

Dan Foreman-Mackey 1.3k Jan 04, 2023
Learn Basic to advanced level Data visualisation techniques from this Repository

Data visualisation Hey, You can learn Basic to advanced level Data visualisation techniques from this Repository. Data visualization is the graphic re

Shashank dwivedi 16 Jan 03, 2023
patchwork for matplotlib

patchworklib patchwork for matplotlib test code Preparation of example plots import seaborn as sns import numpy as np import pandas as pd #Bri

Mori Hideto 185 Jan 06, 2023
Use Perspective to create the chart for the trader’s dashboard

Task Overview | Installation Instructions | Link to Module 3 Introduction Experience Technology at JP Morgan Chase Try out what real work is like in t

Abdulazeez Jimoh 1 Jan 22, 2022
Exploratory analysis and data visualization of aircraft accidents and incidents in Brazil.

Exploring aircraft accidents in Brazil Occurrencies with aircraft in Brazil are investigated by the Center for Investigation and Prevention of Aircraf

Augusto Herrmann 5 Dec 14, 2021
Blender addon that creates a temporary window of any type from the 3D View.

CreateTempWindow2.8 Blender addon that creates a temporary window of any type from the 3D View. Features Can the following window types: 3D View Graph

3 Nov 27, 2022