Skip to main content

A Spotipy-compatible wrapper using SpotAPI

Project description

PyPI - Downloads Downloads

SpotipyFree

A lightweight drop-in replacement for Spotipy without using the spotify api. This project was build because spotify removed access to its API for non-premium users. This project doesn't use ANY Spotify APIs.


Features

  • Drop-in style response compatible with spotipy

  • No Spotify account required

  • Returns playback data structured like the official Spotify API


Current Status

This project is experimental.

Currently implemented:

  • search()
  • track()
  • playlist()
  • playlist_items()
  • artist()
  • artist_albums()
  • album()
  • album_tracks()
  • current_user_recently_played() - must first run startRecentlyPlayedListener
  • current_user_saved_tracks()
  • current_user_saved_tracks_contains()
  • current_user_playlists()
  • current_playback()
  • current_user()
  • me()
  • seek_track()
  • next_track()
  • previous_track()
  • start_playback()
  • pause_playback()

Installation

Bash

pip install spotipyFree


Usage without login

from SpotipyFree import Spotify

sp = Spotify()

search = sp.search("Blinding Light - Weekend")
artist = sp.artist("3Bd1cgCjtCI32PYvDC3ynO")
artistAlbums = sp.artist_albums("3Bd1cgCjtCI32PYvDC3ynO", include_groups="album,single,compilation")
playlist = sp.playlist_items("6lnfkAgnVtNzvj8KScLSkj")
track = sp.track("67Hna13dNDkZvBpTXRIaOJ")
album = sp.album("4m2880jivSbbyEGAKfITCa")
albumTracks = sp.album_tracks("4m2880jivSbbyEGAKfITCa")

Usage with login

sp = Spotify()
sp.login()

status = spotapi.player.PlayerStatus(sp.user_auth)
sp.startRecentlyPlayedListener()
state = status.state.__dict__
saved = sp.current_user_saved_tracks()
me = sp.me()

This project is in no way affiliated with Spotify.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spotipyfree-1.7.2.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spotipyfree-1.7.2-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file spotipyfree-1.7.2.tar.gz.

File metadata

  • Download URL: spotipyfree-1.7.2.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for spotipyfree-1.7.2.tar.gz
Algorithm Hash digest
SHA256 03a535cdb50392b1478a2dfe44ed8c8a9b7ea63c274f352b7f8e5552a861d29d
MD5 6a00aea2933d0d985b8784d436e4810f
BLAKE2b-256 29a0c525c74f8225a51ee4becff99c1d43f446a69da76827c892015d7ce57c00

See more details on using hashes here.

File details

Details for the file spotipyfree-1.7.2-py3-none-any.whl.

File metadata

  • Download URL: spotipyfree-1.7.2-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for spotipyfree-1.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0b538bdb0bbe127a67f521d9be35f4f4fd4bb0700e309b4e6d9ae21034812062
MD5 1ce53857c088ad8f3da41ece114a92e0
BLAKE2b-256 b93a09783b554145d1b977f5ce806baaf9bad0fbd10c0e6e1ea13f735658c516

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page