deezer-python-gql 0.17.2__tar.gz → 0.19.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {deezer_python_gql-0.17.2/deezer_python_gql.egg-info → deezer_python_gql-0.19.0}/PKG-INFO +49 -26
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/README.md +47 -24
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/__init__.py +103 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/add_audiobook_to_favorite.py +1 -3
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/add_podcast_to_favorite.py +1 -3
- deezer_python_gql-0.19.0/deezer_python_gql/generated/ban_artist_from_recommendation.py +26 -0
- deezer_python_gql-0.19.0/deezer_python_gql/generated/ban_track_from_recommendation.py +26 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/bookmark_podcast_episode.py +2 -2
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/client.py +607 -74
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/enums.py +10 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/fragments.py +20 -4
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_artist.py +14 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_audiobook.py +1 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_audiobook_chapter.py +2 -2
- deezer_python_gql-0.19.0/deezer_python_gql/generated/get_banned_artists.py +51 -0
- deezer_python_gql-0.19.0/deezer_python_gql/generated/get_banned_tracks.py +51 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_favorite_albums.py +2 -2
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_favorite_artists.py +2 -2
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_favorite_audiobooks.py +2 -2
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_favorite_playlists.py +2 -2
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_favorite_podcasts.py +2 -2
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_favorite_tracks.py +2 -2
- deezer_python_gql-0.19.0/deezer_python_gql/generated/get_flow_tuner.py +25 -0
- deezer_python_gql-0.19.0/deezer_python_gql/generated/get_infinite_track_mix.py +24 -0
- deezer_python_gql-0.19.0/deezer_python_gql/generated/get_latest_podcast_episodes.py +27 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_made_for_me.py +1 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_music_together_group.py +4 -4
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_music_together_groups.py +4 -4
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_playlist.py +1 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_podcast_episode_bookmarks.py +2 -2
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_smart_tracklist.py +1 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_track.py +7 -3
- deezer_python_gql-0.19.0/deezer_python_gql/generated/get_tracks_by_ids.py +22 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/mark_as_played_podcast_episode.py +2 -2
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/music_together_create_group.py +2 -2
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/search.py +2 -2
- deezer_python_gql-0.19.0/deezer_python_gql/generated/set_flow_discovery_tuner.py +20 -0
- deezer_python_gql-0.19.0/deezer_python_gql/generated/unban_artist_from_recommendation.py +26 -0
- deezer_python_gql-0.19.0/deezer_python_gql/generated/unban_track_from_recommendation.py +26 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0/deezer_python_gql.egg-info}/PKG-INFO +49 -26
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql.egg-info/SOURCES.txt +11 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql.egg-info/requires.txt +1 -1
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/pyproject.toml +5 -2
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/tests/test_client.py +168 -1
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/LICENSE +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/MANIFEST.in +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/__init__.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/base_client.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/add_album_to_favorite.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/add_artist_to_favorite.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/add_playlist_to_favorite.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/add_track_to_favorite.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/add_tracks_to_playlist.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/base_client.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/base_model.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/create_playlist.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/delete_playlist.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_album.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_artist_mix.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_charts.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_flow.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_flow_batch.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_flow_config_tracks.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_flow_configs.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_livestream.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_me.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_music_together_affinity.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_personal_tracks.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_podcast.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_podcast_episode.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_podcast_episodes_by_ids.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_recently_played.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_recommendations.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_similar_artists.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_similar_tracks.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_track_mix.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_user_charts.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/get_user_playlists.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/input_types.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/mark_as_not_played_podcast_episode.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/music_together_generate_group_name.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/music_together_join_group.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/music_together_leave_group.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/music_together_refresh_suggested_tracklist.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/music_together_update_group_settings.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/remove_album_from_favorite.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/remove_artist_from_favorite.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/remove_audiobook_from_favorite.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/remove_playlist_from_favorite.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/remove_podcast_from_favorite.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/remove_track_from_favorite.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/remove_tracks_from_playlist.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/search_flows.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/unbookmark_podcast_episode.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/update_playlist.py +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/py.typed +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql.egg-info/dependency_links.txt +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql.egg-info/not-zip-safe +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql.egg-info/top_level.txt +0 -0
- {deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deezer-python-gql
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.19.0
|
|
4
4
|
Summary: Async typed Python client for Deezer's Pipe GraphQL API.
|
|
5
5
|
Author-email: Julian Daberkow <jdaberkow@users.noreply.github.com>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -22,7 +22,7 @@ Requires-Dist: pre-commit-hooks==6.0.0; extra == "test"
|
|
|
22
22
|
Requires-Dist: pytest==9.1.1; extra == "test"
|
|
23
23
|
Requires-Dist: pytest-asyncio==1.4.0; extra == "test"
|
|
24
24
|
Requires-Dist: pytest-cov==7.1.0; extra == "test"
|
|
25
|
-
Requires-Dist: ruff==0.16.
|
|
25
|
+
Requires-Dist: ruff==0.16.8; extra == "test"
|
|
26
26
|
Provides-Extra: dev
|
|
27
27
|
Requires-Dist: ariadne-codegen[subscriptions]; extra == "dev"
|
|
28
28
|
Dynamic: license-file
|
|
@@ -84,18 +84,18 @@ asyncio.run(main())
|
|
|
84
84
|
|
|
85
85
|
### Content Retrieval
|
|
86
86
|
|
|
87
|
-
| Method | Description
|
|
88
|
-
| --------------------------------------------- |
|
|
89
|
-
| `get_me()` | Current authenticated user
|
|
90
|
-
| `get_track(track_id)` | Full track details — ISRC, media tokens, lyrics, contributors
|
|
91
|
-
| `get_album(album_id)` | Album with cover, label, paginated tracks, fallback
|
|
92
|
-
| `get_artist(artist_id)` | Artist with bio, top tracks, albums (ordered by release date)
|
|
93
|
-
| `get_playlist(playlist_id)` | Playlist with owner, picture, paginated tracks
|
|
94
|
-
| `get_livestream(livestream_id)` | Livestream (radio station) with streaming URLs and codec info
|
|
95
|
-
| `get_podcast(podcast_id)` | Podcast with paginated episodes and rights info
|
|
96
|
-
| `get_podcast_episode(podcast_episode_id)` | Single episode with media URL, codec, and parent podcast ref
|
|
97
|
-
| `get_audiobook(audiobook_id)` | Audiobook with paginated chapters, contributors, and fallback
|
|
98
|
-
| `get_audiobook_chapter(audiobook_chapter_id)` | Chapter with media token, estimated sizes, and streaming rights
|
|
87
|
+
| Method | Description |
|
|
88
|
+
| --------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
|
89
|
+
| `get_me()` | Current authenticated user |
|
|
90
|
+
| `get_track(track_id)` | Full track details — ISRC, gain, ban state, media tokens, lyrics, contributors |
|
|
91
|
+
| `get_album(album_id)` | Album with cover, label, paginated tracks, fallback |
|
|
92
|
+
| `get_artist(artist_id)` | Artist with bio, social links, hero picture, top tracks, albums (ordered by release date) |
|
|
93
|
+
| `get_playlist(playlist_id)` | Playlist with owner, picture, paginated tracks |
|
|
94
|
+
| `get_livestream(livestream_id)` | Livestream (radio station) with streaming URLs and codec info |
|
|
95
|
+
| `get_podcast(podcast_id)` | Podcast with paginated episodes and rights info |
|
|
96
|
+
| `get_podcast_episode(podcast_episode_id)` | Single episode with media URL, codec, and parent podcast ref |
|
|
97
|
+
| `get_audiobook(audiobook_id)` | Audiobook with UPC, paginated chapters, contributors, and fallback |
|
|
98
|
+
| `get_audiobook_chapter(audiobook_chapter_id)` | Chapter with media token, estimated sizes, and streaming rights |
|
|
99
99
|
|
|
100
100
|
### Search & Discovery
|
|
101
101
|
|
|
@@ -106,12 +106,14 @@ asyncio.run(main())
|
|
|
106
106
|
| `get_similar_tracks(track_id, nb)` | Recommended tracks based on a given track |
|
|
107
107
|
| `get_artist_mix(artist_ids, limit)` | Track mix blended from given artists |
|
|
108
108
|
| `get_track_mix(track_ids, limit)` | Track mix blended around given tracks |
|
|
109
|
+
| `get_infinite_track_mix(track_ids, limit, ...)` | Track IDs for an endless mix, input tracks left out (at least 40, cost ~10000) |
|
|
110
|
+
| `get_tracks_by_ids(ids)` | Several tracks in one request, unknown IDs come back as `None` |
|
|
109
111
|
| `get_flow()` | User's default Flow with tracks |
|
|
110
112
|
| `get_flow_batch()` | 4 batches of Flow tracks in one request (via GraphQL aliases) |
|
|
111
113
|
| `get_flow_configs(moods_first, genres_first)` | Mood & genre flow config lists for discovery |
|
|
112
114
|
| `get_flow_config_tracks(flow_config_id)` | Tracks for a specific mood/genre flow config |
|
|
113
115
|
| `get_made_for_me(first)` | "Made For You" SmartTracklist & Flow items |
|
|
114
|
-
| `get_smart_tracklist(smart_tracklist_id, first)` | Smart tracklist with paginated tracks
|
|
116
|
+
| `get_smart_tracklist(smart_tracklist_id, first)` | Smart tracklist with expiry and paginated tracks |
|
|
115
117
|
| `get_charts(country_code, ...)` | Country charts — tracks, albums, artists, playlists |
|
|
116
118
|
| `get_recommendations(playlists_first, ...)` | Personalized recommendations across categories |
|
|
117
119
|
| `get_recently_played(first)` | Recently played mixed content (albums, playlists, artists...) |
|
|
@@ -119,17 +121,21 @@ asyncio.run(main())
|
|
|
119
121
|
|
|
120
122
|
### Library & Favorites
|
|
121
123
|
|
|
122
|
-
| Method | Description
|
|
123
|
-
| --------------------------------------------- |
|
|
124
|
-
| `get_favorite_artists(first, after)` | Paginated favorite artists
|
|
125
|
-
| `get_favorite_albums(first, after)` | Paginated favorite albums
|
|
126
|
-
| `get_favorite_tracks(first, after)` | Paginated favorite tracks
|
|
127
|
-
| `get_favorite_playlists(first, after)` | Paginated favorite playlists
|
|
128
|
-
| `get_favorite_podcasts(first, after)` | Paginated favorite podcasts
|
|
129
|
-
| `get_favorite_audiobooks()` | Favorite audiobook IDs with dates (via deprecated endpoint)
|
|
130
|
-
| `get_podcast_episode_bookmarks(first, after)` | Bookmarked podcast episodes with playback position
|
|
131
|
-
| `get_user_playlists(first, after)` | User's own playlists (not just favorites)
|
|
132
|
-
| `get_personal_tracks(first, after)` | User's uploaded/personal tracks (restricted access)
|
|
124
|
+
| Method | Description |
|
|
125
|
+
| --------------------------------------------- | --------------------------------------------------------------- |
|
|
126
|
+
| `get_favorite_artists(first, after)` | Paginated favorite artists |
|
|
127
|
+
| `get_favorite_albums(first, after)` | Paginated favorite albums |
|
|
128
|
+
| `get_favorite_tracks(first, after)` | Paginated favorite tracks |
|
|
129
|
+
| `get_favorite_playlists(first, after)` | Paginated favorite playlists |
|
|
130
|
+
| `get_favorite_podcasts(first, after)` | Paginated favorite podcasts |
|
|
131
|
+
| `get_favorite_audiobooks()` | Favorite audiobook IDs with dates (via deprecated endpoint) |
|
|
132
|
+
| `get_podcast_episode_bookmarks(first, after)` | Bookmarked podcast episodes with playback position |
|
|
133
|
+
| `get_user_playlists(first, after)` | User's own playlists (not just favorites) |
|
|
134
|
+
| `get_personal_tracks(first, after)` | User's uploaded/personal tracks (restricted access) |
|
|
135
|
+
| `get_latest_podcast_episodes()` | Latest episodes of favorite podcasts (IDs + dates, cost ~15000) |
|
|
136
|
+
| `get_banned_tracks(first, after)` | Tracks banned from recommendations, with ban date |
|
|
137
|
+
| `get_banned_artists(first, after)` | Artists banned from recommendations, with ban date |
|
|
138
|
+
| `get_flow_tuner()` | Flow tuner: `DEFAULT` or `DISCOVERY` |
|
|
133
139
|
|
|
134
140
|
### Music Together (Collaborative Playlists)
|
|
135
141
|
|
|
@@ -158,6 +164,23 @@ asyncio.run(main())
|
|
|
158
164
|
| `add_audiobook_to_favorite(audiobook_id)` | Add audiobook to favorites (deprecated but functional) |
|
|
159
165
|
| `remove_audiobook_from_favorite(audiobook_id)` | Remove audiobook from favorites (deprecated but functional) |
|
|
160
166
|
|
|
167
|
+
### Recommendation Bans
|
|
168
|
+
|
|
169
|
+
Keep a track or artist out of the user's recommendations (Flow, mixes).
|
|
170
|
+
|
|
171
|
+
| Method | Description |
|
|
172
|
+
| --------------------------------------------- | -------------------------------------- |
|
|
173
|
+
| `ban_track_from_recommendation(track_id)` | Keep track out of recommendations |
|
|
174
|
+
| `unban_track_from_recommendation(track_id)` | Allow track back into recommendations |
|
|
175
|
+
| `ban_artist_from_recommendation(artist_id)` | Keep artist out of recommendations |
|
|
176
|
+
| `unban_artist_from_recommendation(artist_id)` | Allow artist back into recommendations |
|
|
177
|
+
|
|
178
|
+
### Flow
|
|
179
|
+
|
|
180
|
+
| Method | Description |
|
|
181
|
+
| ------------------------------------------- | --------------------------------------------- |
|
|
182
|
+
| `set_flow_discovery_tuner(discovery_tuner)` | Switch Flow between `DEFAULT` and `DISCOVERY` |
|
|
183
|
+
|
|
161
184
|
### Playlist Management
|
|
162
185
|
|
|
163
186
|
| Method | Description |
|
|
@@ -55,18 +55,18 @@ asyncio.run(main())
|
|
|
55
55
|
|
|
56
56
|
### Content Retrieval
|
|
57
57
|
|
|
58
|
-
| Method | Description
|
|
59
|
-
| --------------------------------------------- |
|
|
60
|
-
| `get_me()` | Current authenticated user
|
|
61
|
-
| `get_track(track_id)` | Full track details — ISRC, media tokens, lyrics, contributors
|
|
62
|
-
| `get_album(album_id)` | Album with cover, label, paginated tracks, fallback
|
|
63
|
-
| `get_artist(artist_id)` | Artist with bio, top tracks, albums (ordered by release date)
|
|
64
|
-
| `get_playlist(playlist_id)` | Playlist with owner, picture, paginated tracks
|
|
65
|
-
| `get_livestream(livestream_id)` | Livestream (radio station) with streaming URLs and codec info
|
|
66
|
-
| `get_podcast(podcast_id)` | Podcast with paginated episodes and rights info
|
|
67
|
-
| `get_podcast_episode(podcast_episode_id)` | Single episode with media URL, codec, and parent podcast ref
|
|
68
|
-
| `get_audiobook(audiobook_id)` | Audiobook with paginated chapters, contributors, and fallback
|
|
69
|
-
| `get_audiobook_chapter(audiobook_chapter_id)` | Chapter with media token, estimated sizes, and streaming rights
|
|
58
|
+
| Method | Description |
|
|
59
|
+
| --------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
|
60
|
+
| `get_me()` | Current authenticated user |
|
|
61
|
+
| `get_track(track_id)` | Full track details — ISRC, gain, ban state, media tokens, lyrics, contributors |
|
|
62
|
+
| `get_album(album_id)` | Album with cover, label, paginated tracks, fallback |
|
|
63
|
+
| `get_artist(artist_id)` | Artist with bio, social links, hero picture, top tracks, albums (ordered by release date) |
|
|
64
|
+
| `get_playlist(playlist_id)` | Playlist with owner, picture, paginated tracks |
|
|
65
|
+
| `get_livestream(livestream_id)` | Livestream (radio station) with streaming URLs and codec info |
|
|
66
|
+
| `get_podcast(podcast_id)` | Podcast with paginated episodes and rights info |
|
|
67
|
+
| `get_podcast_episode(podcast_episode_id)` | Single episode with media URL, codec, and parent podcast ref |
|
|
68
|
+
| `get_audiobook(audiobook_id)` | Audiobook with UPC, paginated chapters, contributors, and fallback |
|
|
69
|
+
| `get_audiobook_chapter(audiobook_chapter_id)` | Chapter with media token, estimated sizes, and streaming rights |
|
|
70
70
|
|
|
71
71
|
### Search & Discovery
|
|
72
72
|
|
|
@@ -77,12 +77,14 @@ asyncio.run(main())
|
|
|
77
77
|
| `get_similar_tracks(track_id, nb)` | Recommended tracks based on a given track |
|
|
78
78
|
| `get_artist_mix(artist_ids, limit)` | Track mix blended from given artists |
|
|
79
79
|
| `get_track_mix(track_ids, limit)` | Track mix blended around given tracks |
|
|
80
|
+
| `get_infinite_track_mix(track_ids, limit, ...)` | Track IDs for an endless mix, input tracks left out (at least 40, cost ~10000) |
|
|
81
|
+
| `get_tracks_by_ids(ids)` | Several tracks in one request, unknown IDs come back as `None` |
|
|
80
82
|
| `get_flow()` | User's default Flow with tracks |
|
|
81
83
|
| `get_flow_batch()` | 4 batches of Flow tracks in one request (via GraphQL aliases) |
|
|
82
84
|
| `get_flow_configs(moods_first, genres_first)` | Mood & genre flow config lists for discovery |
|
|
83
85
|
| `get_flow_config_tracks(flow_config_id)` | Tracks for a specific mood/genre flow config |
|
|
84
86
|
| `get_made_for_me(first)` | "Made For You" SmartTracklist & Flow items |
|
|
85
|
-
| `get_smart_tracklist(smart_tracklist_id, first)` | Smart tracklist with paginated tracks
|
|
87
|
+
| `get_smart_tracklist(smart_tracklist_id, first)` | Smart tracklist with expiry and paginated tracks |
|
|
86
88
|
| `get_charts(country_code, ...)` | Country charts — tracks, albums, artists, playlists |
|
|
87
89
|
| `get_recommendations(playlists_first, ...)` | Personalized recommendations across categories |
|
|
88
90
|
| `get_recently_played(first)` | Recently played mixed content (albums, playlists, artists...) |
|
|
@@ -90,17 +92,21 @@ asyncio.run(main())
|
|
|
90
92
|
|
|
91
93
|
### Library & Favorites
|
|
92
94
|
|
|
93
|
-
| Method | Description
|
|
94
|
-
| --------------------------------------------- |
|
|
95
|
-
| `get_favorite_artists(first, after)` | Paginated favorite artists
|
|
96
|
-
| `get_favorite_albums(first, after)` | Paginated favorite albums
|
|
97
|
-
| `get_favorite_tracks(first, after)` | Paginated favorite tracks
|
|
98
|
-
| `get_favorite_playlists(first, after)` | Paginated favorite playlists
|
|
99
|
-
| `get_favorite_podcasts(first, after)` | Paginated favorite podcasts
|
|
100
|
-
| `get_favorite_audiobooks()` | Favorite audiobook IDs with dates (via deprecated endpoint)
|
|
101
|
-
| `get_podcast_episode_bookmarks(first, after)` | Bookmarked podcast episodes with playback position
|
|
102
|
-
| `get_user_playlists(first, after)` | User's own playlists (not just favorites)
|
|
103
|
-
| `get_personal_tracks(first, after)` | User's uploaded/personal tracks (restricted access)
|
|
95
|
+
| Method | Description |
|
|
96
|
+
| --------------------------------------------- | --------------------------------------------------------------- |
|
|
97
|
+
| `get_favorite_artists(first, after)` | Paginated favorite artists |
|
|
98
|
+
| `get_favorite_albums(first, after)` | Paginated favorite albums |
|
|
99
|
+
| `get_favorite_tracks(first, after)` | Paginated favorite tracks |
|
|
100
|
+
| `get_favorite_playlists(first, after)` | Paginated favorite playlists |
|
|
101
|
+
| `get_favorite_podcasts(first, after)` | Paginated favorite podcasts |
|
|
102
|
+
| `get_favorite_audiobooks()` | Favorite audiobook IDs with dates (via deprecated endpoint) |
|
|
103
|
+
| `get_podcast_episode_bookmarks(first, after)` | Bookmarked podcast episodes with playback position |
|
|
104
|
+
| `get_user_playlists(first, after)` | User's own playlists (not just favorites) |
|
|
105
|
+
| `get_personal_tracks(first, after)` | User's uploaded/personal tracks (restricted access) |
|
|
106
|
+
| `get_latest_podcast_episodes()` | Latest episodes of favorite podcasts (IDs + dates, cost ~15000) |
|
|
107
|
+
| `get_banned_tracks(first, after)` | Tracks banned from recommendations, with ban date |
|
|
108
|
+
| `get_banned_artists(first, after)` | Artists banned from recommendations, with ban date |
|
|
109
|
+
| `get_flow_tuner()` | Flow tuner: `DEFAULT` or `DISCOVERY` |
|
|
104
110
|
|
|
105
111
|
### Music Together (Collaborative Playlists)
|
|
106
112
|
|
|
@@ -129,6 +135,23 @@ asyncio.run(main())
|
|
|
129
135
|
| `add_audiobook_to_favorite(audiobook_id)` | Add audiobook to favorites (deprecated but functional) |
|
|
130
136
|
| `remove_audiobook_from_favorite(audiobook_id)` | Remove audiobook from favorites (deprecated but functional) |
|
|
131
137
|
|
|
138
|
+
### Recommendation Bans
|
|
139
|
+
|
|
140
|
+
Keep a track or artist out of the user's recommendations (Flow, mixes).
|
|
141
|
+
|
|
142
|
+
| Method | Description |
|
|
143
|
+
| --------------------------------------------- | -------------------------------------- |
|
|
144
|
+
| `ban_track_from_recommendation(track_id)` | Keep track out of recommendations |
|
|
145
|
+
| `unban_track_from_recommendation(track_id)` | Allow track back into recommendations |
|
|
146
|
+
| `ban_artist_from_recommendation(artist_id)` | Keep artist out of recommendations |
|
|
147
|
+
| `unban_artist_from_recommendation(artist_id)` | Allow artist back into recommendations |
|
|
148
|
+
|
|
149
|
+
### Flow
|
|
150
|
+
|
|
151
|
+
| Method | Description |
|
|
152
|
+
| ------------------------------------------- | --------------------------------------------- |
|
|
153
|
+
| `set_flow_discovery_tuner(discovery_tuner)` | Switch Flow between `DEFAULT` and `DISCOVERY` |
|
|
154
|
+
|
|
132
155
|
### Playlist Management
|
|
133
156
|
|
|
134
157
|
| Method | Description |
|
{deezer_python_gql-0.17.2 → deezer_python_gql-0.19.0}/deezer_python_gql/generated/__init__.py
RENAMED
|
@@ -34,6 +34,16 @@ from .add_tracks_to_playlist import (
|
|
|
34
34
|
AddTracksToPlaylistAddTracksToPlaylistPlaylistAddTracksError,
|
|
35
35
|
AddTracksToPlaylistAddTracksToPlaylistPlaylistAddTracksOutput,
|
|
36
36
|
)
|
|
37
|
+
from .ban_artist_from_recommendation import (
|
|
38
|
+
BanArtistFromRecommendation,
|
|
39
|
+
BanArtistFromRecommendationBanArtistFromRecommendation,
|
|
40
|
+
BanArtistFromRecommendationBanArtistFromRecommendationArtist,
|
|
41
|
+
)
|
|
42
|
+
from .ban_track_from_recommendation import (
|
|
43
|
+
BanTrackFromRecommendation,
|
|
44
|
+
BanTrackFromRecommendationBanTrackFromRecommendation,
|
|
45
|
+
BanTrackFromRecommendationBanTrackFromRecommendationTrack,
|
|
46
|
+
)
|
|
37
47
|
from .base_client import DeezerBaseClient
|
|
38
48
|
from .base_model import BaseModel, Upload
|
|
39
49
|
from .bookmark_podcast_episode import (
|
|
@@ -51,6 +61,8 @@ from .delete_playlist import DeletePlaylist, DeletePlaylistDeletePlaylist
|
|
|
51
61
|
from .enums import (
|
|
52
62
|
AlbumType,
|
|
53
63
|
AudiobookContributorRoles,
|
|
64
|
+
DiscoveryTuner,
|
|
65
|
+
DiscoveryTunerInput,
|
|
54
66
|
MusicTogetherRefreshSuggestedTracklistMoodInput,
|
|
55
67
|
MusicTogetherSuggestedTracklistMoodInput,
|
|
56
68
|
PodcastEpisodeOrder,
|
|
@@ -63,6 +75,7 @@ from .fragments import (
|
|
|
63
75
|
AlbumFieldsContributorsEdges,
|
|
64
76
|
AlbumFieldsContributorsEdgesNodeArtist,
|
|
65
77
|
AlbumFieldsCover,
|
|
78
|
+
AlbumFieldsSubtypes,
|
|
66
79
|
ArtistFields,
|
|
67
80
|
ArtistFieldsBio,
|
|
68
81
|
ArtistFieldsPicture,
|
|
@@ -116,6 +129,8 @@ from .get_artist import (
|
|
|
116
129
|
GetArtistArtistAlbumsEdges,
|
|
117
130
|
GetArtistArtistAlbumsEdgesNode,
|
|
118
131
|
GetArtistArtistAlbumsPageInfo,
|
|
132
|
+
GetArtistArtistHeroPicture,
|
|
133
|
+
GetArtistArtistSocial,
|
|
119
134
|
GetArtistArtistTopTracks,
|
|
120
135
|
GetArtistArtistTopTracksEdges,
|
|
121
136
|
GetArtistArtistTopTracksEdgesNode,
|
|
@@ -151,6 +166,24 @@ from .get_audiobook_chapter import (
|
|
|
151
166
|
GetAudiobookChapterAudiobookChapterMediaRightsSub,
|
|
152
167
|
GetAudiobookChapterAudiobookChapterMediaToken,
|
|
153
168
|
)
|
|
169
|
+
from .get_banned_artists import (
|
|
170
|
+
GetBannedArtists,
|
|
171
|
+
GetBannedArtistsMe,
|
|
172
|
+
GetBannedArtistsMeBannedFromRecommendation,
|
|
173
|
+
GetBannedArtistsMeBannedFromRecommendationArtists,
|
|
174
|
+
GetBannedArtistsMeBannedFromRecommendationArtistsEdges,
|
|
175
|
+
GetBannedArtistsMeBannedFromRecommendationArtistsEdgesNode,
|
|
176
|
+
GetBannedArtistsMeBannedFromRecommendationArtistsPageInfo,
|
|
177
|
+
)
|
|
178
|
+
from .get_banned_tracks import (
|
|
179
|
+
GetBannedTracks,
|
|
180
|
+
GetBannedTracksMe,
|
|
181
|
+
GetBannedTracksMeBannedFromRecommendation,
|
|
182
|
+
GetBannedTracksMeBannedFromRecommendationTracks,
|
|
183
|
+
GetBannedTracksMeBannedFromRecommendationTracksEdges,
|
|
184
|
+
GetBannedTracksMeBannedFromRecommendationTracksEdgesNode,
|
|
185
|
+
GetBannedTracksMeBannedFromRecommendationTracksPageInfo,
|
|
186
|
+
)
|
|
154
187
|
from .get_charts import (
|
|
155
188
|
GetCharts,
|
|
156
189
|
GetChartsCharts,
|
|
@@ -270,6 +303,17 @@ from .get_flow_configs import (
|
|
|
270
303
|
GetFlowConfigsMeFlowConfigsMoodsEdgesNodeVisualsHardwareSquareIcon,
|
|
271
304
|
GetFlowConfigsMeFlowConfigsMoodsPageInfo,
|
|
272
305
|
)
|
|
306
|
+
from .get_flow_tuner import GetFlowTuner, GetFlowTunerMe, GetFlowTunerMeFlowTuner
|
|
307
|
+
from .get_infinite_track_mix import (
|
|
308
|
+
GetInfiniteTrackMix,
|
|
309
|
+
GetInfiniteTrackMixRawInfiniteTrackMix,
|
|
310
|
+
GetInfiniteTrackMixRawInfiniteTrackMixTracks,
|
|
311
|
+
)
|
|
312
|
+
from .get_latest_podcast_episodes import (
|
|
313
|
+
GetLatestPodcastEpisodes,
|
|
314
|
+
GetLatestPodcastEpisodesMe,
|
|
315
|
+
GetLatestPodcastEpisodesMeRawLatestPodcastEpisodes,
|
|
316
|
+
)
|
|
273
317
|
from .get_livestream import GetLivestream, GetLivestreamLivestream
|
|
274
318
|
from .get_made_for_me import (
|
|
275
319
|
GetMadeForMe,
|
|
@@ -472,6 +516,7 @@ from .get_track_mix import (
|
|
|
472
516
|
GetTrackMixTrackMixTracks,
|
|
473
517
|
GetTrackMixTrackMixTracksTrack,
|
|
474
518
|
)
|
|
519
|
+
from .get_tracks_by_ids import GetTracksByIds, GetTracksByIdsTracksByIds
|
|
475
520
|
from .get_user_charts import (
|
|
476
521
|
GetUserCharts,
|
|
477
522
|
GetUserChartsMe,
|
|
@@ -631,6 +676,20 @@ from .search_flows import (
|
|
|
631
676
|
SearchFlowsSearchResultsFlowConfigsEdgesNodeVisualsHardwareSquareIcon,
|
|
632
677
|
SearchFlowsSearchResultsFlowConfigsPageInfo,
|
|
633
678
|
)
|
|
679
|
+
from .set_flow_discovery_tuner import (
|
|
680
|
+
SetFlowDiscoveryTuner,
|
|
681
|
+
SetFlowDiscoveryTunerSetFlowDiscoveryTuner,
|
|
682
|
+
)
|
|
683
|
+
from .unban_artist_from_recommendation import (
|
|
684
|
+
UnbanArtistFromRecommendation,
|
|
685
|
+
UnbanArtistFromRecommendationUnbanArtistFromRecommendation,
|
|
686
|
+
UnbanArtistFromRecommendationUnbanArtistFromRecommendationArtist,
|
|
687
|
+
)
|
|
688
|
+
from .unban_track_from_recommendation import (
|
|
689
|
+
UnbanTrackFromRecommendation,
|
|
690
|
+
UnbanTrackFromRecommendationUnbanTrackFromRecommendation,
|
|
691
|
+
UnbanTrackFromRecommendationUnbanTrackFromRecommendationTrack,
|
|
692
|
+
)
|
|
634
693
|
from .unbookmark_podcast_episode import (
|
|
635
694
|
UnbookmarkPodcastEpisode,
|
|
636
695
|
UnbookmarkPodcastEpisodeUnbookmarkPodcastEpisode,
|
|
@@ -668,6 +727,7 @@ __all__ = [
|
|
|
668
727
|
"AlbumFieldsContributorsEdges",
|
|
669
728
|
"AlbumFieldsContributorsEdgesNodeArtist",
|
|
670
729
|
"AlbumFieldsCover",
|
|
730
|
+
"AlbumFieldsSubtypes",
|
|
671
731
|
"AlbumType",
|
|
672
732
|
"ArtistFields",
|
|
673
733
|
"ArtistFieldsBio",
|
|
@@ -680,6 +740,12 @@ __all__ = [
|
|
|
680
740
|
"AudiobookFieldsContributorsEdges",
|
|
681
741
|
"AudiobookFieldsContributorsEdgesNodeArtist",
|
|
682
742
|
"AudiobookFieldsCover",
|
|
743
|
+
"BanArtistFromRecommendation",
|
|
744
|
+
"BanArtistFromRecommendationBanArtistFromRecommendation",
|
|
745
|
+
"BanArtistFromRecommendationBanArtistFromRecommendationArtist",
|
|
746
|
+
"BanTrackFromRecommendation",
|
|
747
|
+
"BanTrackFromRecommendationBanTrackFromRecommendation",
|
|
748
|
+
"BanTrackFromRecommendationBanTrackFromRecommendationTrack",
|
|
683
749
|
"BaseModel",
|
|
684
750
|
"BookmarkPodcastEpisode",
|
|
685
751
|
"BookmarkPodcastEpisodeBookmarkPodcastEpisode",
|
|
@@ -691,6 +757,8 @@ __all__ = [
|
|
|
691
757
|
"DeezerGQLClient",
|
|
692
758
|
"DeletePlaylist",
|
|
693
759
|
"DeletePlaylistDeletePlaylist",
|
|
760
|
+
"DiscoveryTuner",
|
|
761
|
+
"DiscoveryTunerInput",
|
|
694
762
|
"GetAlbum",
|
|
695
763
|
"GetAlbumAlbum",
|
|
696
764
|
"GetAlbumAlbumFallback",
|
|
@@ -706,6 +774,8 @@ __all__ = [
|
|
|
706
774
|
"GetArtistArtistAlbumsEdges",
|
|
707
775
|
"GetArtistArtistAlbumsEdgesNode",
|
|
708
776
|
"GetArtistArtistAlbumsPageInfo",
|
|
777
|
+
"GetArtistArtistHeroPicture",
|
|
778
|
+
"GetArtistArtistSocial",
|
|
709
779
|
"GetArtistArtistTopTracks",
|
|
710
780
|
"GetArtistArtistTopTracksEdges",
|
|
711
781
|
"GetArtistArtistTopTracksEdgesNode",
|
|
@@ -734,6 +804,20 @@ __all__ = [
|
|
|
734
804
|
"GetAudiobookChapterAudiobookChapterMediaRightsAds",
|
|
735
805
|
"GetAudiobookChapterAudiobookChapterMediaRightsSub",
|
|
736
806
|
"GetAudiobookChapterAudiobookChapterMediaToken",
|
|
807
|
+
"GetBannedArtists",
|
|
808
|
+
"GetBannedArtistsMe",
|
|
809
|
+
"GetBannedArtistsMeBannedFromRecommendation",
|
|
810
|
+
"GetBannedArtistsMeBannedFromRecommendationArtists",
|
|
811
|
+
"GetBannedArtistsMeBannedFromRecommendationArtistsEdges",
|
|
812
|
+
"GetBannedArtistsMeBannedFromRecommendationArtistsEdgesNode",
|
|
813
|
+
"GetBannedArtistsMeBannedFromRecommendationArtistsPageInfo",
|
|
814
|
+
"GetBannedTracks",
|
|
815
|
+
"GetBannedTracksMe",
|
|
816
|
+
"GetBannedTracksMeBannedFromRecommendation",
|
|
817
|
+
"GetBannedTracksMeBannedFromRecommendationTracks",
|
|
818
|
+
"GetBannedTracksMeBannedFromRecommendationTracksEdges",
|
|
819
|
+
"GetBannedTracksMeBannedFromRecommendationTracksEdgesNode",
|
|
820
|
+
"GetBannedTracksMeBannedFromRecommendationTracksPageInfo",
|
|
737
821
|
"GetCharts",
|
|
738
822
|
"GetChartsCharts",
|
|
739
823
|
"GetChartsChartsCountry",
|
|
@@ -831,6 +915,15 @@ __all__ = [
|
|
|
831
915
|
"GetFlowMeFlowCover",
|
|
832
916
|
"GetFlowMeFlowTracks",
|
|
833
917
|
"GetFlowMeFlowTracksTrack",
|
|
918
|
+
"GetFlowTuner",
|
|
919
|
+
"GetFlowTunerMe",
|
|
920
|
+
"GetFlowTunerMeFlowTuner",
|
|
921
|
+
"GetInfiniteTrackMix",
|
|
922
|
+
"GetInfiniteTrackMixRawInfiniteTrackMix",
|
|
923
|
+
"GetInfiniteTrackMixRawInfiniteTrackMixTracks",
|
|
924
|
+
"GetLatestPodcastEpisodes",
|
|
925
|
+
"GetLatestPodcastEpisodesMe",
|
|
926
|
+
"GetLatestPodcastEpisodesMeRawLatestPodcastEpisodes",
|
|
834
927
|
"GetLivestream",
|
|
835
928
|
"GetLivestreamLivestream",
|
|
836
929
|
"GetMadeForMe",
|
|
@@ -1001,6 +1094,8 @@ __all__ = [
|
|
|
1001
1094
|
"GetTrackTrackMediaRightsAds",
|
|
1002
1095
|
"GetTrackTrackMediaRightsSub",
|
|
1003
1096
|
"GetTrackTrackMediaToken",
|
|
1097
|
+
"GetTracksByIds",
|
|
1098
|
+
"GetTracksByIdsTracksByIds",
|
|
1004
1099
|
"GetUserCharts",
|
|
1005
1100
|
"GetUserChartsMe",
|
|
1006
1101
|
"GetUserChartsMeCharts",
|
|
@@ -1140,6 +1235,8 @@ __all__ = [
|
|
|
1140
1235
|
"SearchSearchResultsTracksEdgesNodeMediaRights",
|
|
1141
1236
|
"SearchSearchResultsTracksEdgesNodeMediaRightsSub",
|
|
1142
1237
|
"SearchSearchResultsTracksPageInfo",
|
|
1238
|
+
"SetFlowDiscoveryTuner",
|
|
1239
|
+
"SetFlowDiscoveryTunerSetFlowDiscoveryTuner",
|
|
1143
1240
|
"TrackContributorRoles",
|
|
1144
1241
|
"TrackFields",
|
|
1145
1242
|
"TrackFieldsAlbum",
|
|
@@ -1151,6 +1248,12 @@ __all__ = [
|
|
|
1151
1248
|
"TrackFieldsMedia",
|
|
1152
1249
|
"TrackFieldsMediaRights",
|
|
1153
1250
|
"TrackFieldsMediaRightsSub",
|
|
1251
|
+
"UnbanArtistFromRecommendation",
|
|
1252
|
+
"UnbanArtistFromRecommendationUnbanArtistFromRecommendation",
|
|
1253
|
+
"UnbanArtistFromRecommendationUnbanArtistFromRecommendationArtist",
|
|
1254
|
+
"UnbanTrackFromRecommendation",
|
|
1255
|
+
"UnbanTrackFromRecommendationUnbanTrackFromRecommendation",
|
|
1256
|
+
"UnbanTrackFromRecommendationUnbanTrackFromRecommendationTrack",
|
|
1154
1257
|
"UnbookmarkPodcastEpisode",
|
|
1155
1258
|
"UnbookmarkPodcastEpisodeUnbookmarkPodcastEpisode",
|
|
1156
1259
|
"UnbookmarkPodcastEpisodeUnbookmarkPodcastEpisodeEpisode",
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# Generated by ariadne-codegen
|
|
2
2
|
# Source: queries
|
|
3
3
|
|
|
4
|
-
from typing import Any
|
|
5
|
-
|
|
6
4
|
from pydantic import Field
|
|
7
5
|
|
|
8
6
|
from .base_model import BaseModel
|
|
@@ -16,7 +14,7 @@ class AddAudiobookToFavorite(BaseModel):
|
|
|
16
14
|
|
|
17
15
|
class AddAudiobookToFavoriteAddAudiobookToFavorite(BaseModel):
|
|
18
16
|
id: str
|
|
19
|
-
favorited_at:
|
|
17
|
+
favorited_at: str = Field(alias="favoritedAt")
|
|
20
18
|
|
|
21
19
|
|
|
22
20
|
AddAudiobookToFavorite.model_rebuild()
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# Generated by ariadne-codegen
|
|
2
2
|
# Source: queries
|
|
3
3
|
|
|
4
|
-
from typing import Any
|
|
5
|
-
|
|
6
4
|
from pydantic import Field
|
|
7
5
|
|
|
8
6
|
from .base_model import BaseModel
|
|
@@ -16,7 +14,7 @@ class AddPodcastToFavorite(BaseModel):
|
|
|
16
14
|
|
|
17
15
|
class AddPodcastToFavoriteAddPodcastToFavorite(BaseModel):
|
|
18
16
|
podcast: "AddPodcastToFavoriteAddPodcastToFavoritePodcast"
|
|
19
|
-
favorited_at:
|
|
17
|
+
favorited_at: str = Field(alias="favoritedAt")
|
|
20
18
|
|
|
21
19
|
|
|
22
20
|
class AddPodcastToFavoriteAddPodcastToFavoritePodcast(BaseModel):
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Generated by ariadne-codegen
|
|
2
|
+
# Source: queries
|
|
3
|
+
|
|
4
|
+
from pydantic import Field
|
|
5
|
+
|
|
6
|
+
from .base_model import BaseModel
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class BanArtistFromRecommendation(BaseModel):
|
|
10
|
+
ban_artist_from_recommendation: "BanArtistFromRecommendationBanArtistFromRecommendation" = Field(
|
|
11
|
+
alias="banArtistFromRecommendation"
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class BanArtistFromRecommendationBanArtistFromRecommendation(BaseModel):
|
|
16
|
+
status: bool
|
|
17
|
+
artist: "BanArtistFromRecommendationBanArtistFromRecommendationArtist"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class BanArtistFromRecommendationBanArtistFromRecommendationArtist(BaseModel):
|
|
21
|
+
id: str
|
|
22
|
+
name: str
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
BanArtistFromRecommendation.model_rebuild()
|
|
26
|
+
BanArtistFromRecommendationBanArtistFromRecommendation.model_rebuild()
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Generated by ariadne-codegen
|
|
2
|
+
# Source: queries
|
|
3
|
+
|
|
4
|
+
from pydantic import Field
|
|
5
|
+
|
|
6
|
+
from .base_model import BaseModel
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class BanTrackFromRecommendation(BaseModel):
|
|
10
|
+
ban_track_from_recommendation: "BanTrackFromRecommendationBanTrackFromRecommendation" = Field(
|
|
11
|
+
alias="banTrackFromRecommendation"
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class BanTrackFromRecommendationBanTrackFromRecommendation(BaseModel):
|
|
16
|
+
status: bool
|
|
17
|
+
track: "BanTrackFromRecommendationBanTrackFromRecommendationTrack"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class BanTrackFromRecommendationBanTrackFromRecommendationTrack(BaseModel):
|
|
21
|
+
id: str
|
|
22
|
+
title: str
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
BanTrackFromRecommendation.model_rebuild()
|
|
26
|
+
BanTrackFromRecommendationBanTrackFromRecommendation.model_rebuild()
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Generated by ariadne-codegen
|
|
2
2
|
# Source: queries
|
|
3
3
|
|
|
4
|
-
from typing import
|
|
4
|
+
from typing import Optional
|
|
5
5
|
|
|
6
6
|
from pydantic import Field
|
|
7
7
|
|
|
@@ -22,7 +22,7 @@ class BookmarkPodcastEpisodeBookmarkPodcastEpisode(BaseModel):
|
|
|
22
22
|
class BookmarkPodcastEpisodeBookmarkPodcastEpisodeBookmark(BaseModel):
|
|
23
23
|
position: int
|
|
24
24
|
is_played: bool = Field(alias="isPlayed")
|
|
25
|
-
bookmarked_at:
|
|
25
|
+
bookmarked_at: str = Field(alias="bookmarkedAt")
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
BookmarkPodcastEpisode.model_rebuild()
|