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.
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
Hashes for spotifyconnector-0.8.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fc18e3a144575fc8b55a99d6623abf5d9f998cff6490ea496fde9d0d7f8949a |
|
MD5 | 6e30230823d6cfcd89df579603c1d67b |
|
BLAKE2b-256 | 2321d023ee4c7139dcf3dbf1c4ae2057e6e0e1d6a7a5a1dababfaed83fdf2874 |