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.8.1.tar.gz (14.3 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.8.1-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for spotipyfree-1.8.1.tar.gz
Algorithm Hash digest
SHA256 1d025fd31929531ca4c1adbb9127404d273a2cbfae62d8a0ccdfe5fb1462eb27
MD5 359541281d64e01fce7f5bf79a8aedba
BLAKE2b-256 0d23ef607b6ecb62560cbe107e1c954ffa756366ad61b2cd4ccd9b843e940621

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spotipyfree-1.8.1-py3-none-any.whl
  • Upload date:
  • Size: 15.3 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.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9cf3fd4c15e8936922e631634c3de5658f32477c9f9ac306cda5b045eadf7297
MD5 17eb264e033a48c135ee2ecf856fd039
BLAKE2b-256 6b3e2419cf6a534752a8f3d5c0cc42275eda539c7aaa7f1f624fd2d1868503eb

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