Skip to content

Skogsfrae/spotipyql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpotipyQL Build Status Language License Last commit maintenance

GraphQL schema for Spotify Web Api written in Python 3


On Docker

dockeri.co

Available env vars

SPOTIPY_CLIENT_ID

Your spotify client id

SPOTIPY_CLIENT_SECRET

Your spotify client secret

SPOTIFY_SCOPES

List of spotify api scopes white space separated

Dev Instructions

To try it out just

  1. clone the repo
  2. install pipenv if you haven't already
  3. run pipenv install
  4. get your spotify ids
  5. run pipenv shell
  6. export some env variables
export FLASK_APP='spotipyql'
export SPOTIPY_CLIENT_ID='your-client-id'
export SPOTIPY_CLIENT_SECRET='your-secret'
export SPOTIFY_SCOPES='user-read-private user-read-email'
  1. run the server flask run

The server will run on http://localhost:5000. The graphql api url will be http://localhost:5000/graphql exposed in POST method. If requested in GET from the browser, an interactive GraphQL ide will show up.

Api Coverage

List of api endpoints coverage.

Album

  • Get album from id
  • Get album tracks
  • Get a list of albums

Artist

  • Get artist from id
  • Get artist's albums
  • Get artist's top tracks
  • Get artist's related artists
  • Get a list of artists

Brows

  • Get a category
  • Get a category playlists
  • Get a multiple categories
  • Get a list of categories
  • Get a list of featured playlists
  • Get a list of new releases
  • Get reccomendations based on seeds

Follow

  • Check if Current User Follows Artists or Users
  • Check if Users Follow a Playlist
  • Follow Artists or Users
  • Follow a Playlist
  • Get User's Followed Artists
  • Unfollow Artists or Users
  • Unfollow a Playlist

Library

  • Check User's Saved Albums
  • Check User's Saved Tracks
  • Get Current User's Saved Albums
  • Get a User's Saved Tracks
  • Remove Albums for Current User
  • Remove User's Saved Tracks
  • Save Albums for Current User
  • Save Tracks for User

Personalization

  • Get a User's Top Artists and Tracks

Player

  • Get a User's Available Devices
  • Get Information About The User's Current Playback
  • Get Current User's Recently Played Tracks
  • Get the User's Currently Playing Track
  • Pause a User's Playback
  • Seek To Position In Currently Playing Track
  • Set Repeat Mode On User’s Playback
  • Set Volume For User's Playback
  • Skip User’s Playback To Next Track
  • Skip User’s Playback To Previous Track
  • Start/Resume a User's Playback
  • Toggle Shuffle For User’s Playback
  • Transfer a User's Playback

Playlist

  • Add Tracks to a Playlist
  • Change a Playlist's Details
  • Create a Playlist
  • Get a List of Current User's Playlists
  • Get a List of a User's Playlists
  • Get a Playlist Cover Image
  • Get a Playlist
  • Get a Playlist's Tracks
  • Remove Tracks from a Playlist
  • Reorder a Playlist's Tracks
  • Replace a Playlist's Tracks
  • Upload a Custom Playlist Cover Image

Search

  • Generic Search

Tracks

  • Get Audio Analysis for a Track
  • Get Audio Features for a Track
  • Get Audio Features for Several Tracks
  • Get Several Tracks
  • Get a Track

Users Profile

  • Get Current User's Profile
  • Get a User's Profile

About

GraphQL schema for Spotify Web Api written in Python 3

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published