deezer-python-gql 0.11.0__tar.gz → 0.12.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.
Files changed (89) hide show
  1. {deezer_python_gql-0.11.0/deezer_python_gql.egg-info → deezer_python_gql-0.12.0}/PKG-INFO +1 -1
  2. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/__init__.py +28 -8
  3. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/client.py +79 -163
  4. deezer_python_gql-0.12.0/deezer_python_gql/generated/search.py +263 -0
  5. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0/deezer_python_gql.egg-info}/PKG-INFO +1 -1
  6. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/pyproject.toml +1 -1
  7. deezer_python_gql-0.11.0/deezer_python_gql/generated/search.py +0 -183
  8. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/LICENSE +0 -0
  9. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/MANIFEST.in +0 -0
  10. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/README.md +0 -0
  11. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/__init__.py +0 -0
  12. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/base_client.py +0 -0
  13. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/add_album_to_favorite.py +0 -0
  14. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/add_artist_to_favorite.py +0 -0
  15. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/add_audiobook_to_favorite.py +0 -0
  16. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/add_playlist_to_favorite.py +0 -0
  17. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/add_podcast_to_favorite.py +0 -0
  18. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/add_track_to_favorite.py +0 -0
  19. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/add_tracks_to_playlist.py +0 -0
  20. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/base_client.py +0 -0
  21. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/base_model.py +0 -0
  22. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/bookmark_podcast_episode.py +0 -0
  23. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/create_playlist.py +0 -0
  24. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/delete_playlist.py +0 -0
  25. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/enums.py +0 -0
  26. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/fragments.py +0 -0
  27. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_album.py +0 -0
  28. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_artist.py +0 -0
  29. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_artist_mix.py +0 -0
  30. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_audiobook.py +0 -0
  31. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_audiobook_chapter.py +0 -0
  32. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_charts.py +0 -0
  33. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_favorite_albums.py +0 -0
  34. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_favorite_artists.py +0 -0
  35. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_favorite_audiobooks.py +0 -0
  36. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_favorite_playlists.py +0 -0
  37. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_favorite_podcasts.py +0 -0
  38. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_favorite_tracks.py +0 -0
  39. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_flow.py +0 -0
  40. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_flow_batch.py +0 -0
  41. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_flow_config_tracks.py +0 -0
  42. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_flow_configs.py +0 -0
  43. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_livestream.py +0 -0
  44. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_made_for_me.py +0 -0
  45. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_me.py +0 -0
  46. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_music_together_affinity.py +0 -0
  47. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_music_together_group.py +0 -0
  48. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_music_together_groups.py +0 -0
  49. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_personal_tracks.py +0 -0
  50. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_playlist.py +0 -0
  51. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_podcast.py +0 -0
  52. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_podcast_episode.py +0 -0
  53. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_podcast_episode_bookmarks.py +0 -0
  54. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_podcast_episodes_by_ids.py +0 -0
  55. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_recently_played.py +0 -0
  56. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_recommendations.py +0 -0
  57. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_similar_tracks.py +0 -0
  58. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_smart_tracklist.py +0 -0
  59. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_track.py +0 -0
  60. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_track_mix.py +0 -0
  61. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_user_charts.py +0 -0
  62. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/get_user_playlists.py +0 -0
  63. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/input_types.py +0 -0
  64. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/mark_as_not_played_podcast_episode.py +0 -0
  65. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/mark_as_played_podcast_episode.py +0 -0
  66. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/music_together_create_group.py +0 -0
  67. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/music_together_generate_group_name.py +0 -0
  68. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/music_together_join_group.py +0 -0
  69. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/music_together_leave_group.py +0 -0
  70. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/music_together_refresh_suggested_tracklist.py +0 -0
  71. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/music_together_update_group_settings.py +0 -0
  72. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/remove_album_from_favorite.py +0 -0
  73. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/remove_artist_from_favorite.py +0 -0
  74. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/remove_audiobook_from_favorite.py +0 -0
  75. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/remove_playlist_from_favorite.py +0 -0
  76. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/remove_podcast_from_favorite.py +0 -0
  77. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/remove_track_from_favorite.py +0 -0
  78. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/remove_tracks_from_playlist.py +0 -0
  79. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/search_flows.py +0 -0
  80. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/unbookmark_podcast_episode.py +0 -0
  81. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/generated/update_playlist.py +0 -0
  82. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql/py.typed +0 -0
  83. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql.egg-info/SOURCES.txt +0 -0
  84. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql.egg-info/dependency_links.txt +0 -0
  85. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql.egg-info/not-zip-safe +0 -0
  86. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql.egg-info/requires.txt +0 -0
  87. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/deezer_python_gql.egg-info/top_level.txt +0 -0
  88. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/setup.cfg +0 -0
  89. {deezer_python_gql-0.11.0 → deezer_python_gql-0.12.0}/tests/test_client.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deezer-python-gql
