kkbox_developer_sdk package¶
Submodules¶
kkbox_developer_sdk.access_token module¶
-
class
kkbox_developer_sdk.access_token.
KKBOXAccessToken
(**kwargs)¶ The access token object for accessing KKBOX’s API.
-
access_token
= None¶ The actual access token
-
expires_in
= None¶ The access token expiration date in unix timestamp
-
token_type
= None¶ The token type
-
scope
= None¶ The scope of the token, may be none
-
refresh_token
= None¶ The refresh token
-
kkbox_developer_sdk.album_fetcher module¶
-
class
kkbox_developer_sdk.album_fetcher.
KKBOXAlbumFetcher
(access_token)¶ Bases:
kkbox_developer_sdk.fetcher.Fetcher
Get metadata and tracks of an album.
See https://kkbox.gelato.io/docs/versions/1.1/resources/albums.
-
fetch_album
(*args, **kwargs)¶ Fetches an album by given ID.
Parameters: - album_id (str) – the album ID.
- terr – the current territory.
Returns: API response.
Return type: dict
See https://kkbox.gelato.io/docs/versions/1.1/resources/albums/endpoints/get-albums-album_id.
-
fetch_tracks_in_album
(*args, **kwargs)¶ Fetches tracks in an album by given ID.
Parameters: - album_id (str) – the album ID.
- terr – the current territory.
Returns: API response.
Return type: dict
See https://kkbox.gelato.io/docs/versions/1.1/resources/albums/endpoints/get-albums-album_id-tracks.
-
kkbox_developer_sdk.api module¶
-
class
kkbox_developer_sdk.api.
KKBOXAPI
(access_token)¶ Create fetchers.
-
search_fetcher
= None¶ The search related API fetcher
-
track_fetcher
= None¶ The track related API fetcher
-
artist_fetcher
= None¶ The artist related API fetcher
-
album_fetcher
= None¶ The album related API fetcher
The shared playlist related API fetcher
-
chart_fetcher
= None¶ The chart related API fetcher
-
new_release_category_fetcher
= None¶ The new release category related API fetcher
-
genre_station_fetcher
= None¶ The genre station related API fetcher
-
mood_station_fetcher
= None¶ The mood station related API fetcher
-
feature_playlist_fetcher
= None¶ The feature playlist related API fetcher
-
feature_playlist_category_fetcher
= None¶ The feature playlist category related API fetcher
-
new_hits_playlist_fetcher
= None¶ The new hits playlist related API fetcher
-
kkbox_developer_sdk.artist_fetcher module¶
-
class
kkbox_developer_sdk.artist_fetcher.
KKBOXArtistFetcher
(access_token)¶ Bases:
kkbox_developer_sdk.fetcher.Fetcher
Get metadata, albums, and top tracks of an artist.
See https://kkbox.gelato.io/docs/versions/1.1/resources/artists.
-
fetch_artist
(*args, **kwargs)¶ Fetches an artist by given ID.
Parameters: - artist_id (str) – the artist ID.
- terr – the current territory.
Returns: API response.
Return type: dict
See https://kkbox.gelato.io/docs/versions/1.1/resources/artists/endpoints/get-artists-artist_id.
-
fetch_albums_of_artist
(*args, **kwargs)¶ Fetches albums belong to an artist by given ID.
Parameters: - artist_id (str) – the artist ID.
- terr – the current territory.
Returns: API response.
Return type: dict
See https://kkbox.gelato.io/docs/versions/1.1/resources/artists/endpoints/get-artists-artist_id-albums.
-
fetch_top_tracks_of_artist
(*args, **kwargs)¶ Fetcher top tracks belong to an artist by given ID.
Parameters: - artist_id (str) – the artist ID.
- terr – the current territory.
Returns: API response.
Return type: dict
-
kkbox_developer_sdk.auth_flow module¶
-
class
kkbox_developer_sdk.auth_flow.
KKBOXOAuth
(client_id, client_secret)¶ Implements various KKBOX Oauth 2.0 authorization flows.
See https://kkbox.gelato.io/docs/versions/1.1/authentication.
-
OAUTH_TOKEN_URL
= 'https://account.kkbox.com/oauth2/token'¶
-
client_id
= None¶ The client ID
-
client_secret
= None¶ The client secret
-
access_token
= None¶ The access token
-
http
= None¶ The http client
-
fetch_access_token_by_client_credentials
()¶ There are three ways to let you start using KKBOX’s Open/Partner API. The first way among them is to generate a client credential to fetch an access token to let KKBOX identify you. It allows you to access public data from KKBOX such as public albums, playlists and so on.
However, you cannot use client credentials to access private data of a user. You have to let users to log-in into KKBOX and grant permissions for you to do so. You cannot use client credentials to do media playback either, since it requires a Premium Membership.
Returns: an access token Return type: kkbox_sdk.KKBOXAccessToken
See https://kkbox.gelato.io/docs/versions/1.1/authentication.
-
kkbox_developer_sdk.chart_fetcher module¶
-
class
kkbox_developer_sdk.chart_fetcher.
KKBOXChartFetcher
(access_token)¶ Bases:
kkbox_developer_sdk.fetcher.Fetcher
List chart playlist. Then can get tracks via shared playlist.
See https://kkbox.gelato.io/docs/versions/1.1/resources/charts.
-
fetch_charts
(*args, **kwargs)¶ Fetches chart categories.
Parameters: terr – the current territory. Returns: API response. Return type: list See https://kkbox.gelato.io/docs/versions/1.1/resources/charts/endpoints/get-charts
-
kkbox_developer_sdk.feature_playlist_category_fetcher module¶
-
class
kkbox_developer_sdk.feature_playlist_category_fetcher.
KKBOXFeaturePlaylistCategoryFetcher
(access_token)¶ Bases:
kkbox_developer_sdk.fetcher.Fetcher
List feature playlist categories and list feature playlists for a specific category.
See https://kkbox.gelato.io/docs/versions/1.1/resources/featured-playlist-categories.
-
fetch_categories_of_feature_playlist
(*args, **kwargs)¶ Fetches categories of featured playlist.
Parameters: terr – the current territory. Returns: API response. Return type: dict See https://kkbox.gelato.io/docs/versions/1.1/resources/featured-playlist-categories/endpoints/get-featured-playlist-categories.
-
fetch_feature_playlist_by_category
(*args, **kwargs)¶ Fetches featured playlist by given category ID.
Parameters: - category (str) – the category.
- terr – the current territory.
Returns: API response.
Return type: dict
See https://kkbox.gelato.io/docs/versions/1.1/resources/featured-playlist-categories/endpoints/get-featured-playlist-categories-category_id.
-
fetch_playlists_of_feature_playlist_category
(*args, **kwargs)¶ Fetches playlists of featured playlist category by given ID.
Parameters: - category (str) – the category.
- terr – the current territory.
Returns: API response.
Return type: dict
See https://kkbox.gelato.io/docs/versions/1.1/resources/featured-playlist-categories/endpoints/get-featured-playlist-categories-category_id-playlists.
-
kkbox_developer_sdk.feature_playlist_fetcher module¶
-
class
kkbox_developer_sdk.feature_playlist_fetcher.
KKBOXFeaturePlaylistFetcher
(access_token)¶ Bases:
kkbox_developer_sdk.fetcher.Fetcher
List all featured playlists metadata.
See https://kkbox.gelato.io/docs/versions/1.1/resources/featured-playlists.
-
fetch_feature_playlists
(*args, **kwargs)¶ Fetches featured playlists.
Parameters: terr – the current territory. Returns: API response. Return type: dict See https://kkbox.gelato.io/docs/versions/1.1/resources/featured-playlists/endpoints/get-featured-playlists.
-
kkbox_developer_sdk.fetcher module¶
-
kkbox_developer_sdk.fetcher.
assert_access_token
(func, *args)¶
-
class
kkbox_developer_sdk.fetcher.
Fetcher
(access_token)¶ Base class for various fetchers.
-
access_token
¶
-
http
= None¶ The http client
-
fetch_next_page
(data)¶ Fetches next page based on previously fetched data. Will get the next page url from data[‘paging’][‘next’].
Parameters: data (dict) – previously fetched API response. Returns: API response. Return type: dict
-
fetch_data
(url)¶ Fetches data from specific url.
Returns: The response. Return type: dict
-
kkbox_developer_sdk.genre_station_fetcher module¶
-
class
kkbox_developer_sdk.genre_station_fetcher.
KKBOXGenreStationFetcher
(access_token)¶ Bases:
kkbox_developer_sdk.fetcher.Fetcher
Fetch genre stations and get tracks for a specific genre station.
See https://kkbox.gelato.io/docs/versions/1.1/resources/genre-stations.
-
fetch_all_genre_stations
(*args, **kwargs)¶ Fetches all genre stations.
Parameters: terr – the current territory. Returns: API response. Return type: dict See https://kkbox.gelato.io/docs/versions/1.1/resources/genre-stations/endpoints/get-genre-stations.
-
fetch_genre_station
(*args, **kwargs)¶ Fetches a genre station by given ID.
Parameters: - station_id – the station ID
- terr – the current territory.
Returns: API response.
Return type: dict
See https://kkbox.gelato.io/docs/versions/1.1/resources/genre-stations/endpoints/get-genre-stations-station_id.
-
kkbox_developer_sdk.http module¶
kkbox_developer_sdk.mood_station_fetcher module¶
-
class
kkbox_developer_sdk.mood_station_fetcher.
KKBOXMoodStationFetcher
(access_token)¶ Bases:
kkbox_developer_sdk.fetcher.Fetcher
Fetch mood stations and get tracks for a specific mood station.
See https://kkbox.gelato.io/docs/versions/1.1/resources/mood-stations.
-
fetch_all_mood_stations
(*args, **kwargs)¶ Fetches all mood stations.
Parameters: terr – the current territory. Returns: API response. Return type: dict See https://kkbox.gelato.io/docs/versions/1.1/resources/mood-stations/endpoints/get-mood-stations.
-
fetch_mood_station
(*args, **kwargs)¶ Fetches a mood station by given ID.
Parameters: - station_id – the station ID
- terr – the current territory.
Returns: API response.
Return type: dict
See https://kkbox.gelato.io/docs/versions/1.1/resources/mood-stations/endpoints/get-mood-stations-station_id.
-
kkbox_developer_sdk.new_hits_playlist_fetcher module¶
-
class
kkbox_developer_sdk.new_hits_playlist_fetcher.
KKBOXNewHitsPlaylistFetcher
(access_token)¶ Bases:
kkbox_developer_sdk.fetcher.Fetcher
List all new hits playlists and fetch tracks for specific new hit playlist.
See ‘https://kkbox.gelato.io/docs/versions/1.1/resources/new-hits-playlists’.
-
fetch_all_new_hits_playlists
(*args, **kwargs)¶ Fetches all new hits playlists.
Parameters: terr – the current territory. Returns: API response. Return type: dict
-
fetch_new_hits_playlist
(*args, **kwargs)¶ Fetches new hits playlist by given ID.
Parameters: - playlist_id (str) – the category.
- terr – the current territory.
Returns: API response.
Return type: dict
-
kkbox_developer_sdk.new_release_category_fetcher module¶
-
class
kkbox_developer_sdk.new_release_category_fetcher.
KKBOXNewReleaseCategoryFetcher
(access_token)¶ Bases:
kkbox_developer_sdk.fetcher.Fetcher
List categories of new release category and get metadata of specific new release category.
See https://kkbox.gelato.io/docs/versions/1.1/resources/new-release-categories.
-
fetch_all_new_release_categories
(*args, **kwargs)¶ Fetches new release categories.
Parameters: terr – the current territory. Returns: API response. Return type: list See https://kkbox.gelato.io/docs/versions/1.1/resources/new-release-categories/endpoints/get-new-release-categories
-
fetch_new_release_category
(*args, **kwargs)¶ Fetches new release categories by given ID.
Parameters: - category_id (str) – the station ID.
- terr – the current territory.
Returns: API response.
Return type: list
See https://kkbox.gelato.io/docs/versions/1.1/resources/new-release-categories/endpoints/get-new-release-categories-category_id
-
fetch_albums_of_new_release_category
(*args, **kwargs)¶ Fetches albums of new release category by given ID.
Parameters: - category_id (str) – the category ID.
- terr – the current territory.
Returns: API response.
Return type: list
See https://kkbox.gelato.io/docs/versions/1.1/resources/new-release-categories/endpoints/get-new-release-categories-category_id-albums
-
kkbox_developer_sdk.search_fetcher module¶
-
class
kkbox_developer_sdk.search_fetcher.
KKBOXSearchTypes
¶ The Search types of the search API.
-
ARTIST
= 'artist'¶
-
ALBUM
= 'album'¶
-
TRACK
= 'track'¶
-
PLAYLIST
= 'playlist'¶
-
-
class
kkbox_developer_sdk.search_fetcher.
KKBOXSearchFetcher
(access_token)¶ Bases:
kkbox_developer_sdk.fetcher.Fetcher
Search API, the types it can search includes artists, albums, tracks, or playlists. Default to search all types, use “,” to seperate types if you want to use multiple types to search at the same time.
See https://kkbox.gelato.io/docs/versions/1.1/resources/search.
-
search
(*args, **kwargs)¶ Searches within KKBOX’s database.
Parameters: - keyword (str) – the keyword.
- types – the search types.
- terr – the current territory.
Returns: list
Returns: API response.
Return type: dict
See https://kkbox.gelato.io/docs/versions/1.1/resources/search/endpoints/get-search.
-
kkbox_developer_sdk.territory module¶
kkbox_developer_sdk.track_fetcher module¶
-
class
kkbox_developer_sdk.track_fetcher.
KKBOXTrackFetcher
(access_token)¶ Bases:
kkbox_developer_sdk.fetcher.Fetcher
Get metadata of a track.
See https://kkbox.gelato.io/docs/versions/1.1/resources/tracks.
-
fetch_track
(*args, **kwargs)¶ Fetches a song track by given ID.
Parameters: track_id (str) – the track ID. Returns: API response. Return type: dict See https://kkbox.gelato.io/docs/versions/1.1/resources/tracks/endpoints/get-tracks-track_id.
-