Skip to main content

Spotify Web API implementation that is fully asynchronous and object-oriented.

Project description

asyncspotify

asyncspotify is an asynchronous, object-oriented python wrapper for the Spotify Web API.

Installation

Simply install it from PyPi using pip!

pip install asyncspotify

Documentation

The official documentation can be found on readthedocs: https://asyncspotify.readthedocs.io/

Usage

The library provides easy to use authentication functions and intuitive method and hierarchies.

To get going quickly, read the quickstart.

For complete examples, please check the documentation. Here's some snippets:

Authenticating using the Client Credentials flow, and getting a playlist:

from asyncspotify import Client, ClientCredentialsFlow

auth = ClientCredentialsFlow(
    client_id='your client id',
    client_secret='your client secret',
)

async with Client(auth) as sp:
    playlist = await sp.get_playlist('1MG01HhbCvVhH9NmXhd9GC')
    for track in playlist.tracks:
        print(track.name)

Searching for and getting tracks:

results = await sp.search_tracks(q='involvers', limit=2)
# [<SimpleTrack id='5xoJhWwvzPJD9k8j8BE2xO' name='27'>, <SimpleTrack id='0WUTBejxPUhURFCFfSYbDc' name='Fighting My Fight'>]

track = await sp.get_track('0hqAWKZDhuOfFb6aK002Ph')
# <FullTrack id='0hqAWKZDhuOfFb6aK002Ph' name='Bone Dry'>

Fetching and creating playlists:

# get a playlist
playlist = await sp.get_playlist('1wPvaRtuI8mt10CpP2KnlO')
# <FullPlaylist id='1wPvaRtuI8mt10CpP2KnlO' name='my playlist'>

# iterate through playlist tracks
for track in playlist.tracks:
    print(track)

# get current user
me = await sp.get_me()
# <PrivateUser id='runie13'>

# create new playlist
my_playlist = await me.create_playlist(name='My playlist!')
# <FullPlaylist id='0YTCnj0WE5gGb1lRqD6Ks9' name='My playlist!'>

# add tracks from previews playlist to the new playlist
await my_playlist.add_tracks(*playlist.tracks)

Reporting bugs

Please report issues here on GitHub.

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

asyncspotify-0.11.5.tar.gz (22.1 kB view details)

Uploaded Source

Built Distribution

asyncspotify-0.11.5-py3-none-any.whl (28.5 kB view details)

Uploaded Python 3

File details

Details for the file asyncspotify-0.11.5.tar.gz.

File metadata

  • Download URL: asyncspotify-0.11.5.tar.gz
  • Upload date:
  • Size: 22.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.0

File hashes

Hashes for asyncspotify-0.11.5.tar.gz
Algorithm Hash digest
SHA256 921073cc96e982069808e68b9332a1d880ccc4326f3c247c464186d21b5a93c8
MD5 aba206ef5093659b46c2ef3e768a8f11
BLAKE2b-256 87e2c49bc27723297946aed2804f73f31eb5ec388b9ba10ce6ebe920b447d860

See more details on using hashes here.

File details

Details for the file asyncspotify-0.11.5-py3-none-any.whl.

File metadata

  • Download URL: asyncspotify-0.11.5-py3-none-any.whl
  • Upload date:
  • Size: 28.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.0

File hashes

Hashes for asyncspotify-0.11.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a8fd9f570f60206660b1d5686c48d657352b825dcdd7ae94b3555178a30986f5
MD5 decaedbc52c4faa5e7b5c27539bb05b7
BLAKE2b-256 212da9a972595256c573313f18dcddbb69beab410fbeff4653bf8a49c75de1c8

See more details on using hashes here.

Supported by

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