Skip to main content

Client for interacting with the Spotify API

Project description

spotify-client

Client for interacting with the Spotify API

Full documentation for the library is available on Read the Docs

Usage

First install the package with pip:

pip install spotify-client

Then import the client for usage in your application:

from spotify_client import SpotifyClient

SPOTIFY_CLIENT_ID = 'client_id_from_spotify'
SPOTIFY_SECRET_KEY = 'secret_key_from_spotify'

client = SpotifyClient(SPOTIFY_CLIENT_ID, SPOTIFY_SECRET_KEY, identifier='test-spotify-client')

You'll need to generate your client ID and secret keys for authenticating with Spotify from their API console. You can find the steps for doing that in the Spotify documentation.

Optionally, you can also configure the client authentication configuration one time in a setup script by using the Config class:

from spotify_client import SpotifyClient
from spotify_client.config import Config

SPOTIFY_CLIENT_ID = 'client_id_from_spotify'
SPOTIFY_SECRET_KEY = 'secret_key_from_spotify'

Config.configure(SPOTIFY_CLIENT_ID, SPOTIFY_SECRET_KEY)

client = SpotifyClient()

The client will make a request to generate the access_token the first time it makes a call to the API. It will then cache the access token as an instance variable, to use in future requests by that client instance. This avoids the overhead of having to make a request for the access token on each request to the API.

You can optionally pass an identifier to the constructor. This will be used in logging messages by the client to uniquely identify logs for the client instance.

Developing

To work on this library, you'll first need to clone the repository:

git clone git@github.com:Moody-Tunes/spotify-client.git

Next, create a virtual environment and install the dependencies for development:

virtualenv -p $(which python3) venv
source venv/bin/activate
(venv) pip install -r dev.txt

pre-commit

We use pre-commit for running hooks during git commits. This will help immensely with developer workflow by running linters, checkers, and other tools when you make commits. To install pre-commit, create a virtual environment and install pre-commit:

(venv) pip install pre-commit

Next, install the pre-commit packages we use in our project:

(venv) pre-commit install

This should run the pre-commit hooks when you make a commit to the spotify-client repository.

Running Tests

We use pytest for running tests. You can run the spotify-client test suite by invoking pytest in the virtual environment:

(venv) pytest

We also use pytest-cov for reporting test coverage of the library. This will be displayed after the tests have finished running and report lines in the code that have test coverage.

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

spotify-client-1.9.dev0.tar.gz (16.1 kB view details)

Uploaded Source

Built Distribution

spotify_client-1.9.dev0-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file spotify-client-1.9.dev0.tar.gz.

File metadata

  • Download URL: spotify-client-1.9.dev0.tar.gz
  • Upload date:
  • Size: 16.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for spotify-client-1.9.dev0.tar.gz
Algorithm Hash digest
SHA256 136b6f820f9d9f3592afd5916f0ab61fda7eae8fcc667c826cb4220890447578
MD5 e53d926f65365e3023c1c2f78c8e3518
BLAKE2b-256 c9207ff715483731a44cc55249abb9d42a0c00a9544ac1a661566445c0a2b320

See more details on using hashes here.

File details

Details for the file spotify_client-1.9.dev0-py3-none-any.whl.

File metadata

  • Download URL: spotify_client-1.9.dev0-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.9

File hashes

Hashes for spotify_client-1.9.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 affd4231d51aea3603f759ad673a071055c86833dc5cbaa2bff8da1b3f3377a8
MD5 0fe015a4f7e8984f2d55df901eb76d0d
BLAKE2b-256 c8c1364151de0586dc0090584c5954b55bf69c97ba6a19954c4930a072fe42d3

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