3
- Version: 0.11.0
3
+ Version: 0.12.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
@@ -564,30 +564,40 @@ from .search import (
564
564
  SearchSearchResultsAlbums,
565
565
  SearchSearchResultsAlbumsEdges,
566
566
  SearchSearchResultsAlbumsEdgesNode,
567
+ SearchSearchResultsAlbumsEdgesNodeContributors,
568
+ SearchSearchResultsAlbumsEdgesNodeContributorsEdges,
569
+ SearchSearchResultsAlbumsEdgesNodeContributorsEdgesNodeArtist,
570
+ SearchSearchResultsAlbumsEdgesNodeCover,
567
571
  SearchSearchResultsAlbumsPageInfo,
568
572
  SearchSearchResultsArtists,
569
573
  SearchSearchResultsArtistsEdges,
570
574
  SearchSearchResultsArtistsEdgesNode,
575
+ SearchSearchResultsArtistsEdgesNodePicture,
571
576
  SearchSearchResultsArtistsPageInfo,
572
577
  SearchSearchResultsLivestreams,
573
578
  SearchSearchResultsLivestreamsEdges,
574
579
  SearchSearchResultsLivestreamsEdgesNode,
580
+ SearchSearchResultsLivestreamsEdgesNodeCover,
575
581
  SearchSearchResultsLivestreamsPageInfo,
576
582
  SearchSearchResultsPlaylists,
577
583
  SearchSearchResultsPlaylistsEdges,
578
584
  SearchSearchResultsPlaylistsEdgesNode,
585
+ SearchSearchResultsPlaylistsEdgesNodeOwner,
586
+ SearchSearchResultsPlaylistsEdgesNodePicture,
579
587
  SearchSearchResultsPlaylistsPageInfo,
580
- SearchSearchResultsPodcastEpisodes,
581
- SearchSearchResultsPodcastEpisodesEdges,
582
- SearchSearchResultsPodcastEpisodesEdgesNode,
583
- SearchSearchResultsPodcastEpisodesPageInfo,
584
588
  SearchSearchResultsPodcasts,
585
589
  SearchSearchResultsPodcastsEdges,
586
590
  SearchSearchResultsPodcastsEdgesNode,
591
+ SearchSearchResultsPodcastsEdgesNodeCover,
587
592
  SearchSearchResultsPodcastsPageInfo,
588
593
  SearchSearchResultsTracks,
589
594
  SearchSearchResultsTracksEdges,
590
595
  SearchSearchResultsTracksEdgesNode,
596
+ SearchSearchResultsTracksEdgesNodeAlbum,
597
+ SearchSearchResultsTracksEdgesNodeAlbumCover,
598
+ SearchSearchResultsTracksEdgesNodeContributors,
599
+ SearchSearchResultsTracksEdgesNodeContributorsEdges,
600
+ SearchSearchResultsTracksEdgesNodeContributorsEdgesNodeArtist,
591
601
  SearchSearchResultsTracksPageInfo,
592
602
  )
