Spotify Connector for Podcast Data
Project description
Spotify Connector
This is a simple library for connecting to the unofficial Spotify podcast API.
It can be used to export data from your dashboard at
https://podcasters.spotify.com/home.
Supported Data
- List of episodes
- Starts and streams
- Listeners
- Followers
- Gender
- Age
- Country
- Episode performance
Credentials
Before you can use the library, you must extract your Spotify credentials from the dashboard; they are not exposed through your Spotify settings.
You can use our web extension for that or take a look at the code to see how to do it manually.
Installation
pip install spotifyconnector
Usage as a library
from spotifyconnector import SpotifyConnector
# Set up the connector
connector = SpotifyConnector(
client_id="your_client_id",
client_secret="your_client_secret",
redirect_uri="your_redirect_uri",
refresh_token="your_refresh_token",
)
# Get podcast metadata
connector.metadata()
# Get the list of listeners of a podcast
listeners = connector.listeners()
# Get the aggregated listeners of a podcast (by age, country, gender)
aggregate = connector.aggregate()
# Iterate over all episodes (supports pagination)
for episode in connector.episodes():
# Do something with episode
pass
# Get the performance of an episode
performance = connector.performance("episode_id")
# ...
See __main.py__
for all endpoints.
Local Testing
You can run the script locally to test it:
make dev
To run the script with verbose logging:
export LOGURU_LEVEL=TRACE
make dev
Development
We use Pipenv for virtualenv and dev dependency management. With Pipenv installed:
- Install your locally checked-out code in development mode, including its dependencies, and all dev dependencies into a virtual environment:
pipenv sync --dev
- Create an environment file and fill in the required values:
cp .env.example .env
- Run the script in the virtual environment, which will automatically load
your
.env
:
pipenv run spotifyconnector
To add a new dependency for use during the development of this library:
pipenv install --dev $package
To add a new dependency necessary for the correct operation of this library, add
the package to the install_requires
section of ./setup.py
, then:
pipenv install
To publish the package:
python setup.py sdist bdist_wheel
twine upload dist/*
or
make publish
Credits
This was inspired by the code at wdr-okr, extended and released to PyPi.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file spotifyconnector-0.8.2.tar.gz
.
File metadata
- Download URL: spotifyconnector-0.8.2.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6de572859711bf9d8445d5e30a1fe89ba062ae954ee23f91d68dc78794d176ff |
|
MD5 | 9d112b769193b51d6b43da563f540e1e |
|
BLAKE2b-256 | 0450392e737c18e8ef5a3a3fed6e0b188f093680aba972ba549990c6cd3af26c |
File details
Details for the file spotifyconnector-0.8.2-py3-none-any.whl
.
File metadata
- Download URL: spotifyconnector-0.8.2-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e609156531e44ecb028e5ab048777694d278e75ad774409f7f8e077b7493a249 |
|
MD5 | 6f047e34cc1e55854475ea2e3866d181 |
|
BLAKE2b-256 | 9daffb293594eb369c9b185feb5557347437f515b5d83b824a81441bb7552fed |