plex-api-client 0.13.1__tar.gz → 0.15.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 (205) hide show
  1. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/PKG-INFO +29 -3
  2. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/README-PYPI.md +28 -2
  3. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/pyproject.toml +4 -1
  4. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/authentication.py +30 -24
  5. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/hubs.py +180 -2
  6. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/library.py +42 -36
  7. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/__init__.py +16 -16
  8. plex_api_client-0.13.1/src/plex_api_client/models/errors/getrecentlyadded.py → plex_api_client-0.15.0/src/plex_api_client/models/errors/get_recently_added_library.py +16 -16
  9. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/__init__.py +256 -56
  10. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/get_all_libraries.py +2 -0
  11. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/get_library_details.py +22 -18
  12. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/get_library_items.py +571 -97
  13. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/get_meta_data_by_rating_key.py +6 -4
  14. plex_api_client-0.15.0/src/plex_api_client/models/operations/get_recently_added.py +1240 -0
  15. plex_api_client-0.15.0/src/plex_api_client/models/operations/get_recently_added_library.py +646 -0
  16. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/get_search_library.py +3 -3
  17. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/get_server_resources.py +1 -1
  18. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getcompanionsdata.py +1 -1
  19. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getgeodata.py +1 -1
  20. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getpin.py +35 -1
  21. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/gettokenbypinid.py +97 -2
  22. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/gettokendetails.py +4 -4
  23. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getuserfriends.py +1 -1
  24. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/post_users_sign_in_data.py +115 -5
  25. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/plex.py +34 -12
  26. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/sdk.py +28 -1
  27. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/sdkconfiguration.py +3 -3
  28. plex_api_client-0.13.1/src/plex_api_client/models/operations/getrecentlyadded.py +0 -387
  29. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/LICENSE.md +0 -0
  30. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/py.typed +0 -0
  31. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/__init__.py +0 -0
  32. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/_hooks/__init__.py +0 -0
  33. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/_hooks/registration.py +0 -0
  34. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/_hooks/sdkhooks.py +0 -0
  35. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/_hooks/types.py +0 -0
  36. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/activities.py +0 -0
  37. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/basesdk.py +0 -0
  38. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/butler.py +0 -0
  39. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/httpclient.py +0 -0
  40. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/log.py +0 -0
  41. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/media.py +0 -0
  42. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/components/__init__.py +0 -0
  43. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/components/security.py +0 -0
  44. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/addplaylistcontents.py +0 -0
  45. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/applyupdates.py +0 -0
  46. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/cancelserveractivities.py +0 -0
  47. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/checkforupdates.py +0 -0
  48. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/clearplaylistcontents.py +0 -0
  49. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/createplaylist.py +0 -0
  50. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/deletelibrary.py +0 -0
  51. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/deleteplaylist.py +0 -0
  52. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/enablepapertrail.py +0 -0
  53. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/get_all_libraries.py +0 -0
  54. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/get_banner_image.py +0 -0
  55. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/get_library_details.py +0 -0
  56. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/get_library_items.py +0 -0
  57. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/get_media_providers.py +0 -0
  58. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/get_meta_data_by_rating_key.py +0 -0
  59. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/get_refresh_library_metadata.py +0 -0
  60. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/get_search_library.py +0 -0
  61. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/get_server_identity.py +0 -0
  62. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/get_server_resources.py +0 -0
  63. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/get_thumb_image.py +0 -0
  64. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/get_watch_list.py +0 -0
  65. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getavailableclients.py +0 -0
  66. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getbandwidthstatistics.py +0 -0
  67. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getbutlertasks.py +0 -0
  68. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getcompanionsdata.py +0 -0
  69. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getdevices.py +0 -0
  70. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getfilehash.py +0 -0
  71. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getgeodata.py +0 -0
  72. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getglobalhubs.py +0 -0
  73. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/gethomedata.py +0 -0
  74. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getlibraryhubs.py +0 -0
  75. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getmetadatachildren.py +0 -0
  76. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getmyplexaccount.py +0 -0
  77. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getondeck.py +0 -0
  78. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getpin.py +0 -0
  79. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getplaylist.py +0 -0
  80. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getplaylistcontents.py +0 -0
  81. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getplaylists.py +0 -0
  82. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getresizedphoto.py +0 -0
  83. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getresourcesstatistics.py +0 -0
  84. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getsearchresults.py +0 -0
  85. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getserveractivities.py +0 -0
  86. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getservercapabilities.py +0 -0
  87. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getserverlist.py +0 -0
  88. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getserverpreferences.py +0 -0
  89. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getsessionhistory.py +0 -0
  90. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getsessions.py +0 -0
  91. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getsourceconnectioninformation.py +0 -0
  92. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getstatistics.py +0 -0
  93. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/gettimeline.py +0 -0
  94. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/gettokenbypinid.py +0 -0
  95. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/gettokendetails.py +0 -0
  96. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/gettopwatchedcontent.py +0 -0
  97. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/gettranscodesessions.py +0 -0
  98. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/gettransienttoken.py +0 -0
  99. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getupdatestatus.py +0 -0
  100. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/getuserfriends.py +0 -0
  101. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/logline.py +0 -0
  102. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/logmultiline.py +0 -0
  103. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/markplayed.py +0 -0
  104. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/markunplayed.py +0 -0
  105. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/performsearch.py +0 -0
  106. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/performvoicesearch.py +0 -0
  107. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/post_users_sign_in_data.py +0 -0
  108. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/sdkerror.py +0 -0
  109. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/startalltasks.py +0 -0
  110. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/starttask.py +0 -0
  111. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/startuniversaltranscode.py +0 -0
  112. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/stopalltasks.py +0 -0
  113. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/stoptask.py +0 -0
  114. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/stoptranscodesession.py +0 -0
  115. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/updateplaylist.py +0 -0
  116. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/updateplayprogress.py +0 -0
  117. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/errors/uploadplaylist.py +0 -0
  118. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/internal/__init__.py +0 -0
  119. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/internal/globals.py +0 -0
  120. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/addplaylistcontents.py +0 -0
  121. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/applyupdates.py +0 -0
  122. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/cancelserveractivities.py +0 -0
  123. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/checkforupdates.py +0 -0
  124. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/clearplaylistcontents.py +0 -0
  125. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/createplaylist.py +0 -0
  126. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/deletelibrary.py +0 -0
  127. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/deleteplaylist.py +0 -0
  128. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/enablepapertrail.py +0 -0
  129. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/get_banner_image.py +0 -0
  130. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/get_media_providers.py +0 -0
  131. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/get_refresh_library_metadata.py +0 -0
  132. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/get_server_identity.py +0 -0
  133. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/get_thumb_image.py +0 -0
  134. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/get_watch_list.py +0 -0
  135. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getavailableclients.py +0 -0
  136. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getbandwidthstatistics.py +0 -0
  137. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getbutlertasks.py +0 -0
  138. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getdevices.py +0 -0
  139. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getfilehash.py +0 -0
  140. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getglobalhubs.py +0 -0
  141. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/gethomedata.py +0 -0
  142. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getlibraryhubs.py +0 -0
  143. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getmetadatachildren.py +0 -0
  144. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getmyplexaccount.py +0 -0
  145. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getondeck.py +0 -0
  146. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getplaylist.py +0 -0
  147. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getplaylistcontents.py +0 -0
  148. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getplaylists.py +0 -0
  149. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getresizedphoto.py +0 -0
  150. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getresourcesstatistics.py +0 -0
  151. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getsearchresults.py +0 -0
  152. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getserveractivities.py +0 -0
  153. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getservercapabilities.py +0 -0
  154. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getserverlist.py +0 -0
  155. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getserverpreferences.py +0 -0
  156. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getsessionhistory.py +0 -0
  157. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getsessions.py +0 -0
  158. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getsourceconnectioninformation.py +0 -0
  159. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getstatistics.py +0 -0
  160. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/gettimeline.py +0 -0
  161. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/gettopwatchedcontent.py +0 -0
  162. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/gettranscodesessions.py +0 -0
  163. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/gettransienttoken.py +0 -0
  164. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/getupdatestatus.py +0 -0
  165. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/logline.py +0 -0
  166. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/logmultiline.py +0 -0
  167. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/markplayed.py +0 -0
  168. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/markunplayed.py +0 -0
  169. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/performsearch.py +0 -0
  170. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/performvoicesearch.py +0 -0
  171. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/startalltasks.py +0 -0
  172. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/starttask.py +0 -0
  173. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/startuniversaltranscode.py +0 -0
  174. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/stopalltasks.py +0 -0
  175. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/stoptask.py +0 -0
  176. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/stoptranscodesession.py +0 -0
  177. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/updateplaylist.py +0 -0
  178. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/updateplayprogress.py +0 -0
  179. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/models/operations/uploadplaylist.py +0 -0
  180. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/playlists.py +0 -0
  181. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/py.typed +0 -0
  182. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/search.py +0 -0
  183. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/server.py +0 -0
  184. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/sessions.py +0 -0
  185. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/statistics.py +0 -0
  186. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/types/__init__.py +0 -0
  187. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/types/basemodel.py +0 -0
  188. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/updater.py +0 -0
  189. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/utils/__init__.py +0 -0
  190. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/utils/annotations.py +0 -0
  191. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/utils/enums.py +0 -0
  192. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/utils/eventstreaming.py +0 -0
  193. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/utils/forms.py +0 -0
  194. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/utils/headers.py +0 -0
  195. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/utils/logger.py +0 -0
  196. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/utils/metadata.py +0 -0
  197. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/utils/queryparams.py +0 -0
  198. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/utils/requestbodies.py +0 -0
  199. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/utils/retries.py +0 -0
  200. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/utils/security.py +0 -0
  201. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/utils/serializers.py +0 -0
  202. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/utils/url.py +0 -0
  203. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/utils/values.py +0 -0
  204. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/video.py +0 -0
  205. {plex_api_client-0.13.1 → plex_api_client-0.15.0}/src/plex_api_client/watchlist.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: plex-api-client