593
603
  from .search_flows import (
@@ -1060,30 +1070,40 @@ __all__ = [
1060
1070
  "SearchSearchResultsAlbums",
1061
1071
  "SearchSearchResultsAlbumsEdges",
1062
1072
  "SearchSearchResultsAlbumsEdgesNode",
1073
+ "SearchSearchResultsAlbumsEdgesNodeContributors",
1074
+ "SearchSearchResultsAlbumsEdgesNodeContributorsEdges",
1075
+ "SearchSearchResultsAlbumsEdgesNodeContributorsEdgesNodeArtist",
1076
+ "SearchSearchResultsAlbumsEdgesNodeCover",
1063
1077
  "SearchSearchResultsAlbumsPageInfo",
1064
1078
  "SearchSearchResultsArtists",
1065
1079
  "SearchSearchResultsArtistsEdges",
1066
1080
  "SearchSearchResultsArtistsEdgesNode",
1081
+ "SearchSearchResultsArtistsEdgesNodePicture",
1067
1082
  "SearchSearchResultsArtistsPageInfo",
1068
1083
  "SearchSearchResultsLivestreams",
1069
1084
  "SearchSearchResultsLivestreamsEdges",
1070
1085
  "SearchSearchResultsLivestreamsEdgesNode",
1086
+ "SearchSearchResultsLivestreamsEdgesNodeCover",
1071
1087
  "SearchSearchResultsLivestreamsPageInfo",
1072
1088
  "SearchSearchResultsPlaylists",
1073
1089
  "SearchSearchResultsPlaylistsEdges",
1074
1090
  "SearchSearchResultsPlaylistsEdgesNode",
1091
+ "SearchSearchResultsPlaylistsEdgesNodeOwner",
1092
+ "SearchSearchResultsPlaylistsEdgesNodePicture",
1075
1093
  "SearchSearchResultsPlaylistsPageInfo",
1076
- "SearchSearchResultsPodcastEpisodes",
1077
- "SearchSearchResultsPodcastEpisodesEdges",
1078
- "SearchSearchResultsPodcastEpisodesEdgesNode",
1079
- "SearchSearchResultsPodcastEpisodesPageInfo",
1080
1094
  "SearchSearchResultsPodcasts",
1081
1095
  "SearchSearchResultsPodcastsEdges",
1082
1096
  "SearchSearchResultsPodcastsEdgesNode",
1097
+ "SearchSearchResultsPodcastsEdgesNodeCover",
1083
1098
  "SearchSearchResultsPodcastsPageInfo",
1084
1099
  "SearchSearchResultsTracks",
1085
1100
  "SearchSearchResultsTracksEdges",
1086
1101
  "SearchSearchResultsTracksEdgesNode",
1102
+ "SearchSearchResultsTracksEdgesNodeAlbum",
1103
+ "SearchSearchResultsTracksEdgesNodeAlbumCover",
1104
+ "SearchSearchResultsTracksEdgesNodeContributors",
1105
+ "SearchSearchResultsTracksEdgesNodeContributorsEdges",
1106
+ "SearchSearchResultsTracksEdgesNodeContributorsEdgesNodeArtist",
1087
1107
  "SearchSearchResultsTracksPageInfo",
1088
1108
  "TrackContributorRoles",
1089
1109
  "TrackFields",
@@ -3821,18 +3821,41 @@ class DeezerGQLClient(DeezerBaseClient):
3821
3821
  playlists_first: Union[Optional[int], UnsetType] = UNSET,
3822
3822
  livestreams_first: Union[Optional[int], UnsetType] = UNSET,
3823
3823
  podcasts_first: Union[Optional[int], UnsetType] = UNSET,
3824
- podcast_episodes_first: Union[Optional[int], UnsetType] = UNSET,
3825
3824
  **kwargs: Any,
3826
3825
  ) -> Optional[SearchSearch]:
3827
3826
  _query = gql("""
3828
- query Search($query: String!, $tracksFirst: Int = 20, $albumsFirst: Int = 20, $artistsFirst: Int = 20, $playlistsFirst: Int = 10, $livestreamsFirst: Int = 0, $podcastsFirst: Int = 0, $podcastEpisodesFirst: Int = 0) {
3827
+ query Search($query: String!, $tracksFirst: Int = 20, $albumsFirst: Int = 20, $artistsFirst: Int = 20, $playlistsFirst: Int = 10, $livestreamsFirst: Int = 0, $podcastsFirst: Int = 0) {
3829
3828
  search(query: $query) {
3830
3829
  results {
3831
3830
  tracks(first: $tracksFirst) {
3832
3831
  edges {
3833
3832
  cursor
3834
3833
  node {
3835
- ...TrackFields
3834
+ id
3835
+ title
3836
+ duration
3837
+ isExplicit
3838
+ isFavorite
3839
+ album {
3840
+ id
3841
+ displayTitle
3842
+ cover {
3843
+ id
3844
+ urls(pictureRequest: {width: 264, height: 264})
3845
+ }
3846
+ }
3847
+ contributors(first: 3, roles: [MAIN, FEATURED]) {
3848
+ edges {
3849
+ roles
3850
+ node {
3851
+ __typename
3852
+ ... on Artist {
3853
+ id
3854
+ name
3855
+ }
3856
+ }
3857
+ }
3858
+ }
3836
3859
  }
3837
3860
  }
3838
3861
  pageInfo {
@@ -3843,7 +3866,27 @@ class DeezerGQLClient(DeezerBaseClient):
3843
3866
  edges {
3844
3867
  cursor
3845
3868
  node {
3846
- ...AlbumFields
3869
+ id
3870
+ displayTitle
3871
+ type
3872
+ cover {
3873
+ id
3874
+ urls(pictureRequest: {width: 264, height: 264})
3875
+ }
3876
+ contributors(first: 3, roles: [MAIN]) {
3877
+ edges {
3878
+ node {
3879
+ __typename
3880
+ ... on Artist {
3881
+ id
3882
+ name
3883
+ }
3884
+ }
3885
+ }
3886
+ }
3887
+ releaseDate
3888
+ isExplicit
3889
+ isFavorite
3847
3890
  }
3848
3891
  }
3849
3892
  pageInfo {
@@ -3854,7 +3897,13 @@ class DeezerGQLClient(DeezerBaseClient):
3854
3897
  edges {
3855
3898
  cursor
3856
3899
  node {
3857
- ...ArtistFields
3900
+ id
3901
+ name
3902
+ isFavorite
3903
+ picture {
3904
+ id
3905
+ urls(pictureRequest: {width: 264, height: 264})
3906
+ }
3858
3907
  }
3859
3908
  }
3860
3909
  pageInfo {
@@ -3865,7 +3914,18 @@ class DeezerGQLClient(DeezerBaseClient):
3865
3914
  edges {
3866
3915
  cursor
3867
3916
  node {
3868
- ...PlaylistFields
3917
+ id
3918
+ title
3919
+ picture {
3920
+ id
3921
+ urls(pictureRequest: {width: 264, height: 264})
3922
+ }
3923
+ estimatedTracksCount
3924
+ isFavorite
3925
+ owner {
3926
+ id
3927
+ name
3928
+ }
3869
3929
  }
3870
3930
  }
3871
3931
  pageInfo {
@@ -3876,7 +3936,12 @@ class DeezerGQLClient(DeezerBaseClient):
3876
3936
  edges {
3877
3937
  cursor
3878
3938
  node {
3879
- ...LivestreamFields
3939
+ id
3940
+ name
3941
+ cover {
3942
+ id
3943
+ urls(pictureRequest: {width: 264, height: 264})
3944
+ }
3880
3945
  }
3881
3946
  }
3882
3947
  pageInfo {
@@ -3887,18 +3952,13 @@ class DeezerGQLClient(DeezerBaseClient):
3887
3952
  edges {
3888
3953
  cursor
3889
3954
  node {
3890
- ...PodcastFields
3891
- }
3892
- }
3893
- pageInfo {
3894
- ...PageInfoFields
3895
- }
3896
- }
3897
- podcastEpisodes(first: $podcastEpisodesFirst) {
3898
- edges {
3899
- cursor
3900
- node {
3901
- ...PodcastEpisodeFields
3955
+ id
3956
+ displayTitle
3957
+ cover {
3958
+ id
3959
+ urls(pictureRequest: {width: 264, height: 264})
3960
+ }
3961
+ isFavorite
3902
3962
  }
3903
3963
  }
3904
3964
  pageInfo {
@@ -3909,153 +3969,10 @@ class DeezerGQLClient(DeezerBaseClient):
3909
3969
  }
3910
3970
  }
3911
3971
 
3912
- fragment AlbumFields on Album {
3913
- id
3914
- displayTitle
3915
- type
3916
- cover {
3917
- id
3918
- urls(pictureRequest: {width: 264, height: 264})
3919
- }
3920
- contributors(first: 5, roles: [MAIN]) {
3921
- edges {
3922
- node {
3923
- ... on Artist {
3924
- id
3925
- name
3926
- }
3927
- }
3928
- }
3929
- }
3930
- releaseDate
3931
- isExplicit
3932
- isFavorite
3933
- fansCount
3934
- label
3935
- copyright
3936
- }
3937
-
3938
- fragment ArtistFields on Artist {
3939
- id
3940
- name
3941
- picture {
3942
- id
3943
- urls(pictureRequest: {width: 264, height: 264})
3944
- }
3945
- fansCount
3946
- isFavorite
3947
- bio {
3948
- summary
3949
- full
3950
- }
3951
- }
3952
-
3953
- fragment LivestreamFields on Livestream {
3954
- id
3955
- name
3956
- language
3957
- description
3958
- isOnStream
3959
- country
3960
- cover {
3961
- id
3962
- urls(pictureRequest: {width: 264, height: 264})
3963
- }
3964
- media {
3965
- url
3966
- codec {
3967
- type
3968
- bitrate
3969
- }
3970
- }
3971
- }
3972
-
3973
3972
  fragment PageInfoFields on PageInfo {
3974
3973
  hasNextPage
3975
3974
  endCursor
3976
3975
  }
3977
-
3978
- fragment PlaylistFields on Playlist {
3979
- id
3980
- title
3981
- picture {
3982
- id
3983
- urls(pictureRequest: {width: 264, height: 264})
3984
- }
3985
- estimatedTracksCount
3986
- fansCount
3987
- isFavorite
3988
- description
3989
- owner {
3990
- id
3991
- name
3992
- }
3993
- }
3994
-
3995
- fragment PodcastEpisodeFields on PodcastEpisode {
3996
- id
3997
- title
3998
- description
3999
- duration
4000
- cover {
4001
- id
4002
- urls(pictureRequest: {width: 264, height: 264})
4003
- }
4004
- publicationDate
4005
- media {
4006
- url
4007
- codec {
4008
- type
4009
- bitrate
4010
- }
4011
- }
4012
- }
4013
-
4014
- fragment PodcastFields on Podcast {
4015
- id
4016
- displayTitle
4017
- cover {
4018
- id
4019
- urls(pictureRequest: {width: 264, height: 264})
4020
- }
4021
- description
4022
- isExplicit
4023
- isFavorite
4024
- type
4025
- }
4026
-
4027
- fragment TrackFields on Track {
4028
- id
4029
- title
4030
- ISRC
4031
- diskInfo {
4032
- diskNumber
4033
- trackNumber
4034
- }
4035
- duration
4036
- isExplicit
4037
- isFavorite
4038
- popularity
4039
- album {
4040
- id
4041
- displayTitle
4042
- cover {
4043
- id
4044
- urls(pictureRequest: {width: 264, height: 264})
4045
- }
4046
- }
4047
- contributors(first: 10, roles: [MAIN, FEATURED]) {
4048
- edges {
4049
- roles
4050
- node {
4051
- ... on Artist {
4052
- id
4053
- name
4054
- }
4055
- }
4056
- }
4057
- }
4058
- }
4059
3976
  """)
4060
3977
  variables: dict[str, object] = {
4061
3978
  "query": query,
@@ -4065,7 +3982,6 @@ class DeezerGQLClient(DeezerBaseClient):
4065
3982
  "playlistsFirst": playlists_first,
4066
3983
  "livestreamsFirst": livestreams_first,
4067
3984
  "podcastsFirst": podcasts_first,
4068
- "podcastEpisodesFirst": podcast_episodes_first,
4069
3985
  }
4070
3986
  response = await self.execute(
4071
3987
  query=_query, operation_name="Search", variables=variables, **kwargs
@@ -0,0 +1,263 @@
1
+ # Generated by ariadne-codegen
2
+ # Source: queries
3
+
4
+ from typing import Any, Literal, Optional, Union
5
+
6
+ from pydantic import Field
7
+
8
+ from .base_model import BaseModel
9
+ from .enums import AlbumType, TrackContributorRoles
10
+ from .fragments import PageInfoFields
11
+
12
+
13
+ class Search(BaseModel):
14
+ search: Optional["SearchSearch"]
15
+
16
+
17
+ class SearchSearch(BaseModel):
18
+ results: "SearchSearchResults"
19
+
20
+
21
+ class SearchSearchResults(BaseModel):
22
+ tracks: "SearchSearchResultsTracks"
23
+ albums: "SearchSearchResultsAlbums"
24
+ artists: "SearchSearchResultsArtists"
25
+ playlists: "SearchSearchResultsPlaylists"
26
+ livestreams: "SearchSearchResultsLivestreams"
27
+ podcasts: "SearchSearchResultsPodcasts"
28
+
29
+
30
+ class SearchSearchResultsTracks(BaseModel):
31
+ edges: list["SearchSearchResultsTracksEdges"]
32
+ page_info: "SearchSearchResultsTracksPageInfo" = Field(alias="pageInfo")
33
+
34
+
35
+ class SearchSearchResultsTracksEdges(BaseModel):
36
+ cursor: str
37
+ node: Optional["SearchSearchResultsTracksEdgesNode"]
38
+
39
+
40
+ class SearchSearchResultsTracksEdgesNode(BaseModel):
41
+ id: str
42
+ title: str
43
+ duration: int
44
+ is_explicit: bool = Field(alias="isExplicit")
45
+ is_favorite: Optional[bool] = Field(alias="isFavorite")
46
+ album: Optional["SearchSearchResultsTracksEdgesNodeAlbum"]
47
+ contributors: "SearchSearchResultsTracksEdgesNodeContributors"
48
+
49
+
50
+ class SearchSearchResultsTracksEdgesNodeAlbum(BaseModel):
51
+ id: str
52
+ display_title: str = Field(alias="displayTitle")
53
+ cover: Optional["SearchSearchResultsTracksEdgesNodeAlbumCover"]
54
+
55
+
56
+ class SearchSearchResultsTracksEdgesNodeAlbumCover(BaseModel):
57
+ id: str
58
+ urls: list[str]
59
+
60
+
61
+ class SearchSearchResultsTracksEdgesNodeContributors(BaseModel):
62
+ edges: list["SearchSearchResultsTracksEdgesNodeContributorsEdges"]
63
+
64
+
65
+ class SearchSearchResultsTracksEdgesNodeContributorsEdges(BaseModel):
66
+ roles: list[TrackContributorRoles]
67
+ node: Union["SearchSearchResultsTracksEdgesNodeContributorsEdgesNodeArtist",] = (
68
+ Field(discriminator="typename__")
69
+ )
70
+
71
+
72
+ class SearchSearchResultsTracksEdgesNodeContributorsEdgesNodeArtist(BaseModel):
73
+ typename__: Literal["Artist"] = Field(alias="__typename")
74
+ id: str
75
+ name: str
76
+
77
+
78
+ class SearchSearchResultsTracksPageInfo(PageInfoFields):
79
+ pass
80
+
81
+
82
+ class SearchSearchResultsAlbums(BaseModel):
83
+ edges: list["SearchSearchResultsAlbumsEdges"]
84
+ page_info: "SearchSearchResultsAlbumsPageInfo" = Field(alias="pageInfo")
85
+
86
+
87
+ class SearchSearchResultsAlbumsEdges(BaseModel):
88
+ cursor: str
89
+ node: Optional["SearchSearchResultsAlbumsEdgesNode"]
90
+
91
+
92
+ class SearchSearchResultsAlbumsEdgesNode(BaseModel):
93
+ id: str
94
+ display_title: str = Field(alias="displayTitle")
95
+ type_: AlbumType = Field(alias="type")
96
+ cover: Optional["SearchSearchResultsAlbumsEdgesNodeCover"]
97
+ contributors: "SearchSearchResultsAlbumsEdgesNodeContributors"
98
+ release_date: Optional[Any] = Field(alias="releaseDate")
99
+ is_explicit: Optional[bool] = Field(alias="isExplicit")
100
+ is_favorite: Optional[bool] = Field(alias="isFavorite")
101
+
102
+
103
+ class SearchSearchResultsAlbumsEdgesNodeCover(BaseModel):
104
+ id: str
105
+ urls: list[str]
106
+
107
+
108
+ class SearchSearchResultsAlbumsEdgesNodeContributors(BaseModel):
109
+ edges: list["SearchSearchResultsAlbumsEdgesNodeContributorsEdges"]
110
+
111
+
112
+ class SearchSearchResultsAlbumsEdgesNodeContributorsEdges(BaseModel):
113
+ node: Union["SearchSearchResultsAlbumsEdgesNodeContributorsEdgesNodeArtist",] = (
114
+ Field(discriminator="typename__")
115
+ )
116
+
117
+
118
+ class SearchSearchResultsAlbumsEdgesNodeContributorsEdgesNodeArtist(BaseModel):
119
+ typename__: Literal["Artist"] = Field(alias="__typename")
120
+ id: str
121
+ name: str
122
+
123
+
124
+ class SearchSearchResultsAlbumsPageInfo(PageInfoFields):
125
+ pass
126
+
127
+
128
+ class SearchSearchResultsArtists(BaseModel):
129
+ edges: list["SearchSearchResultsArtistsEdges"]
130
+ page_info: "SearchSearchResultsArtistsPageInfo" = Field(alias="pageInfo")
131
+
132
+
133
+ class SearchSearchResultsArtistsEdges(BaseModel):
134
+ cursor: str
135
+ node: Optional["SearchSearchResultsArtistsEdgesNode"]
136
+
137
+
138
+ class SearchSearchResultsArtistsEdgesNode(BaseModel):
139
+ id: str
140
+ name: str
141
+ is_favorite: Optional[bool] = Field(alias="isFavorite")
142
+ picture: Optional["SearchSearchResultsArtistsEdgesNodePicture"]
143
+
144
+
145
+ class SearchSearchResultsArtistsEdgesNodePicture(BaseModel):
146
+ id: str
147
+ urls: list[str]
148
+
149
+
150
+ class SearchSearchResultsArtistsPageInfo(PageInfoFields):
151
+ pass
152
+
153
+
154
+ class SearchSearchResultsPlaylists(BaseModel):
155
+ edges: list["SearchSearchResultsPlaylistsEdges"]
156
+ page_info: "SearchSearchResultsPlaylistsPageInfo" = Field(alias="pageInfo")
157
+
158
+
159
+ class SearchSearchResultsPlaylistsEdges(BaseModel):
160
+ cursor: str
161
+ node: Optional["SearchSearchResultsPlaylistsEdgesNode"]
162
+
163
+
164
+ class SearchSearchResultsPlaylistsEdgesNode(BaseModel):
165
+ id: str
166
+ title: str
167
+ picture: Optional["SearchSearchResultsPlaylistsEdgesNodePicture"]
168
+ estimated_tracks_count: int = Field(alias="estimatedTracksCount")
169
+ is_favorite: Optional[bool] = Field(alias="isFavorite")
170
+ owner: Optional["SearchSearchResultsPlaylistsEdgesNodeOwner"]
171
+
172
+
173
+ class SearchSearchResultsPlaylistsEdgesNodePicture(BaseModel):
174
+ id: str
175
+ urls: list[str]
176
+
177
+
178
+ class SearchSearchResultsPlaylistsEdgesNodeOwner(BaseModel):
179
+ id: str
180
+ name: str
181
+
182
+
183
+ class SearchSearchResultsPlaylistsPageInfo(PageInfoFields):
184
+ pass
185
+
186
+
187
+ class SearchSearchResultsLivestreams(BaseModel):
188
+ edges: list["SearchSearchResultsLivestreamsEdges"]
189
+ page_info: "SearchSearchResultsLivestreamsPageInfo" = Field(alias="pageInfo")
190
+
191
+
192
+ class SearchSearchResultsLivestreamsEdges(BaseModel):
193
+ cursor: str
194
+ node: Optional["SearchSearchResultsLivestreamsEdgesNode"]
195
+
196
+
197
+ class SearchSearchResultsLivestreamsEdgesNode(BaseModel):
198
+ id: str
199
+ name: str
200
+ cover: Optional["SearchSearchResultsLivestreamsEdgesNodeCover"]
201
+
202
+
203
+ class SearchSearchResultsLivestreamsEdgesNodeCover(BaseModel):
204
+ id: str
205
+ urls: list[str]
206
+
207
+
208
+ class SearchSearchResultsLivestreamsPageInfo(PageInfoFields):
209
+ pass
210
+
211
+
212
+ class SearchSearchResultsPodcasts(BaseModel):
213
+ edges: list["SearchSearchResultsPodcastsEdges"]
214
+ page_info: "SearchSearchResultsPodcastsPageInfo" = Field(alias="pageInfo")
215
+
216
+
217
+ class SearchSearchResultsPodcastsEdges(BaseModel):
218
+ cursor: str
219
+ node: Optional["SearchSearchResultsPodcastsEdgesNode"]
220
+
221
+
222
+ class SearchSearchResultsPodcastsEdgesNode(BaseModel):
223
+ id: str
224
+ display_title: str = Field(alias="displayTitle")
225
+ cover: Optional["SearchSearchResultsPodcastsEdgesNodeCover"]
226
+ is_favorite: bool = Field(alias="isFavorite")
227
+
228
+
229
+ class SearchSearchResultsPodcastsEdgesNodeCover(BaseModel):
230
+ id: str
231
+ urls: list[str]
232
+
233
+
234
+ class SearchSearchResultsPodcastsPageInfo(PageInfoFields):
235
+ pass
236
+
237
+
238
+ Search.model_rebuild()
239
+ SearchSearch.model_rebuild()
240
+ SearchSearchResults.model_rebuild()
241
+ SearchSearchResultsTracks.model_rebuild()
242
+ SearchSearchResultsTracksEdges.model_rebuild()
243
+ SearchSearchResultsTracksEdgesNode.model_rebuild()
244
+ SearchSearchResultsTracksEdgesNodeAlbum.model_rebuild()
245
+ SearchSearchResultsTracksEdgesNodeContributors.model_rebuild()
246
+ SearchSearchResultsTracksEdgesNodeContributorsEdges.model_rebuild()
247
+ SearchSearchResultsAlbums.model_rebuild()
248
+ SearchSearchResultsAlbumsEdges.model_rebuild()
249
+ SearchSearchResultsAlbumsEdgesNode.model_rebuild()
250
+ SearchSearchResultsAlbumsEdgesNodeContributors.model_rebuild()
251
+ SearchSearchResultsAlbumsEdgesNodeContributorsEdges.model_rebuild()
252
+ SearchSearchResultsArtists.model_rebuild()
253
+ SearchSearchResultsArtistsEdges.model_rebuild()
254
+ SearchSearchResultsArtistsEdgesNode.model_rebuild()
255
+ SearchSearchResultsPlaylists.model_rebuild()
256
+ SearchSearchResultsPlaylistsEdges.model_rebuild()
257
+ SearchSearchResultsPlaylistsEdgesNode.model_rebuild()
258
+ SearchSearchResultsLivestreams.model_rebuild()
259
+ SearchSearchResultsLivestreamsEdges.model_rebuild()
260
+ SearchSearchResultsLivestreamsEdgesNode.model_rebuild()
261
+ SearchSearchResultsPodcasts.model_rebuild()
262
+ SearchSearchResultsPodcastsEdges.model_rebuild()
263
+ SearchSearchResultsPodcastsEdgesNode.model_rebuild()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deezer-python-gql
3
- Version: 0.11.0
3
+ Version: 0.12.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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "deezer-python-gql"
3
- version = "0.11.0"
3
+ version = "0.12.0"
4
4
  description = "Async typed Python client for Deezer's Pipe GraphQL API."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -1,183 +0,0 @@
1
- # Generated by ariadne-codegen
2
- # Source: queries
3
-
4
- from typing import Optional
5
-
6
- from pydantic import Field
7
-
8
- from .base_model import BaseModel
9
- from .fragments import (
10
- AlbumFields,
11
- ArtistFields,
12
- LivestreamFields,
13
- PageInfoFields,
14
- PlaylistFields,
15
- PodcastEpisodeFields,
16
- PodcastFields,
17
- TrackFields,
18
- )
19
-
20
-
21
- class Search(BaseModel):
22
- search: Optional["SearchSearch"]
23
-
24
-
25
- class SearchSearch(BaseModel):
26
- results: "SearchSearchResults"
27
-
28
-
29
- class SearchSearchResults(BaseModel):
30
- tracks: "SearchSearchResultsTracks"
31
- albums: "SearchSearchResultsAlbums"
32
- artists: "SearchSearchResultsArtists"
33
- playlists: "SearchSearchResultsPlaylists"
34
- livestreams: "SearchSearchResultsLivestreams"
35
- podcasts: "SearchSearchResultsPodcasts"
36
- podcast_episodes: "SearchSearchResultsPodcastEpisodes" = Field(
37
- alias="podcastEpisodes"
38
- )
39
-
40
-
41
- class SearchSearchResultsTracks(BaseModel):
42
- edges: list["SearchSearchResultsTracksEdges"]
43
- page_info: "SearchSearchResultsTracksPageInfo" = Field(alias="pageInfo")
44
-
45
-
46
- class SearchSearchResultsTracksEdges(BaseModel):
47
- cursor: str
48
- node: Optional["SearchSearchResultsTracksEdgesNode"]
49
-
50
-
51
- class SearchSearchResultsTracksEdgesNode(TrackFields):
52
- pass
53
-
54
-
55
- class SearchSearchResultsTracksPageInfo(PageInfoFields):
56
- pass
57
-
58
-
59
- class SearchSearchResultsAlbums(BaseModel):
60
- edges: list["SearchSearchResultsAlbumsEdges"]
61
- page_info: "SearchSearchResultsAlbumsPageInfo" = Field(alias="pageInfo")
62
-
63
-
64
- class SearchSearchResultsAlbumsEdges(BaseModel):
65
- cursor: str
66
- node: Optional["SearchSearchResultsAlbumsEdgesNode"]
67
-
68
-
69
- class SearchSearchResultsAlbumsEdgesNode(AlbumFields):
70
- pass
71
-
72
-
73
- class SearchSearchResultsAlbumsPageInfo(PageInfoFields):
74
- pass
75
-
76
-
77
- class SearchSearchResultsArtists(BaseModel):
78
- edges: list["SearchSearchResultsArtistsEdges"]
79
- page_info: "SearchSearchResultsArtistsPageInfo" = Field(alias="pageInfo")
80
-
81
-
82
- class SearchSearchResultsArtistsEdges(BaseModel):
83
- cursor: str
84
- node: Optional["SearchSearchResultsArtistsEdgesNode"]
85
-
86
-
87
- class SearchSearchResultsArtistsEdgesNode(ArtistFields):
88
- pass
89
-
90
-
91
- class SearchSearchResultsArtistsPageInfo(PageInfoFields):
92
- pass
93
-
94
-
95
- class SearchSearchResultsPlaylists(BaseModel):
96
- edges: list["SearchSearchResultsPlaylistsEdges"]
97
- page_info: "SearchSearchResultsPlaylistsPageInfo" = Field(alias="pageInfo")
98
-
99
-
100
- class SearchSearchResultsPlaylistsEdges(BaseModel):
101
- cursor: str
102
- node: Optional["SearchSearchResultsPlaylistsEdgesNode"]
103
-
104
-
105
- class SearchSearchResultsPlaylistsEdgesNode(PlaylistFields):
106
- pass
107
-
108
-
109
- class SearchSearchResultsPlaylistsPageInfo(PageInfoFields):
110
- pass
111
-
112
-
113
- class SearchSearchResultsLivestreams(BaseModel):
114
- edges: list["SearchSearchResultsLivestreamsEdges"]
115
- page_info: "SearchSearchResultsLivestreamsPageInfo" = Field(alias="pageInfo")
116
-
117
-
118
- class SearchSearchResultsLivestreamsEdges(BaseModel):
119
- cursor: str
120
- node: Optional["SearchSearchResultsLivestreamsEdgesNode"]
121
-
122
-
123
- class SearchSearchResultsLivestreamsEdgesNode(LivestreamFields):
124
- pass
125
-
126
-
127
- class SearchSearchResultsLivestreamsPageInfo(PageInfoFields):
128
- pass
129
-
130
-
131
- class SearchSearchResultsPodcasts(BaseModel):
132
- edges: list["SearchSearchResultsPodcastsEdges"]
133
- page_info: "SearchSearchResultsPodcastsPageInfo" = Field(alias="pageInfo")
134
-
135
-
136
- class SearchSearchResultsPodcastsEdges(BaseModel):
137
- cursor: str
138
- node: Optional["SearchSearchResultsPodcastsEdgesNode"]
139
-
140
-
141
- class SearchSearchResultsPodcastsEdgesNode(PodcastFields):
142
- pass
143
-
144
-
145
- class SearchSearchResultsPodcastsPageInfo(PageInfoFields):
146
- pass
147
-
148
-
149
- class SearchSearchResultsPodcastEpisodes(BaseModel):
150
- edges: list["SearchSearchResultsPodcastEpisodesEdges"]
151
- page_info: "SearchSearchResultsPodcastEpisodesPageInfo" = Field(alias="pageInfo")
152
-
153
-
154
- class SearchSearchResultsPodcastEpisodesEdges(BaseModel):
155
- cursor: str
156
- node: Optional["SearchSearchResultsPodcastEpisodesEdgesNode"]
157
-
158
-
159
- class SearchSearchResultsPodcastEpisodesEdgesNode(PodcastEpisodeFields):
160
- pass
161
-
162
-
163
- class SearchSearchResultsPodcastEpisodesPageInfo(PageInfoFields):
164
- pass
165
-
166
-
167
- Search.model_rebuild()
168
- SearchSearch.model_rebuild()
169
- SearchSearchResults.model_rebuild()
170
- SearchSearchResultsTracks.model_rebuild()
171
- SearchSearchResultsTracksEdges.model_rebuild()
172
- SearchSearchResultsAlbums.model_rebuild()
173
- SearchSearchResultsAlbumsEdges.model_rebuild()
174
- SearchSearchResultsArtists.model_rebuild()
175
- SearchSearchResultsArtistsEdges.model_rebuild()
176
- SearchSearchResultsPlaylists.model_rebuild()
177
- SearchSearchResultsPlaylistsEdges.model_rebuild()
178
- SearchSearchResultsLivestreams.model_rebuild()
179
- SearchSearchResultsLivestreamsEdges.model_rebuild()
180
- SearchSearchResultsPodcasts.model_rebuild()
181
- SearchSearchResultsPodcastsEdges.model_rebuild()
182
- SearchSearchResultsPodcastEpisodes.model_rebuild()
183
- SearchSearchResultsPodcastEpisodesEdges.model_rebuild()