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

Schema validation just got Pythonic

Schema validation just got Pythonic schema is a library for validating Python data structures, such as those obtained from config-files, forms, extern

Vladimir Keleshev 2.7k Jan 06, 2023
Investment and risk technologies maintained by Fortitudo Technologies.

Fortitudo Technologies Open Source This package allows you to freely explore open-source implementations of some of our fundamental technologies under

Fortitudo Technologies 11 Dec 14, 2022
Lightweight, extensible data validation library for Python

Cerberus Cerberus is a lightweight and extensible data validation library for Python. v = Validator({'name': {'type': 'string'}}) v.validate({

eve 2.9k Dec 27, 2022
Flame Graphs visualize profiled code

Flame Graphs visualize profiled code

Brendan Gregg 14.1k Jan 03, 2023
Jupyter notebook and datasets from the pandas Q&A video series

Python pandas Q&A video series Read about the series, and view all of the videos on one page: Easier data analysis in Python with pandas. Jupyter Note

Kevin Markham 2k Jan 05, 2023
A Graph Learning library for Humans

A Graph Learning library for Humans These novel algorithms include but are not limited to: A graph construction and graph searching class can be found

Richard Tjörnhammar 1 Feb 08, 2022
Automatically Visualize any dataset, any size with a single line of code. Created by Ram Seshadri. Collaborators Welcome. Permission Granted upon Request.

AutoViz Automatically Visualize any dataset, any size with a single line of code. AutoViz performs automatic visualization of any dataset with one lin

AutoViz and Auto_ViML 1k Jan 02, 2023
Script to create an animated data visualisation for categorical timeseries data - GIF choropleth map with annotations.

choropleth_ldn Simple script to create a chloropleth map of London with categorical timeseries data. The script in main.py creates a gif of the most f

1 Oct 07, 2021
A high performance implementation of HDBSCAN clustering. http://hdbscan.readthedocs.io/en/latest/

HDBSCAN Now a part of scikit-learn-contrib HDBSCAN - Hierarchical Density-Based Spatial Clustering of Applications with Noise. Performs DBSCAN over va

Leland McInnes 91 Dec 29, 2022
又一个云探针

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

6 Oct 19, 2021
A Python function that makes flower plots.

Flower plot A Python 3.9+ function that makes flower plots. Installation This package requires at least Python 3.9. pip install

Thomas Roder 4 Jun 12, 2022
This is a place where I'm playing around with pandas to analyze data in a csv/excel file.

pandas-csv-excel-analysis This is a place where I'm playing around with pandas to analyze data in a csv/excel file. 0-start A very simple cheat sheet

Chuqin 3 Oct 05, 2022
A toolkit to generate MR sequence diagrams

mrsd: a toolkit to generate MR sequence diagrams mrsd is a Python toolkit to generate MR sequence diagrams, as shown below for the basic FLASH sequenc

Julien Lamy 3 Dec 25, 2021
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
An XLSX spreadsheet renderer for Django REST Framework.

drf-renderer-xlsx provides an XLSX renderer for Django REST Framework. It uses OpenPyXL to create the spreadsheet and returns the data.

The Wharton School 166 Dec 01, 2022
Make visual music sheets for thatskygame (graphical representations of the Sky keyboard)

sky-python-music-sheet-maker This program lets you make visual music sheets for Sky: Children of the Light. It will ask you a few questions, and does

21 Aug 26, 2022
Complex heatmaps are efficient to visualize associations between different sources of data sets and reveal potential patterns.

Make Complex Heatmaps Complex heatmaps are efficient to visualize associations between different sources of data sets and reveal potential patterns. H

Zuguang Gu 973 Jan 09, 2023
Interactive chemical viewer for 2D structures of small molecules

👀 mols2grid mols2grid is an interactive chemical viewer for 2D structures of small molecules, based on RDKit. ➡️ Try the demo notebook on Google Cola

Cédric Bouysset 154 Dec 26, 2022
a python function to plot a geopandas dataframe

Pretty GeoDataFrame A minimum python function (~60 lines) to draw pretty geodataframe. Based on matplotlib, shapely, descartes. Installation just use

haoming 27 Dec 05, 2022
Application for viewing pokemon regional variants.

Pokemon Regional Variants Application Application for viewing pokemon regional variants. Run The Source Code Download Python https://www.python.org/do

Michael J Bailey 4 Oct 08, 2021