3
- Version: 0.13.1
3
+ Version: 0.15.0
4
4
  Summary: Python Client SDK Generated by Speakeasy
5
5
  Home-page: https://github.com/LukeHagar/plexpy.git
6
6
  Author: Speakeasy
@@ -33,6 +33,31 @@ Description-Content-Type: text/markdown
33
33
  ## Summary
34
34
 
35
35
  Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server
36
+
37
+ # Plex Media Server OpenAPI Specification
38
+
39
+ An Open Source OpenAPI Specification for Plex Media Server
40
+
41
+ Automation and SDKs provided by [Speakeasy](https://speakeasyapi.dev/)
42
+
43
+ ## Documentation
44
+
45
+ [API Documentation](https://plexapi.dev)
46
+
47
+ ## SDKs
48
+
49
+ The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the respective repository.
50
+
51
+ | Language | Repository | Releases | Other |
52
+ | --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |
53
+ | Python | [GitHub](https://github.com/LukeHagar/plexpy) | [PyPI](https://pypi.org/project/plex-api-client/) | - |
54
+ | JavaScript/TypeScript | [GitHub](https://github.com/LukeHagar/plexjs) | [NPM](https://www.npmjs.com/package/@lukehagar/plexjs) \ [JSR](https://jsr.io/@lukehagar/plexjs) | - |
55
+ | Go | [GitHub](https://github.com/LukeHagar/plexgo) | [Releases](https://github.com/LukeHagar/plexgo/releases) | [GoDoc](https://pkg.go.dev/github.com/LukeHagar/plexgo) |
56
+ | Ruby | [GitHub](https://github.com/LukeHagar/plexruby) | [Releases](https://github.com/LukeHagar/plexruby/releases) | - |
57
+ | Swift | [GitHub](https://github.com/LukeHagar/plexswift) | [Releases](https://github.com/LukeHagar/plexswift/releases) | - |
58
+ | PHP | [GitHub](https://github.com/LukeHagar/plexphp) | [Releases](https://github.com/LukeHagar/plexphp/releases) | - |
59
+ | Java | [GitHub](https://github.com/LukeHagar/plexjava) | [Releases](https://github.com/LukeHagar/plexjava/releases) | - |
60
+ | C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | -
36
61
  <!-- End Summary [summary] -->
37
62
 
38
63
  <!-- Start Table of Contents [toc] -->
@@ -163,12 +188,13 @@ asyncio.run(main())
163
188
  ### [hubs](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/hubs/README.md)
164
189
 
165
190
  * [get_global_hubs](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/hubs/README.md#get_global_hubs) - Get Global Hubs
191
+ * [get_recently_added](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/hubs/README.md#get_recently_added) - Get Recently Added
166
192
  * [get_library_hubs](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/hubs/README.md#get_library_hubs) - Get library specific hubs
167
193
 
168
194
  ### [library](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md)
169
195
 
170
196
  * [get_file_hash](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_file_hash) - Get Hash Value
171
- * [get_recently_added](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_recently_added) - Get Recently Added
197
+ * [get_recently_added_library](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_recently_added_library) - Get Recently Added
172
198
  * [get_all_libraries](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_all_libraries) - Get All Libraries
173
199
  * [get_library_details](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_library_details) - Get Library Details
174
200
  * [delete_library](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#delete_library) - Delete Library Section
@@ -444,7 +470,7 @@ s = PlexAPI(
444
470
  device_name="Linux",
445
471
  )
446
472
 
447
- res = s.plex.get_companions_data(server_url="https://plex.tv/api/v2/")
473
+ res = s.plex.get_companions_data(server_url="https://plex.tv/api/v2")
448
474
 
449
475
  if res.response_bodies is not None:
450
476
  # handle response
@@ -11,6 +11,31 @@
11
11
  ## Summary
12
12
 
13
13
  Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server
14
+
15
+ # Plex Media Server OpenAPI Specification
16
+
17
+ An Open Source OpenAPI Specification for Plex Media Server
18
+
19
+ Automation and SDKs provided by [Speakeasy](https://speakeasyapi.dev/)
20
+
21
+ ## Documentation
22
+
23
+ [API Documentation](https://plexapi.dev)
24
+
25
+ ## SDKs
26
+
27
+ The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the respective repository.
28
+
29
+ | Language | Repository | Releases | Other |
30
+ | --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |
31
+ | Python | [GitHub](https://github.com/LukeHagar/plexpy) | [PyPI](https://pypi.org/project/plex-api-client/) | - |
32
+ | JavaScript/TypeScript | [GitHub](https://github.com/LukeHagar/plexjs) | [NPM](https://www.npmjs.com/package/@lukehagar/plexjs) \ [JSR](https://jsr.io/@lukehagar/plexjs) | - |
33
+ | Go | [GitHub](https://github.com/LukeHagar/plexgo) | [Releases](https://github.com/LukeHagar/plexgo/releases) | [GoDoc](https://pkg.go.dev/github.com/LukeHagar/plexgo) |
34
+ | Ruby | [GitHub](https://github.com/LukeHagar/plexruby) | [Releases](https://github.com/LukeHagar/plexruby/releases) | - |
35
+ | Swift | [GitHub](https://github.com/LukeHagar/plexswift) | [Releases](https://github.com/LukeHagar/plexswift/releases) | - |
36
+ | PHP | [GitHub](https://github.com/LukeHagar/plexphp) | [Releases](https://github.com/LukeHagar/plexphp/releases) | - |
37
+ | Java | [GitHub](https://github.com/LukeHagar/plexjava) | [Releases](https://github.com/LukeHagar/plexjava/releases) | - |
38
+ | C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | -
14
39
  <!-- End Summary [summary] -->
15
40
 
16
41
  <!-- Start Table of Contents [toc] -->
@@ -141,12 +166,13 @@ asyncio.run(main())
141
166
  ### [hubs](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/hubs/README.md)
142
167
 
143
168
  * [get_global_hubs](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/hubs/README.md#get_global_hubs) - Get Global Hubs
169
+ * [get_recently_added](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/hubs/README.md#get_recently_added) - Get Recently Added
144
170
  * [get_library_hubs](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/hubs/README.md#get_library_hubs) - Get library specific hubs
145
171
 
146
172
  ### [library](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md)
147
173
 
148
174
  * [get_file_hash](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_file_hash) - Get Hash Value
149
- * [get_recently_added](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_recently_added) - Get Recently Added
175
+ * [get_recently_added_library](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_recently_added_library) - Get Recently Added
150
176
  * [get_all_libraries](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_all_libraries) - Get All Libraries
151
177
  * [get_library_details](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_library_details) - Get Library Details
152
178
  * [delete_library](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#delete_library) - Delete Library Section
@@ -422,7 +448,7 @@ s = PlexAPI(
422
448
  device_name="Linux",
423
449
  )
424
450
 
425
- res = s.plex.get_companions_data(server_url="https://plex.tv/api/v2/")
451
+ res = s.plex.get_companions_data(server_url="https://plex.tv/api/v2")
426
452
 
427
453
  if res.response_bodies is not None:
428
454
  # handle response
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "plex-api-client"
3
- version = "0.13.1"
3
+ version = "0.15.0"
4
4
  description = "Python Client SDK Generated by Speakeasy"
5
5
  authors = ["Speakeasy",]
6
6
  readme = "README-PYPI.md"
@@ -28,6 +28,9 @@ typing-inspect = "^0.9.0"
28
28
  [tool.poetry.group.dev.dependencies]
29
29
  mypy = "==1.10.1"
30
30
  pylint = "==3.2.3"
31
+ pytest = "^8.2.0"
32
+ pytest-asyncio = "^0.23.7"
33
+ pytest-xdist = "^3.6.1"
31
34
  types-python-dateutil = "^2.9.0.20240316"
32
35
 
33
36
  [build-system]
@@ -592,12 +592,10 @@ class Authentication(BaseSDK):
592
592
  def post_users_sign_in_data(
593
593
  self,
594
594
  *,
595
- request: Optional[
596
- Union[
597
- operations.PostUsersSignInDataRequestBody,
598
- operations.PostUsersSignInDataRequestBodyTypedDict,
599
- ]
600
- ] = None,
595
+ request: Union[
596
+ operations.PostUsersSignInDataRequest,
597
+ operations.PostUsersSignInDataRequestTypedDict,
598
+ ],
601
599
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
602
600
  server_url: Optional[str] = None,
603
601
  timeout_ms: Optional[int] = None,
@@ -622,10 +620,8 @@ class Authentication(BaseSDK):
622
620
  base_url = operations.POST_USERS_SIGN_IN_DATA_SERVERS[0]
623
621
 
624
622
  if not isinstance(request, BaseModel):
625
- request = utils.unmarshal(
626
- request, Optional[operations.PostUsersSignInDataRequestBody]
627
- )
628
- request = cast(Optional[operations.PostUsersSignInDataRequestBody], request)
623
+ request = utils.unmarshal(request, operations.PostUsersSignInDataRequest)
624
+ request = cast(operations.PostUsersSignInDataRequest, request)
629
625
 
630
626
  req = self.build_request(
631
627
  method="POST",
@@ -635,11 +631,18 @@ class Authentication(BaseSDK):
635
631
  request=request,
636
632
  request_body_required=False,
637
633
  request_has_path_params=False,
638
- request_has_query_params=False,
634
+ request_has_query_params=True,
639
635
  user_agent_header="user-agent",
640
636
  accept_header_value="application/json",
637
+ _globals=operations.PostUsersSignInDataGlobals(
638
+ client_id=self.sdk_configuration.globals.client_id,
639
+ client_name=self.sdk_configuration.globals.client_name,
640
+ device_name=self.sdk_configuration.globals.device_name,
641
+ client_version=self.sdk_configuration.globals.client_version,
642
+ client_platform=self.sdk_configuration.globals.client_platform,
643
+ ),
641
644
  get_serialized_body=lambda: utils.serialize_request_body(
642
- request,
645
+ request.request_body,
643
646
  False,
644
647
  True,
645
648
  "form",
@@ -706,12 +709,10 @@ class Authentication(BaseSDK):
706
709
  async def post_users_sign_in_data_async(
707
710
  self,
708
711
  *,
709
- request: Optional[
710
- Union[
711
- operations.PostUsersSignInDataRequestBody,
712
- operations.PostUsersSignInDataRequestBodyTypedDict,
713
- ]
714
- ] = None,
712
+ request: Union[
713
+ operations.PostUsersSignInDataRequest,
714
+ operations.PostUsersSignInDataRequestTypedDict,
715
+ ],
715
716
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
716
717
  server_url: Optional[str] = None,
717
718
  timeout_ms: Optional[int] = None,
@@ -736,10 +737,8 @@ class Authentication(BaseSDK):
736
737
  base_url = operations.POST_USERS_SIGN_IN_DATA_SERVERS[0]
737
738
 
738
739
  if not isinstance(request, BaseModel):
739
- request = utils.unmarshal(
740
- request, Optional[operations.PostUsersSignInDataRequestBody]
741
- )
742
- request = cast(Optional[operations.PostUsersSignInDataRequestBody], request)
740
+ request = utils.unmarshal(request, operations.PostUsersSignInDataRequest)
741
+ request = cast(operations.PostUsersSignInDataRequest, request)
743
742
 
744
743
  req = self.build_request_async(
745
744
  method="POST",
@@ -749,11 +748,18 @@ class Authentication(BaseSDK):
749
748
  request=request,
750
749
  request_body_required=False,
751
750
  request_has_path_params=False,
752
- request_has_query_params=False,
751
+ request_has_query_params=True,
753
752
  user_agent_header="user-agent",
754
753
  accept_header_value="application/json",
754
+ _globals=operations.PostUsersSignInDataGlobals(
755
+ client_id=self.sdk_configuration.globals.client_id,
756
+ client_name=self.sdk_configuration.globals.client_name,
757
+ device_name=self.sdk_configuration.globals.device_name,
758
+ client_version=self.sdk_configuration.globals.client_version,
759
+ client_platform=self.sdk_configuration.globals.client_platform,
760
+ ),
755
761
  get_serialized_body=lambda: utils.serialize_request_body(
756
- request,
762
+ request.request_body,
757
763
  False,
758
764
  True,
759
765
  "form",
@@ -4,8 +4,8 @@ from .basesdk import BaseSDK
4
4
  from plex_api_client import utils
5
5
  from plex_api_client._hooks import HookContext
6
6
  from plex_api_client.models import errors, operations
7
- from plex_api_client.types import OptionalNullable, UNSET
8
- from typing import Any, Optional
7
+ from plex_api_client.types import BaseModel, OptionalNullable, UNSET
8
+ from typing import Any, Optional, Union, cast
9
9
 
10
10
 
11
11
  class Hubs(BaseSDK):
@@ -213,6 +213,184 @@ class Hubs(BaseSDK):
213
213
  http_res,
214
214
  )
215
215
 
216
+ def get_recently_added(
217
+ self,
218
+ *,
219
+ request: Union[
220
+ operations.GetRecentlyAddedRequest,
221
+ operations.GetRecentlyAddedRequestTypedDict,
222
+ ],
223
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
224
+ server_url: Optional[str] = None,
225
+ timeout_ms: Optional[int] = None,
226
+ ) -> operations.GetRecentlyAddedResponse:
227
+ r"""Get Recently Added
228
+
229
+ This endpoint will return the recently added content.
230
+
231
+
232
+ :param request: The request object to send.
233
+ :param retries: Override the default retry configuration for this method
234
+ :param server_url: Override the default server URL for this method
235
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
236
+ """
237
+ base_url = None
238
+ url_variables = None
239
+ if timeout_ms is None:
240
+ timeout_ms = self.sdk_configuration.timeout_ms
241
+
242
+ if server_url is not None:
243
+ base_url = server_url
244
+
245
+ if not isinstance(request, BaseModel):
246
+ request = utils.unmarshal(request, operations.GetRecentlyAddedRequest)
247
+ request = cast(operations.GetRecentlyAddedRequest, request)
248
+
249
+ req = self.build_request(
250
+ method="GET",
251
+ path="/hubs/home/recentlyAdded",
252
+ base_url=base_url,
253
+ url_variables=url_variables,
254
+ request=request,
255
+ request_body_required=False,
256
+ request_has_path_params=False,
257
+ request_has_query_params=True,
258
+ user_agent_header="user-agent",
259
+ accept_header_value="application/json",
260
+ security=self.sdk_configuration.security,
261
+ timeout_ms=timeout_ms,
262
+ )
263
+
264
+ if retries == UNSET:
265
+ if self.sdk_configuration.retry_config is not UNSET:
266
+ retries = self.sdk_configuration.retry_config
267
+
268
+ retry_config = None
269
+ if isinstance(retries, utils.RetryConfig):
270
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
271
+
272
+ http_res = self.do_request(
273
+ hook_ctx=HookContext(
274
+ operation_id="get-recently-added",
275
+ oauth2_scopes=[],
276
+ security_source=self.sdk_configuration.security,
277
+ ),
278
+ request=req,
279
+ error_status_codes=["400", "401", "4XX", "5XX"],
280
+ retry_config=retry_config,
281
+ )
282
+
283
+ if utils.match_response(http_res, "200", "application/json"):
284
+ return operations.GetRecentlyAddedResponse(
285
+ object=utils.unmarshal_json(
286
+ http_res.text, Optional[operations.GetRecentlyAddedResponseBody]
287
+ ),
288
+ status_code=http_res.status_code,
289
+ content_type=http_res.headers.get("Content-Type") or "",
290
+ raw_response=http_res,
291
+ )
292
+ if utils.match_response(http_res, ["400", "401", "4XX", "5XX"], "*"):
293
+ raise errors.SDKError(
294
+ "API error occurred", http_res.status_code, http_res.text, http_res
295
+ )
296
+
297
+ content_type = http_res.headers.get("Content-Type")
298
+ raise errors.SDKError(
299
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
300
+ http_res.status_code,
301
+ http_res.text,
302
+ http_res,
303
+ )
304
+
305
+ async def get_recently_added_async(
306
+ self,
307
+ *,
308
+ request: Union[
309
+ operations.GetRecentlyAddedRequest,
310
+ operations.GetRecentlyAddedRequestTypedDict,
311
+ ],
312
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
313
+ server_url: Optional[str] = None,
314
+ timeout_ms: Optional[int] = None,
315
+ ) -> operations.GetRecentlyAddedResponse:
316
+ r"""Get Recently Added
317
+
318
+ This endpoint will return the recently added content.
319
+
320
+
321
+ :param request: The request object to send.
322
+ :param retries: Override the default retry configuration for this method
323
+ :param server_url: Override the default server URL for this method
324
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
325
+ """
326
+ base_url = None
327
+ url_variables = None
328
+ if timeout_ms is None:
329
+ timeout_ms = self.sdk_configuration.timeout_ms
330
+
331
+ if server_url is not None:
332
+ base_url = server_url
333
+
334
+ if not isinstance(request, BaseModel):
335
+ request = utils.unmarshal(request, operations.GetRecentlyAddedRequest)
336
+ request = cast(operations.GetRecentlyAddedRequest, request)
337
+
338
+ req = self.build_request_async(
339
+ method="GET",
340
+ path="/hubs/home/recentlyAdded",
341
+ base_url=base_url,
342
+ url_variables=url_variables,
343
+ request=request,
344
+ request_body_required=False,
345
+ request_has_path_params=False,
346
+ request_has_query_params=True,
347
+ user_agent_header="user-agent",
348
+ accept_header_value="application/json",
349
+ security=self.sdk_configuration.security,
350
+ timeout_ms=timeout_ms,
351
+ )
352
+
353
+ if retries == UNSET:
354
+ if self.sdk_configuration.retry_config is not UNSET:
355
+ retries = self.sdk_configuration.retry_config
356
+
357
+ retry_config = None
358
+ if isinstance(retries, utils.RetryConfig):
359
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
360
+
361
+ http_res = await self.do_request_async(
362
+ hook_ctx=HookContext(
363
+ operation_id="get-recently-added",
364
+ oauth2_scopes=[],
365
+ security_source=self.sdk_configuration.security,
366
+ ),
367
+ request=req,
368
+ error_status_codes=["400", "401", "4XX", "5XX"],
369
+ retry_config=retry_config,
370
+ )
371
+
372
+ if utils.match_response(http_res, "200", "application/json"):
373
+ return operations.GetRecentlyAddedResponse(
374
+ object=utils.unmarshal_json(
375
+ http_res.text, Optional[operations.GetRecentlyAddedResponseBody]
376
+ ),
377
+ status_code=http_res.status_code,
378
+ content_type=http_res.headers.get("Content-Type") or "",
379
+ raw_response=http_res,
380
+ )
381
+ if utils.match_response(http_res, ["400", "401", "4XX", "5XX"], "*"):
382
+ raise errors.SDKError(
383
+ "API error occurred", http_res.status_code, http_res.text, http_res
384
+ )
385
+
386
+ content_type = http_res.headers.get("Content-Type")
387
+ raise errors.SDKError(
388
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
389
+ http_res.status_code,
390
+ http_res.text,
391
+ http_res,
392
+ )
393
+
216
394
  def get_library_hubs(
217
395
  self,
218
396
  *,
@@ -203,22 +203,23 @@ class Library(BaseSDK):
203
203
  http_res,
204
204
  )
205
205
 
206
- def get_recently_added(
206
+ def get_recently_added_library(
207
207
  self,
208
208
  *,
209
- x_plex_container_start: Optional[int] = 0,
210
- x_plex_container_size: Optional[int] = 50,
209
+ request: Union[
210
+ operations.GetRecentlyAddedLibraryRequest,
211
+ operations.GetRecentlyAddedLibraryRequestTypedDict,
212
+ ],
211
213
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
212
214
  server_url: Optional[str] = None,
213
215
  timeout_ms: Optional[int] = None,
214
- ) -> operations.GetRecentlyAddedResponse:
216
+ ) -> operations.GetRecentlyAddedLibraryResponse:
215
217
  r"""Get Recently Added
216
218
 
217
219
  This endpoint will return the recently added content.
218
220
 
219
221
 
220
- :param x_plex_container_start: The index of the first item to return. If not specified, the first item will be returned. If the number of items exceeds the limit, the response will be paginated. By default this is 0
221
- :param x_plex_container_size: The number of items to return. If not specified, all items will be returned. If the number of items exceeds the limit, the response will be paginated. By default this is 50
222
+ :param request: The request object to send.
222
223
  :param retries: Override the default retry configuration for this method
223
224
  :param server_url: Override the default server URL for this method
224
225
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -231,10 +232,11 @@ class Library(BaseSDK):
231
232
  if server_url is not None:
232
233
  base_url = server_url
233
234
 
234
- request = operations.GetRecentlyAddedRequest(
235
- x_plex_container_start=x_plex_container_start,
236
- x_plex_container_size=x_plex_container_size,
237
- )
235
+ if not isinstance(request, BaseModel):
236
+ request = utils.unmarshal(
237
+ request, operations.GetRecentlyAddedLibraryRequest
238
+ )
239
+ request = cast(operations.GetRecentlyAddedLibraryRequest, request)
238
240
 
239
241
  req = self.build_request(
240
242
  method="GET",
@@ -261,7 +263,7 @@ class Library(BaseSDK):
261
263
 
262
264
  http_res = self.do_request(
263
265
  hook_ctx=HookContext(
264
- operation_id="getRecentlyAdded",
266
+ operation_id="get-recently-added-library",
265
267
  oauth2_scopes=[],
266
268
  security_source=self.sdk_configuration.security,
267
269
  ),
@@ -272,9 +274,10 @@ class Library(BaseSDK):
272
274
 
273
275
  data: Any = None
274
276
  if utils.match_response(http_res, "200", "application/json"):
275
- return operations.GetRecentlyAddedResponse(
277
+ return operations.GetRecentlyAddedLibraryResponse(
276
278
  object=utils.unmarshal_json(
277
- http_res.text, Optional[operations.GetRecentlyAddedResponseBody]
279
+ http_res.text,
280
+ Optional[operations.GetRecentlyAddedLibraryResponseBody],
278
281
  ),
279
282
  status_code=http_res.status_code,
280
283
  content_type=http_res.headers.get("Content-Type") or "",
@@ -282,16 +285,16 @@ class Library(BaseSDK):
282
285
  )
283
286
  if utils.match_response(http_res, "400", "application/json"):
284
287
  data = utils.unmarshal_json(
285
- http_res.text, errors.GetRecentlyAddedBadRequestData
288
+ http_res.text, errors.GetRecentlyAddedLibraryBadRequestData
286
289
  )
287
290
  data.raw_response = http_res
288
- raise errors.GetRecentlyAddedBadRequest(data=data)
291
+ raise errors.GetRecentlyAddedLibraryBadRequest(data=data)
289
292
  if utils.match_response(http_res, "401", "application/json"):
290
293
  data = utils.unmarshal_json(
291
- http_res.text, errors.GetRecentlyAddedUnauthorizedData
294
+ http_res.text, errors.GetRecentlyAddedLibraryUnauthorizedData
292
295
  )
293
296
  data.raw_response = http_res
294
- raise errors.GetRecentlyAddedUnauthorized(data=data)
297
+ raise errors.GetRecentlyAddedLibraryUnauthorized(data=data)
295
298
  if utils.match_response(http_res, ["4XX", "5XX"], "*"):
296
299
  raise errors.SDKError(
297
300
  "API error occurred", http_res.status_code, http_res.text, http_res
@@ -305,22 +308,23 @@ class Library(BaseSDK):
305
308
  http_res,
306
309
  )
307
310
 
308
- async def get_recently_added_async(
311
+ async def get_recently_added_library_async(
309
312
  self,
310
313
  *,
311
- x_plex_container_start: Optional[int] = 0,
312
- x_plex_container_size: Optional[int] = 50,
314
+ request: Union[
315
+ operations.GetRecentlyAddedLibraryRequest,
316
+ operations.GetRecentlyAddedLibraryRequestTypedDict,
317
+ ],
313
318
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
314
319
  server_url: Optional[str] = None,
315
320
  timeout_ms: Optional[int] = None,
316
- ) -> operations.GetRecentlyAddedResponse:
321
+ ) -> operations.GetRecentlyAddedLibraryResponse:
317
322
  r"""Get Recently Added
318
323
 
319
324
  This endpoint will return the recently added content.
320
325
 
321
326
 
322
- :param x_plex_container_start: The index of the first item to return. If not specified, the first item will be returned. If the number of items exceeds the limit, the response will be paginated. By default this is 0
323
- :param x_plex_container_size: The number of items to return. If not specified, all items will be returned. If the number of items exceeds the limit, the response will be paginated. By default this is 50
327
+ :param request: The request object to send.
324
328
  :param retries: Override the default retry configuration for this method
325
329
  :param server_url: Override the default server URL for this method
326
330
  :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -333,10 +337,11 @@ class Library(BaseSDK):
333
337
  if server_url is not None:
334
338
  base_url = server_url
335
339
 
336
- request = operations.GetRecentlyAddedRequest(
337
- x_plex_container_start=x_plex_container_start,
338
- x_plex_container_size=x_plex_container_size,
339
- )
340
+ if not isinstance(request, BaseModel):
341
+ request = utils.unmarshal(
342
+ request, operations.GetRecentlyAddedLibraryRequest
343
+ )
344
+ request = cast(operations.GetRecentlyAddedLibraryRequest, request)
340
345
 
341
346
  req = self.build_request_async(
342
347
  method="GET",
@@ -363,7 +368,7 @@ class Library(BaseSDK):
363
368
 
364
369
  http_res = await self.do_request_async(
365
370
  hook_ctx=HookContext(
366
- operation_id="getRecentlyAdded",
371
+ operation_id="get-recently-added-library",
367
372
  oauth2_scopes=[],
368
373
  security_source=self.sdk_configuration.security,
369
374
  ),
@@ -374,9 +379,10 @@ class Library(BaseSDK):
374
379
 
375
380
  data: Any = None
376
381
  if utils.match_response(http_res, "200", "application/json"):
377
- return operations.GetRecentlyAddedResponse(
382
+ return operations.GetRecentlyAddedLibraryResponse(
378
383
  object=utils.unmarshal_json(
379
- http_res.text, Optional[operations.GetRecentlyAddedResponseBody]
384
+ http_res.text,
385
+ Optional[operations.GetRecentlyAddedLibraryResponseBody],
380
386
  ),
381
387
  status_code=http_res.status_code,
382
388
  content_type=http_res.headers.get("Content-Type") or "",
@@ -384,16 +390,16 @@ class Library(BaseSDK):
384
390
  )
385
391
  if utils.match_response(http_res, "400", "application/json"):
386
392
  data = utils.unmarshal_json(
387
- http_res.text, errors.GetRecentlyAddedBadRequestData
393
+ http_res.text, errors.GetRecentlyAddedLibraryBadRequestData
388
394
  )
389
395
  data.raw_response = http_res
390
- raise errors.GetRecentlyAddedBadRequest(data=data)
396
+ raise errors.GetRecentlyAddedLibraryBadRequest(data=data)
391
397
  if utils.match_response(http_res, "401", "application/json"):
392
398
  data = utils.unmarshal_json(
393
- http_res.text, errors.GetRecentlyAddedUnauthorizedData
399
+ http_res.text, errors.GetRecentlyAddedLibraryUnauthorizedData
394
400
  )
395
401
  data.raw_response = http_res
396
- raise errors.GetRecentlyAddedUnauthorized(data=data)
402
+ raise errors.GetRecentlyAddedLibraryUnauthorized(data=data)
397
403
  if utils.match_response(http_res, ["4XX", "5XX"], "*"):
398
404
  raise errors.SDKError(
399
405
  "API error occurred", http_res.status_code, http_res.text, http_res
@@ -1519,7 +1525,7 @@ class Library(BaseSDK):
1519
1525
  self,
1520
1526
  *,
1521
1527
  section_key: int,
1522
- type_: operations.QueryParamType,
1528
+ type_: operations.GetSearchLibraryQueryParamType,
1523
1529
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
1524
1530
  server_url: Optional[str] = None,
1525
1531
  timeout_ms: Optional[int] = None,
@@ -1638,7 +1644,7 @@ class Library(BaseSDK):
1638
1644
  self,
1639
1645
  *,
1640
1646
  section_key: int,
1641
- type_: operations.QueryParamType,
1647
+ type_: operations.GetSearchLibraryQueryParamType,
1642
1648
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
1643
1649
  server_url: Optional[str] = None,
1644
1650
  timeout_ms: Optional[int] = None,