plex-api-client 0.9.0__tar.gz → 0.12.1__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 (367) hide show
  1. plex_api_client-0.12.1/PKG-INFO +605 -0
  2. plex_api_client-0.12.1/README-PYPI.md +582 -0
  3. plex_api_client-0.12.1/py.typed +1 -0
  4. plex_api_client-0.12.1/pyproject.toml +55 -0
  5. plex_api_client-0.12.1/src/plex_api_client/__init__.py +4 -0
  6. plex_api_client-0.12.1/src/plex_api_client/_hooks/__init__.py +5 -0
  7. {plex-api-client-0.9.0/src/plex_api → plex_api_client-0.12.1/src/plex_api_client}/_hooks/registration.py +1 -1
  8. {plex-api-client-0.9.0/src/plex_api → plex_api_client-0.12.1/src/plex_api_client}/_hooks/sdkhooks.py +27 -8
  9. {plex-api-client-0.9.0/src/plex_api → plex_api_client-0.12.1/src/plex_api_client}/_hooks/types.py +31 -11
  10. plex_api_client-0.12.1/src/plex_api_client/activities.py +392 -0
  11. plex_api_client-0.12.1/src/plex_api_client/authentication.py +830 -0
  12. plex_api_client-0.12.1/src/plex_api_client/basesdk.py +339 -0
  13. plex_api_client-0.12.1/src/plex_api_client/butler.py +934 -0
  14. plex_api_client-0.12.1/src/plex_api_client/httpclient.py +78 -0
  15. plex_api_client-0.12.1/src/plex_api_client/hubs.py +424 -0
  16. plex_api_client-0.12.1/src/plex_api_client/library.py +2538 -0
  17. plex_api_client-0.12.1/src/plex_api_client/log.py +616 -0
  18. plex_api_client-0.12.1/src/plex_api_client/media.py +992 -0
  19. plex_api_client-0.12.1/src/plex_api_client/models/components/__init__.py +5 -0
  20. plex_api_client-0.12.1/src/plex_api_client/models/components/security.py +25 -0
  21. plex_api_client-0.12.1/src/plex_api_client/models/errors/__init__.py +1319 -0
  22. plex_api_client-0.12.1/src/plex_api_client/models/errors/addplaylistcontents.py +79 -0
  23. plex_api_client-0.12.1/src/plex_api_client/models/errors/applyupdates.py +79 -0
  24. plex_api_client-0.12.1/src/plex_api_client/models/errors/cancelserveractivities.py +79 -0
  25. plex_api_client-0.12.1/src/plex_api_client/models/errors/checkforupdates.py +79 -0
  26. plex_api_client-0.12.1/src/plex_api_client/models/errors/clearplaylistcontents.py +79 -0
  27. plex_api_client-0.12.1/src/plex_api_client/models/errors/createplaylist.py +79 -0
  28. plex_api_client-0.12.1/src/plex_api_client/models/errors/deletelibrary.py +79 -0
  29. plex_api_client-0.12.1/src/plex_api_client/models/errors/deleteplaylist.py +79 -0
  30. plex_api_client-0.12.1/src/plex_api_client/models/errors/enablepapertrail.py +79 -0
  31. plex_api_client-0.12.1/src/plex_api_client/models/errors/get_all_libraries.py +79 -0
  32. plex_api_client-0.12.1/src/plex_api_client/models/errors/get_banner_image.py +79 -0
  33. plex_api_client-0.12.1/src/plex_api_client/models/errors/get_library_details.py +79 -0
  34. plex_api_client-0.12.1/src/plex_api_client/models/errors/get_library_items.py +79 -0
  35. plex_api_client-0.12.1/src/plex_api_client/models/errors/get_media_providers.py +79 -0
  36. plex_api_client-0.12.1/src/plex_api_client/models/errors/get_meta_data_by_rating_key.py +79 -0
  37. plex_api_client-0.12.1/src/plex_api_client/models/errors/get_refresh_library_metadata.py +79 -0
  38. plex_api_client-0.12.1/src/plex_api_client/models/errors/get_search_library.py +79 -0
  39. plex_api_client-0.12.1/src/plex_api_client/models/errors/get_server_identity.py +31 -0
  40. plex_api_client-0.12.1/src/plex_api_client/models/errors/get_server_resources.py +79 -0
  41. plex_api_client-0.12.1/src/plex_api_client/models/errors/get_thumb_image.py +79 -0
  42. plex_api_client-0.12.1/src/plex_api_client/models/errors/get_watch_list.py +79 -0
  43. plex_api_client-0.12.1/src/plex_api_client/models/errors/getavailableclients.py +79 -0
  44. plex_api_client-0.12.1/src/plex_api_client/models/errors/getbandwidthstatistics.py +79 -0
  45. plex_api_client-0.12.1/src/plex_api_client/models/errors/getbutlertasks.py +79 -0
  46. plex_api_client-0.12.1/src/plex_api_client/models/errors/getcompanionsdata.py +79 -0
  47. plex_api_client-0.12.1/src/plex_api_client/models/errors/getdevices.py +79 -0
  48. plex_api_client-0.12.1/src/plex_api_client/models/errors/getfilehash.py +79 -0
  49. plex_api_client-0.12.1/src/plex_api_client/models/errors/getgeodata.py +79 -0
  50. plex_api_client-0.12.1/src/plex_api_client/models/errors/getglobalhubs.py +79 -0
  51. plex_api_client-0.12.1/src/plex_api_client/models/errors/gethomedata.py +79 -0
  52. plex_api_client-0.12.1/src/plex_api_client/models/errors/getlibraryhubs.py +79 -0
  53. plex_api_client-0.12.1/src/plex_api_client/models/errors/getmetadatachildren.py +79 -0
  54. plex_api_client-0.12.1/src/plex_api_client/models/errors/getmyplexaccount.py +79 -0
  55. plex_api_client-0.12.1/src/plex_api_client/models/errors/getondeck.py +79 -0
  56. plex_api_client-0.12.1/src/plex_api_client/models/errors/getpin.py +44 -0
  57. plex_api_client-0.12.1/src/plex_api_client/models/errors/getplaylist.py +79 -0
  58. plex_api_client-0.12.1/src/plex_api_client/models/errors/getplaylistcontents.py +79 -0
  59. plex_api_client-0.12.1/src/plex_api_client/models/errors/getplaylists.py +79 -0
  60. plex_api_client-0.12.1/src/plex_api_client/models/errors/getrecentlyadded.py +79 -0
  61. plex_api_client-0.12.1/src/plex_api_client/models/errors/getresizedphoto.py +79 -0
  62. plex_api_client-0.12.1/src/plex_api_client/models/errors/getresourcesstatistics.py +79 -0
  63. plex_api_client-0.12.1/src/plex_api_client/models/errors/getsearchresults.py +79 -0
  64. plex_api_client-0.12.1/src/plex_api_client/models/errors/getserveractivities.py +79 -0
  65. plex_api_client-0.12.1/src/plex_api_client/models/errors/getservercapabilities.py +79 -0
  66. plex_api_client-0.12.1/src/plex_api_client/models/errors/getserverlist.py +79 -0
  67. plex_api_client-0.12.1/src/plex_api_client/models/errors/getserverpreferences.py +79 -0
  68. plex_api_client-0.12.1/src/plex_api_client/models/errors/getsessionhistory.py +79 -0
  69. plex_api_client-0.12.1/src/plex_api_client/models/errors/getsessions.py +79 -0
  70. plex_api_client-0.12.1/src/plex_api_client/models/errors/getsourceconnectioninformation.py +83 -0
  71. plex_api_client-0.12.1/src/plex_api_client/models/errors/getstatistics.py +79 -0
  72. plex_api_client-0.12.1/src/plex_api_client/models/errors/gettimeline.py +79 -0
  73. plex_api_client-0.12.1/src/plex_api_client/models/errors/gettokenbypinid.py +76 -0
  74. plex_api_client-0.12.1/src/plex_api_client/models/errors/gettokendetails.py +79 -0
  75. plex_api_client-0.12.1/src/plex_api_client/models/errors/gettopwatchedcontent.py +79 -0
  76. plex_api_client-0.12.1/src/plex_api_client/models/errors/gettranscodesessions.py +79 -0
  77. plex_api_client-0.12.1/src/plex_api_client/models/errors/gettransienttoken.py +79 -0
  78. plex_api_client-0.12.1/src/plex_api_client/models/errors/getupdatestatus.py +79 -0
  79. plex_api_client-0.12.1/src/plex_api_client/models/errors/getuserfriends.py +79 -0
  80. plex_api_client-0.12.1/src/plex_api_client/models/errors/logline.py +79 -0
  81. plex_api_client-0.12.1/src/plex_api_client/models/errors/logmultiline.py +79 -0
  82. plex_api_client-0.12.1/src/plex_api_client/models/errors/markplayed.py +79 -0
  83. plex_api_client-0.12.1/src/plex_api_client/models/errors/markunplayed.py +79 -0
  84. plex_api_client-0.12.1/src/plex_api_client/models/errors/performsearch.py +79 -0
  85. plex_api_client-0.12.1/src/plex_api_client/models/errors/performvoicesearch.py +79 -0
  86. plex_api_client-0.12.1/src/plex_api_client/models/errors/post_users_sign_in_data.py +79 -0
  87. plex_api_client-0.12.1/src/plex_api_client/models/errors/sdkerror.py +22 -0
  88. plex_api_client-0.12.1/src/plex_api_client/models/errors/startalltasks.py +79 -0
  89. plex_api_client-0.12.1/src/plex_api_client/models/errors/starttask.py +79 -0
  90. plex_api_client-0.12.1/src/plex_api_client/models/errors/startuniversaltranscode.py +79 -0
  91. plex_api_client-0.12.1/src/plex_api_client/models/errors/stopalltasks.py +79 -0
  92. plex_api_client-0.12.1/src/plex_api_client/models/errors/stoptask.py +79 -0
  93. plex_api_client-0.12.1/src/plex_api_client/models/errors/stoptranscodesession.py +79 -0
  94. plex_api_client-0.12.1/src/plex_api_client/models/errors/updateplaylist.py +79 -0
  95. plex_api_client-0.12.1/src/plex_api_client/models/errors/updateplayprogress.py +79 -0
  96. plex_api_client-0.12.1/src/plex_api_client/models/errors/uploadplaylist.py +79 -0
  97. plex_api_client-0.12.1/src/plex_api_client/models/internal/__init__.py +5 -0
  98. plex_api_client-0.12.1/src/plex_api_client/models/internal/globals.py +30 -0
  99. plex_api_client-0.12.1/src/plex_api_client/models/operations/__init__.py +1642 -0
  100. plex_api_client-0.12.1/src/plex_api_client/models/operations/addplaylistcontents.py +146 -0
  101. plex_api_client-0.12.1/src/plex_api_client/models/operations/applyupdates.py +64 -0
  102. plex_api_client-0.12.1/src/plex_api_client/models/operations/cancelserveractivities.py +43 -0
  103. plex_api_client-0.12.1/src/plex_api_client/models/operations/checkforupdates.py +49 -0
  104. plex_api_client-0.12.1/src/plex_api_client/models/operations/clearplaylistcontents.py +43 -0
  105. plex_api_client-0.12.1/src/plex_api_client/models/operations/createplaylist.py +175 -0
  106. plex_api_client-0.12.1/src/plex_api_client/models/operations/deletelibrary.py +49 -0
  107. plex_api_client-0.12.1/src/plex_api_client/models/operations/deleteplaylist.py +43 -0
  108. plex_api_client-0.12.1/src/plex_api_client/models/operations/enablepapertrail.py +26 -0
  109. plex_api_client-0.12.1/src/plex_api_client/models/operations/get_all_libraries.py +155 -0
  110. plex_api_client-0.12.1/src/plex_api_client/models/operations/get_banner_image.py +82 -0
  111. plex_api_client-0.12.1/src/plex_api_client/models/operations/get_library_details.py +293 -0
  112. plex_api_client-0.12.1/src/plex_api_client/models/operations/get_library_items.py +632 -0
  113. plex_api_client-0.12.1/src/plex_api_client/models/operations/get_media_providers.py +360 -0
  114. plex_api_client-0.12.1/src/plex_api_client/models/operations/get_meta_data_by_rating_key.py +598 -0
  115. plex_api_client-0.12.1/src/plex_api_client/models/operations/get_refresh_library_metadata.py +65 -0
  116. plex_api_client-0.12.1/src/plex_api_client/models/operations/get_search_library.py +224 -0
  117. plex_api_client-0.12.1/src/plex_api_client/models/operations/get_server_identity.py +67 -0
  118. plex_api_client-0.12.1/src/plex_api_client/models/operations/get_server_resources.py +289 -0
  119. plex_api_client-0.12.1/src/plex_api_client/models/operations/get_thumb_image.py +82 -0
  120. plex_api_client-0.12.1/src/plex_api_client/models/operations/get_watch_list.py +377 -0
  121. plex_api_client-0.12.1/src/plex_api_client/models/operations/getavailableclients.py +103 -0
  122. plex_api_client-0.12.1/src/plex_api_client/models/operations/getbandwidthstatistics.py +172 -0
  123. plex_api_client-0.12.1/src/plex_api_client/models/operations/getbutlertasks.py +82 -0
  124. plex_api_client-0.12.1/src/plex_api_client/models/operations/getcompanionsdata.py +62 -0
  125. plex_api_client-0.12.1/src/plex_api_client/models/operations/getdevices.py +83 -0
  126. plex_api_client-0.12.1/src/plex_api_client/models/operations/getfilehash.py +48 -0
  127. plex_api_client-0.12.1/src/plex_api_client/models/operations/getgeodata.py +100 -0
  128. plex_api_client-0.12.1/src/plex_api_client/models/operations/getglobalhubs.py +195 -0
  129. plex_api_client-0.12.1/src/plex_api_client/models/operations/gethomedata.py +66 -0
  130. plex_api_client-0.12.1/src/plex_api_client/models/operations/getlibraryhubs.py +453 -0
  131. plex_api_client-0.12.1/src/plex_api_client/models/operations/getmetadatachildren.py +278 -0
  132. plex_api_client-0.12.1/src/plex_api_client/models/operations/getmyplexaccount.py +96 -0
  133. plex_api_client-0.12.1/src/plex_api_client/models/operations/getondeck.py +407 -0
  134. plex_api_client-0.12.1/src/plex_api_client/models/operations/getpin.py +262 -0
  135. plex_api_client-0.12.1/src/plex_api_client/models/operations/getplaylist.py +125 -0
  136. plex_api_client-0.12.1/src/plex_api_client/models/operations/getplaylistcontents.py +415 -0
  137. plex_api_client-0.12.1/src/plex_api_client/models/operations/getplaylists.py +154 -0
  138. plex_api_client-0.12.1/src/plex_api_client/models/operations/getrecentlyadded.py +387 -0
  139. plex_api_client-0.12.1/src/plex_api_client/models/operations/getresizedphoto.py +100 -0
  140. plex_api_client-0.12.1/src/plex_api_client/models/operations/getresourcesstatistics.py +113 -0
  141. plex_api_client-0.12.1/src/plex_api_client/models/operations/getsearchresults.py +370 -0
  142. plex_api_client-0.12.1/src/plex_api_client/models/operations/getserveractivities.py +100 -0
  143. plex_api_client-0.12.1/src/plex_api_client/models/operations/getservercapabilities.py +283 -0
  144. plex_api_client-0.12.1/src/plex_api_client/models/operations/getserverlist.py +85 -0
  145. plex_api_client-0.12.1/src/plex_api_client/models/operations/getserverpreferences.py +94 -0
  146. plex_api_client-0.12.1/src/plex_api_client/models/operations/getsessionhistory.py +209 -0
  147. plex_api_client-0.12.1/src/plex_api_client/models/operations/getsessions.py +423 -0
  148. plex_api_client-0.12.1/src/plex_api_client/models/operations/getsourceconnectioninformation.py +40 -0
  149. plex_api_client-0.12.1/src/plex_api_client/models/operations/getstatistics.py +172 -0
  150. plex_api_client-0.12.1/src/plex_api_client/models/operations/gettimeline.py +121 -0
  151. plex_api_client-0.12.1/src/plex_api_client/models/operations/gettokenbypinid.py +248 -0
  152. plex_api_client-0.12.1/src/plex_api_client/models/operations/gettokendetails.py +807 -0
  153. plex_api_client-0.12.1/src/plex_api_client/models/operations/gettopwatchedcontent.py +330 -0
  154. plex_api_client-0.12.1/src/plex_api_client/models/operations/gettranscodesessions.py +156 -0
  155. plex_api_client-0.12.1/src/plex_api_client/models/operations/gettransienttoken.py +61 -0
  156. plex_api_client-0.12.1/src/plex_api_client/models/operations/getupdatestatus.py +93 -0
  157. plex_api_client-0.12.1/src/plex_api_client/models/operations/getuserfriends.py +156 -0
  158. plex_api_client-0.12.1/src/plex_api_client/models/operations/logline.py +86 -0
  159. plex_api_client-0.12.1/src/plex_api_client/models/operations/logmultiline.py +26 -0
  160. plex_api_client-0.12.1/src/plex_api_client/models/operations/markplayed.py +40 -0
  161. plex_api_client-0.12.1/src/plex_api_client/models/operations/markunplayed.py +40 -0
  162. plex_api_client-0.12.1/src/plex_api_client/models/operations/performsearch.py +58 -0
  163. plex_api_client-0.12.1/src/plex_api_client/models/operations/performvoicesearch.py +58 -0
  164. plex_api_client-0.12.1/src/plex_api_client/models/operations/post_users_sign_in_data.py +1058 -0
  165. plex_api_client-0.12.1/src/plex_api_client/models/operations/startalltasks.py +26 -0
  166. plex_api_client-0.12.1/src/plex_api_client/models/operations/starttask.py +63 -0
  167. plex_api_client-0.12.1/src/plex_api_client/models/operations/startuniversaltranscode.py +171 -0
  168. plex_api_client-0.12.1/src/plex_api_client/models/operations/stopalltasks.py +26 -0
  169. plex_api_client-0.12.1/src/plex_api_client/models/operations/stoptask.py +63 -0
  170. plex_api_client-0.12.1/src/plex_api_client/models/operations/stoptranscodesession.py +43 -0
  171. plex_api_client-0.12.1/src/plex_api_client/models/operations/updateplaylist.py +59 -0
  172. plex_api_client-0.12.1/src/plex_api_client/models/operations/updateplayprogress.py +54 -0
  173. plex_api_client-0.12.1/src/plex_api_client/models/operations/uploadplaylist.py +85 -0
  174. plex_api_client-0.12.1/src/plex_api_client/playlists.py +1829 -0
  175. plex_api_client-0.12.1/src/plex_api_client/plex.py +1364 -0
  176. plex_api_client-0.12.1/src/plex_api_client/py.typed +1 -0
  177. plex_api_client-0.12.1/src/plex_api_client/sdk.py +229 -0
  178. plex_api_client-0.12.1/src/plex_api_client/sdkconfiguration.py +60 -0
  179. plex_api_client-0.12.1/src/plex_api_client/search.py +644 -0
  180. plex_api_client-0.12.1/src/plex_api_client/server.py +1664 -0
  181. plex_api_client-0.12.1/src/plex_api_client/sessions.py +784 -0
  182. plex_api_client-0.12.1/src/plex_api_client/statistics.py +604 -0
  183. plex_api_client-0.12.1/src/plex_api_client/types/__init__.py +21 -0
  184. plex_api_client-0.12.1/src/plex_api_client/types/basemodel.py +39 -0
  185. plex_api_client-0.12.1/src/plex_api_client/updater.py +585 -0
  186. plex_api_client-0.12.1/src/plex_api_client/utils/__init__.py +89 -0
  187. plex_api_client-0.12.1/src/plex_api_client/utils/annotations.py +19 -0
  188. plex_api_client-0.12.1/src/plex_api_client/utils/enums.py +34 -0
  189. plex_api_client-0.12.1/src/plex_api_client/utils/eventstreaming.py +178 -0
  190. plex_api_client-0.12.1/src/plex_api_client/utils/forms.py +208 -0
  191. plex_api_client-0.12.1/src/plex_api_client/utils/headers.py +136 -0
  192. plex_api_client-0.12.1/src/plex_api_client/utils/logger.py +22 -0
  193. plex_api_client-0.12.1/src/plex_api_client/utils/metadata.py +118 -0
  194. plex_api_client-0.12.1/src/plex_api_client/utils/queryparams.py +205 -0
  195. plex_api_client-0.12.1/src/plex_api_client/utils/requestbodies.py +66 -0
  196. plex_api_client-0.12.1/src/plex_api_client/utils/retries.py +217 -0
  197. plex_api_client-0.12.1/src/plex_api_client/utils/security.py +174 -0
  198. plex_api_client-0.12.1/src/plex_api_client/utils/serializers.py +190 -0
  199. plex_api_client-0.12.1/src/plex_api_client/utils/url.py +155 -0
  200. plex_api_client-0.12.1/src/plex_api_client/utils/values.py +134 -0
  201. plex_api_client-0.12.1/src/plex_api_client/video.py +402 -0
  202. plex_api_client-0.12.1/src/plex_api_client/watchlist.py +216 -0
  203. plex-api-client-0.9.0/PKG-INFO +0 -385
  204. plex-api-client-0.9.0/README.md +0 -373
  205. plex-api-client-0.9.0/setup.cfg +0 -4
  206. plex-api-client-0.9.0/setup.py +0 -55
  207. plex-api-client-0.9.0/src/plex_api/__init__.py +0 -4
  208. plex-api-client-0.9.0/src/plex_api/_hooks/__init__.py +0 -5
  209. plex-api-client-0.9.0/src/plex_api/activities.py +0 -155
  210. plex-api-client-0.9.0/src/plex_api/authentication.py +0 -149
  211. plex-api-client-0.9.0/src/plex_api/butler.py +0 -340
  212. plex-api-client-0.9.0/src/plex_api/hubs.py +0 -163
  213. plex-api-client-0.9.0/src/plex_api/library.py +0 -844
  214. plex-api-client-0.9.0/src/plex_api/log.py +0 -229
  215. plex-api-client-0.9.0/src/plex_api/media.py +0 -214
  216. plex-api-client-0.9.0/src/plex_api/models/__init__.py +0 -4
  217. plex-api-client-0.9.0/src/plex_api/models/components/__init__.py +0 -5
  218. plex-api-client-0.9.0/src/plex_api/models/components/security.py +0 -11
  219. plex-api-client-0.9.0/src/plex_api/models/errors/__init__.py +0 -67
  220. plex-api-client-0.9.0/src/plex_api/models/errors/addplaylistcontents.py +0 -32
  221. plex-api-client-0.9.0/src/plex_api/models/errors/applyupdates.py +0 -32
  222. plex-api-client-0.9.0/src/plex_api/models/errors/cancelserveractivities.py +0 -32
  223. plex-api-client-0.9.0/src/plex_api/models/errors/checkforupdates.py +0 -32
  224. plex-api-client-0.9.0/src/plex_api/models/errors/clearplaylistcontents.py +0 -32
  225. plex-api-client-0.9.0/src/plex_api/models/errors/createplaylist.py +0 -32
  226. plex-api-client-0.9.0/src/plex_api/models/errors/deletelibrary.py +0 -32
  227. plex-api-client-0.9.0/src/plex_api/models/errors/deleteplaylist.py +0 -32
  228. plex-api-client-0.9.0/src/plex_api/models/errors/enablepapertrail.py +0 -32
  229. plex-api-client-0.9.0/src/plex_api/models/errors/getavailableclients.py +0 -32
  230. plex-api-client-0.9.0/src/plex_api/models/errors/getbutlertasks.py +0 -32
  231. plex-api-client-0.9.0/src/plex_api/models/errors/getdevices.py +0 -32
  232. plex-api-client-0.9.0/src/plex_api/models/errors/getfilehash.py +0 -32
  233. plex-api-client-0.9.0/src/plex_api/models/errors/getglobalhubs.py +0 -32
  234. plex-api-client-0.9.0/src/plex_api/models/errors/gethomedata.py +0 -32
  235. plex-api-client-0.9.0/src/plex_api/models/errors/getlibraries.py +0 -32
  236. plex-api-client-0.9.0/src/plex_api/models/errors/getlibrary.py +0 -32
  237. plex-api-client-0.9.0/src/plex_api/models/errors/getlibraryhubs.py +0 -32
  238. plex-api-client-0.9.0/src/plex_api/models/errors/getlibraryitems.py +0 -32
  239. plex-api-client-0.9.0/src/plex_api/models/errors/getmetadata.py +0 -32
  240. plex-api-client-0.9.0/src/plex_api/models/errors/getmetadatachildren.py +0 -32
  241. plex-api-client-0.9.0/src/plex_api/models/errors/getmyplexaccount.py +0 -32
  242. plex-api-client-0.9.0/src/plex_api/models/errors/getondeck.py +0 -32
  243. plex-api-client-0.9.0/src/plex_api/models/errors/getpin.py +0 -32
  244. plex-api-client-0.9.0/src/plex_api/models/errors/getplaylist.py +0 -32
  245. plex-api-client-0.9.0/src/plex_api/models/errors/getplaylistcontents.py +0 -32
  246. plex-api-client-0.9.0/src/plex_api/models/errors/getplaylists.py +0 -32
  247. plex-api-client-0.9.0/src/plex_api/models/errors/getrecentlyadded.py +0 -32
  248. plex-api-client-0.9.0/src/plex_api/models/errors/getresizedphoto.py +0 -32
  249. plex-api-client-0.9.0/src/plex_api/models/errors/getsearchresults.py +0 -32
  250. plex-api-client-0.9.0/src/plex_api/models/errors/getserveractivities.py +0 -32
  251. plex-api-client-0.9.0/src/plex_api/models/errors/getservercapabilities.py +0 -32
  252. plex-api-client-0.9.0/src/plex_api/models/errors/getserveridentity.py +0 -32
  253. plex-api-client-0.9.0/src/plex_api/models/errors/getserverlist.py +0 -32
  254. plex-api-client-0.9.0/src/plex_api/models/errors/getserverpreferences.py +0 -32
  255. plex-api-client-0.9.0/src/plex_api/models/errors/getsessionhistory.py +0 -32
  256. plex-api-client-0.9.0/src/plex_api/models/errors/getsessions.py +0 -32
  257. plex-api-client-0.9.0/src/plex_api/models/errors/getsourceconnectioninformation.py +0 -32
  258. plex-api-client-0.9.0/src/plex_api/models/errors/getstatistics.py +0 -32
  259. plex-api-client-0.9.0/src/plex_api/models/errors/gettimeline.py +0 -32
  260. plex-api-client-0.9.0/src/plex_api/models/errors/gettoken.py +0 -32
  261. plex-api-client-0.9.0/src/plex_api/models/errors/gettranscodesessions.py +0 -32
  262. plex-api-client-0.9.0/src/plex_api/models/errors/gettransienttoken.py +0 -32
  263. plex-api-client-0.9.0/src/plex_api/models/errors/getupdatestatus.py +0 -32
  264. plex-api-client-0.9.0/src/plex_api/models/errors/getwatchlist.py +0 -32
  265. plex-api-client-0.9.0/src/plex_api/models/errors/logline.py +0 -32
  266. plex-api-client-0.9.0/src/plex_api/models/errors/logmultiline.py +0 -32
  267. plex-api-client-0.9.0/src/plex_api/models/errors/markplayed.py +0 -32
  268. plex-api-client-0.9.0/src/plex_api/models/errors/markunplayed.py +0 -32
  269. plex-api-client-0.9.0/src/plex_api/models/errors/performsearch.py +0 -32
  270. plex-api-client-0.9.0/src/plex_api/models/errors/performvoicesearch.py +0 -32
  271. plex-api-client-0.9.0/src/plex_api/models/errors/refreshlibrary.py +0 -32
  272. plex-api-client-0.9.0/src/plex_api/models/errors/sdkerror.py +0 -24
  273. plex-api-client-0.9.0/src/plex_api/models/errors/searchlibrary.py +0 -32
  274. plex-api-client-0.9.0/src/plex_api/models/errors/startalltasks.py +0 -32
  275. plex-api-client-0.9.0/src/plex_api/models/errors/starttask.py +0 -32
  276. plex-api-client-0.9.0/src/plex_api/models/errors/startuniversaltranscode.py +0 -32
  277. plex-api-client-0.9.0/src/plex_api/models/errors/stopalltasks.py +0 -32
  278. plex-api-client-0.9.0/src/plex_api/models/errors/stoptask.py +0 -32
  279. plex-api-client-0.9.0/src/plex_api/models/errors/stoptranscodesession.py +0 -32
  280. plex-api-client-0.9.0/src/plex_api/models/errors/updateplaylist.py +0 -32
  281. plex-api-client-0.9.0/src/plex_api/models/errors/updateplayprogress.py +0 -32
  282. plex-api-client-0.9.0/src/plex_api/models/errors/uploadplaylist.py +0 -32
  283. plex-api-client-0.9.0/src/plex_api/models/internal/__init__.py +0 -5
  284. plex-api-client-0.9.0/src/plex_api/models/internal/globals.py +0 -15
  285. plex-api-client-0.9.0/src/plex_api/models/operations/__init__.py +0 -66
  286. plex-api-client-0.9.0/src/plex_api/models/operations/addplaylistcontents.py +0 -74
  287. plex-api-client-0.9.0/src/plex_api/models/operations/applyupdates.py +0 -41
  288. plex-api-client-0.9.0/src/plex_api/models/operations/cancelserveractivities.py +0 -25
  289. plex-api-client-0.9.0/src/plex_api/models/operations/checkforupdates.py +0 -33
  290. plex-api-client-0.9.0/src/plex_api/models/operations/clearplaylistcontents.py +0 -25
  291. plex-api-client-0.9.0/src/plex_api/models/operations/createplaylist.py +0 -93
  292. plex-api-client-0.9.0/src/plex_api/models/operations/deletelibrary.py +0 -25
  293. plex-api-client-0.9.0/src/plex_api/models/operations/deleteplaylist.py +0 -25
  294. plex-api-client-0.9.0/src/plex_api/models/operations/enablepapertrail.py +0 -17
  295. plex-api-client-0.9.0/src/plex_api/models/operations/getavailableclients.py +0 -58
  296. plex-api-client-0.9.0/src/plex_api/models/operations/getbutlertasks.py +0 -52
  297. plex-api-client-0.9.0/src/plex_api/models/operations/getdevices.py +0 -53
  298. plex-api-client-0.9.0/src/plex_api/models/operations/getfilehash.py +0 -28
  299. plex-api-client-0.9.0/src/plex_api/models/operations/getglobalhubs.py +0 -101
  300. plex-api-client-0.9.0/src/plex_api/models/operations/gethomedata.py +0 -36
  301. plex-api-client-0.9.0/src/plex_api/models/operations/getlibraries.py +0 -79
  302. plex-api-client-0.9.0/src/plex_api/models/operations/getlibrary.py +0 -154
  303. plex-api-client-0.9.0/src/plex_api/models/operations/getlibraryhubs.py +0 -206
  304. plex-api-client-0.9.0/src/plex_api/models/operations/getlibraryitems.py +0 -228
  305. plex-api-client-0.9.0/src/plex_api/models/operations/getmetadata.py +0 -264
  306. plex-api-client-0.9.0/src/plex_api/models/operations/getmetadatachildren.py +0 -115
  307. plex-api-client-0.9.0/src/plex_api/models/operations/getmyplexaccount.py +0 -50
  308. plex-api-client-0.9.0/src/plex_api/models/operations/getondeck.py +0 -166
  309. plex-api-client-0.9.0/src/plex_api/models/operations/getpin.py +0 -99
  310. plex-api-client-0.9.0/src/plex_api/models/operations/getplaylist.py +0 -70
  311. plex-api-client-0.9.0/src/plex_api/models/operations/getplaylistcontents.py +0 -178
  312. plex-api-client-0.9.0/src/plex_api/models/operations/getplaylists.py +0 -87
  313. plex-api-client-0.9.0/src/plex_api/models/operations/getrecentlyadded.py +0 -166
  314. plex-api-client-0.9.0/src/plex_api/models/operations/getresizedphoto.py +0 -50
  315. plex-api-client-0.9.0/src/plex_api/models/operations/getsearchresults.py +0 -182
  316. plex-api-client-0.9.0/src/plex_api/models/operations/getserveractivities.py +0 -63
  317. plex-api-client-0.9.0/src/plex_api/models/operations/getservercapabilities.py +0 -99
  318. plex-api-client-0.9.0/src/plex_api/models/operations/getserveridentity.py +0 -42
  319. plex-api-client-0.9.0/src/plex_api/models/operations/getserverlist.py +0 -53
  320. plex-api-client-0.9.0/src/plex_api/models/operations/getserverpreferences.py +0 -57
  321. plex-api-client-0.9.0/src/plex_api/models/operations/getsessionhistory.py +0 -67
  322. plex-api-client-0.9.0/src/plex_api/models/operations/getsessions.py +0 -185
  323. plex-api-client-0.9.0/src/plex_api/models/operations/getsourceconnectioninformation.py +0 -25
  324. plex-api-client-0.9.0/src/plex_api/models/operations/getstatistics.py +0 -93
  325. plex-api-client-0.9.0/src/plex_api/models/operations/gettimeline.py +0 -51
  326. plex-api-client-0.9.0/src/plex_api/models/operations/gettoken.py +0 -94
  327. plex-api-client-0.9.0/src/plex_api/models/operations/gettranscodesessions.py +0 -71
  328. plex-api-client-0.9.0/src/plex_api/models/operations/gettransienttoken.py +0 -38
  329. plex-api-client-0.9.0/src/plex_api/models/operations/getupdatestatus.py +0 -57
  330. plex-api-client-0.9.0/src/plex_api/models/operations/getwatchlist.py +0 -154
  331. plex-api-client-0.9.0/src/plex_api/models/operations/logline.py +0 -51
  332. plex-api-client-0.9.0/src/plex_api/models/operations/logmultiline.py +0 -17
  333. plex-api-client-0.9.0/src/plex_api/models/operations/markplayed.py +0 -25
  334. plex-api-client-0.9.0/src/plex_api/models/operations/markunplayed.py +0 -25
  335. plex-api-client-0.9.0/src/plex_api/models/operations/performsearch.py +0 -30
  336. plex-api-client-0.9.0/src/plex_api/models/operations/performvoicesearch.py +0 -30
  337. plex-api-client-0.9.0/src/plex_api/models/operations/refreshlibrary.py +0 -25
  338. plex-api-client-0.9.0/src/plex_api/models/operations/searchlibrary.py +0 -97
  339. plex-api-client-0.9.0/src/plex_api/models/operations/startalltasks.py +0 -17
  340. plex-api-client-0.9.0/src/plex_api/models/operations/starttask.py +0 -44
  341. plex-api-client-0.9.0/src/plex_api/models/operations/startuniversaltranscode.py +0 -56
  342. plex-api-client-0.9.0/src/plex_api/models/operations/stopalltasks.py +0 -17
  343. plex-api-client-0.9.0/src/plex_api/models/operations/stoptask.py +0 -44
  344. plex-api-client-0.9.0/src/plex_api/models/operations/stoptranscodesession.py +0 -25
  345. plex-api-client-0.9.0/src/plex_api/models/operations/updateplaylist.py +0 -30
  346. plex-api-client-0.9.0/src/plex_api/models/operations/updateplayprogress.py +0 -29
  347. plex-api-client-0.9.0/src/plex_api/models/operations/uploadplaylist.py +0 -48
  348. plex-api-client-0.9.0/src/plex_api/playlists.py +0 -644
  349. plex-api-client-0.9.0/src/plex_api/plex.py +0 -241
  350. plex-api-client-0.9.0/src/plex_api/sdk.py +0 -177
  351. plex-api-client-0.9.0/src/plex_api/sdkconfiguration.py +0 -55
  352. plex-api-client-0.9.0/src/plex_api/search.py +0 -237
  353. plex-api-client-0.9.0/src/plex_api/server.py +0 -541
  354. plex-api-client-0.9.0/src/plex_api/sessions.py +0 -280
  355. plex-api-client-0.9.0/src/plex_api/statistics.py +0 -89
  356. plex-api-client-0.9.0/src/plex_api/updater.py +0 -217
  357. plex-api-client-0.9.0/src/plex_api/utils/__init__.py +0 -4
  358. plex-api-client-0.9.0/src/plex_api/utils/retries.py +0 -119
  359. plex-api-client-0.9.0/src/plex_api/utils/utils.py +0 -1087
  360. plex-api-client-0.9.0/src/plex_api/video.py +0 -139
  361. plex-api-client-0.9.0/src/plex_api/watchlist.py +0 -88
  362. plex-api-client-0.9.0/src/plex_api_client.egg-info/PKG-INFO +0 -385
  363. plex-api-client-0.9.0/src/plex_api_client.egg-info/SOURCES.txt +0 -166
  364. plex-api-client-0.9.0/src/plex_api_client.egg-info/dependency_links.txt +0 -1
  365. plex-api-client-0.9.0/src/plex_api_client.egg-info/requires.txt +0 -17
  366. plex-api-client-0.9.0/src/plex_api_client.egg-info/top_level.txt +0 -1
  367. {plex-api-client-0.9.0 → plex_api_client-0.12.1}/LICENSE.md +0 -0
@@ -0,0 +1,605 @@
1
+ Metadata-Version: 2.1
2
+ Name: plex-api-client
3
+ Version: 0.12.1
4
+ Summary: Python Client SDK Generated by Speakeasy
5
+ Home-page: https://github.com/LukeHagar/plexpy.git
6
+ Author: Speakeasy
7
+ Requires-Python: >=3.8,<4.0
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.8
10
+ Classifier: Programming Language :: Python :: 3.9
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Requires-Dist: eval-type-backport (>=0.2.0,<0.3.0)
15
+ Requires-Dist: httpx (>=0.27.0,<0.28.0)
16
+ Requires-Dist: jsonpath-python (>=1.0.6,<2.0.0)
17
+ Requires-Dist: pydantic (>=2.9.0,<2.10.0)
18
+ Requires-Dist: python-dateutil (==2.8.2)
19
+ Requires-Dist: typing-inspect (>=0.9.0,<0.10.0)
20
+ Project-URL: Repository, https://github.com/LukeHagar/plexpy.git
21
+ Description-Content-Type: text/markdown
22
+
23
+ # plexpy
24
+
25
+ <div align="left">
26
+ <a href="https://speakeasyapi.dev/"><img src="https://custom-icon-badges.demolab.com/badge/-Built%20By%20Speakeasy-212015?style=for-the-badge&logoColor=FBE331&logo=speakeasy&labelColor=545454" /></a>
27
+ <a href="https://opensource.org/licenses/MIT">
28
+ <img src="https://img.shields.io/badge/License-MIT-blue.svg" style="width: 100px; height: 28px;" />
29
+ </a>
30
+ </div>
31
+
32
+ <!-- Start Summary [summary] -->
33
+ ## Summary
34
+
35
+ Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server
36
+ <!-- End Summary [summary] -->
37
+
38
+ <!-- Start Table of Contents [toc] -->
39
+ ## Table of Contents
40
+
41
+ * [SDK Installation](https://github.com/LukeHagar/plexpy/blob/master/#sdk-installation)
42
+ * [IDE Support](https://github.com/LukeHagar/plexpy/blob/master/#ide-support)
43
+ * [SDK Example Usage](https://github.com/LukeHagar/plexpy/blob/master/#sdk-example-usage)
44
+ * [Available Resources and Operations](https://github.com/LukeHagar/plexpy/blob/master/#available-resources-and-operations)
45
+ * [Global Parameters](https://github.com/LukeHagar/plexpy/blob/master/#global-parameters)
46
+ * [Retries](https://github.com/LukeHagar/plexpy/blob/master/#retries)
47
+ * [Error Handling](https://github.com/LukeHagar/plexpy/blob/master/#error-handling)
48
+ * [Server Selection](https://github.com/LukeHagar/plexpy/blob/master/#server-selection)
49
+ * [Custom HTTP Client](https://github.com/LukeHagar/plexpy/blob/master/#custom-http-client)
50
+ * [Authentication](https://github.com/LukeHagar/plexpy/blob/master/#authentication)
51
+ * [Debugging](https://github.com/LukeHagar/plexpy/blob/master/#debugging)
52
+ <!-- End Table of Contents [toc] -->
53
+
54
+ <!-- Start SDK Installation [installation] -->
55
+ ## SDK Installation
56
+
57
+ The SDK can be installed with either *pip* or *poetry* package managers.
58
+
59
+ ### PIP
60
+
61
+ *PIP* is the default package installer for Python, enabling easy installation and management of packages from PyPI via the command line.
62
+
63
+ ```bash
64
+ pip install plex-api-client
65
+ ```
66
+
67
+ ### Poetry
68
+
69
+ *Poetry* is a modern tool that simplifies dependency management and package publishing by using a single `pyproject.toml` file to handle project metadata and dependencies.
70
+
71
+ ```bash
72
+ poetry add plex-api-client
73
+ ```
74
+ <!-- End SDK Installation [installation] -->
75
+
76
+ <!-- Start IDE Support [idesupport] -->
77
+ ## IDE Support
78
+
79
+ ### PyCharm
80
+
81
+ Generally, the SDK will work well with most IDEs out of the box. However, when using PyCharm, you can enjoy much better integration with Pydantic by installing an additional plugin.
82
+
83
+ - [PyCharm Pydantic Plugin](https://docs.pydantic.dev/latest/integrations/pycharm/)
84
+ <!-- End IDE Support [idesupport] -->
85
+
86
+ <!-- Start SDK Example Usage [usage] -->
87
+ ## SDK Example Usage
88
+
89
+ ### Example
90
+
91
+ ```python
92
+ # Synchronous Example
93
+ from plex_api_client import PlexAPI
94
+
95
+ s = PlexAPI(
96
+ access_token="<YOUR_API_KEY_HERE>",
97
+ x_plex_client_identifier="gcgzw5rz2xovp84b4vha3a40",
98
+ )
99
+
100
+ res = s.server.get_server_capabilities()
101
+
102
+ if res.object is not None:
103
+ # handle response
104
+ pass
105
+ ```
106
+
107
+ </br>
108
+
109
+ The same SDK client can also be used to make asychronous requests by importing asyncio.
110
+ ```python
111
+ # Asynchronous Example
112
+ import asyncio
113
+ from plex_api_client import PlexAPI
114
+
115
+ async def main():
116
+ s = PlexAPI(
117
+ access_token="<YOUR_API_KEY_HERE>",
118
+ x_plex_client_identifier="gcgzw5rz2xovp84b4vha3a40",
119
+ )
120
+ res = await s.server.get_server_capabilities_async()
121
+ if res.object is not None:
122
+ # handle response
123
+ pass
124
+
125
+ asyncio.run(main())
126
+ ```
127
+ <!-- End SDK Example Usage [usage] -->
128
+
129
+ <!-- Start Available Resources and Operations [operations] -->
130
+ ## Available Resources and Operations
131
+
132
+ <details open>
133
+ <summary>Available methods</summary>
134
+
135
+ ### [activities](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/activities/README.md)
136
+
137
+ * [get_server_activities](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/activities/README.md#get_server_activities) - Get Server Activities
138
+ * [cancel_server_activities](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/activities/README.md#cancel_server_activities) - Cancel Server Activities
139
+
140
+ ### [authentication](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/authentication/README.md)
141
+
142
+ * [get_transient_token](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/authentication/README.md#get_transient_token) - Get a Transient Token
143
+ * [get_source_connection_information](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/authentication/README.md#get_source_connection_information) - Get Source Connection Information
144
+ * [get_token_details](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/authentication/README.md#get_token_details) - Get Token Details
145
+ * [post_users_sign_in_data](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/authentication/README.md#post_users_sign_in_data) - Get User Sign In Data
146
+
147
+ ### [butler](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/butler/README.md)
148
+
149
+ * [get_butler_tasks](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/butler/README.md#get_butler_tasks) - Get Butler tasks
150
+ * [start_all_tasks](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/butler/README.md#start_all_tasks) - Start all Butler tasks
151
+ * [stop_all_tasks](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/butler/README.md#stop_all_tasks) - Stop all Butler tasks
152
+ * [start_task](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/butler/README.md#start_task) - Start a single Butler task
153
+ * [stop_task](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/butler/README.md#stop_task) - Stop a single Butler task
154
+
155
+ ### [hubs](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/hubs/README.md)
156
+
157
+ * [get_global_hubs](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/hubs/README.md#get_global_hubs) - Get Global Hubs
158
+ * [get_library_hubs](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/hubs/README.md#get_library_hubs) - Get library specific hubs
159
+
160
+ ### [library](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md)
161
+
162
+ * [get_file_hash](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_file_hash) - Get Hash Value
163
+ * [get_recently_added](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_recently_added) - Get Recently Added
164
+ * [get_all_libraries](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_all_libraries) - Get All Libraries
165
+ * [get_library_details](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_library_details) - Get Library Details
166
+ * [delete_library](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#delete_library) - Delete Library Section
167
+ * [get_library_items](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_library_items) - Get Library Items
168
+ * [get_refresh_library_metadata](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_refresh_library_metadata) - Refresh Metadata Of The Library
169
+ * [get_search_library](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_search_library) - Search Library
170
+ * [get_meta_data_by_rating_key](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_meta_data_by_rating_key) - Get Metadata by RatingKey
171
+ * [get_metadata_children](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_metadata_children) - Get Items Children
172
+ * [get_top_watched_content](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_top_watched_content) - Get Top Watched Content
173
+ * [get_on_deck](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/library/README.md#get_on_deck) - Get On Deck
174
+
175
+ ### [log](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/log/README.md)
176
+
177
+ * [log_line](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/log/README.md#log_line) - Logging a single line message.
178
+ * [log_multi_line](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/log/README.md#log_multi_line) - Logging a multi-line message
179
+ * [enable_paper_trail](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/log/README.md#enable_paper_trail) - Enabling Papertrail
180
+
181
+ ### [media](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/media/README.md)
182
+
183
+ * [mark_played](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/media/README.md#mark_played) - Mark Media Played
184
+ * [mark_unplayed](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/media/README.md#mark_unplayed) - Mark Media Unplayed
185
+ * [update_play_progress](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/media/README.md#update_play_progress) - Update Media Play Progress
186
+ * [get_banner_image](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/media/README.md#get_banner_image) - Get Banner Image
187
+ * [get_thumb_image](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/media/README.md#get_thumb_image) - Get Thumb Image
188
+
189
+ ### [playlists](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/playlists/README.md)
190
+
191
+ * [create_playlist](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/playlists/README.md#create_playlist) - Create a Playlist
192
+ * [get_playlists](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/playlists/README.md#get_playlists) - Get All Playlists
193
+ * [get_playlist](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/playlists/README.md#get_playlist) - Retrieve Playlist
194
+ * [delete_playlist](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/playlists/README.md#delete_playlist) - Deletes a Playlist
195
+ * [update_playlist](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/playlists/README.md#update_playlist) - Update a Playlist
196
+ * [get_playlist_contents](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/playlists/README.md#get_playlist_contents) - Retrieve Playlist Contents
197
+ * [clear_playlist_contents](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/playlists/README.md#clear_playlist_contents) - Delete Playlist Contents
198
+ * [add_playlist_contents](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/playlists/README.md#add_playlist_contents) - Adding to a Playlist
199
+ * [upload_playlist](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/playlists/README.md#upload_playlist) - Upload Playlist
200
+
201
+ ### [plex](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/plex/README.md)
202
+
203
+ * [get_companions_data](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/plex/README.md#get_companions_data) - Get Companions Data
204
+ * [get_user_friends](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/plex/README.md#get_user_friends) - Get list of friends of the user logged in
205
+ * [get_geo_data](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/plex/README.md#get_geo_data) - Get Geo Data
206
+ * [get_home_data](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/plex/README.md#get_home_data) - Get Plex Home Data
207
+ * [get_server_resources](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/plex/README.md#get_server_resources) - Get Server Resources
208
+ * [get_pin](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/plex/README.md#get_pin) - Get a Pin
209
+ * [get_token_by_pin_id](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/plex/README.md#get_token_by_pin_id) - Get Access Token by PinId
210
+
211
+
212
+ ### [search](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/search/README.md)
213
+
214
+ * [perform_search](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/search/README.md#perform_search) - Perform a search
215
+ * [perform_voice_search](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/search/README.md#perform_voice_search) - Perform a voice search
216
+ * [get_search_results](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/search/README.md#get_search_results) - Get Search Results
217
+
218
+ ### [server](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/server/README.md)
219
+
220
+ * [get_server_capabilities](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/server/README.md#get_server_capabilities) - Get Server Capabilities
221
+ * [get_server_preferences](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/server/README.md#get_server_preferences) - Get Server Preferences
222
+ * [get_available_clients](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/server/README.md#get_available_clients) - Get Available Clients
223
+ * [get_devices](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/server/README.md#get_devices) - Get Devices
224
+ * [get_server_identity](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/server/README.md#get_server_identity) - Get Server Identity
225
+ * [get_my_plex_account](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/server/README.md#get_my_plex_account) - Get MyPlex Account
226
+ * [get_resized_photo](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/server/README.md#get_resized_photo) - Get a Resized Photo
227
+ * [get_media_providers](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/server/README.md#get_media_providers) - Get Media Providers
228
+ * [get_server_list](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/server/README.md#get_server_list) - Get Server List
229
+
230
+ ### [sessions](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/sessions/README.md)
231
+
232
+ * [get_sessions](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/sessions/README.md#get_sessions) - Get Active Sessions
233
+ * [get_session_history](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/sessions/README.md#get_session_history) - Get Session History
234
+ * [get_transcode_sessions](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/sessions/README.md#get_transcode_sessions) - Get Transcode Sessions
235
+ * [stop_transcode_session](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/sessions/README.md#stop_transcode_session) - Stop a Transcode Session
236
+
237
+ ### [statistics](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/statistics/README.md)
238
+
239
+ * [get_statistics](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/statistics/README.md#get_statistics) - Get Media Statistics
240
+ * [get_resources_statistics](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/statistics/README.md#get_resources_statistics) - Get Resources Statistics
241
+ * [get_bandwidth_statistics](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/statistics/README.md#get_bandwidth_statistics) - Get Bandwidth Statistics
242
+
243
+ ### [updater](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/updater/README.md)
244
+
245
+ * [get_update_status](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/updater/README.md#get_update_status) - Querying status of updates
246
+ * [check_for_updates](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/updater/README.md#check_for_updates) - Checking for updates
247
+ * [apply_updates](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/updater/README.md#apply_updates) - Apply Updates
248
+
249
+ ### [video](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/video/README.md)
250
+
251
+ * [get_timeline](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/video/README.md#get_timeline) - Get the timeline for a media item
252
+ * [start_universal_transcode](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/video/README.md#start_universal_transcode) - Start Universal Transcode
253
+
254
+ ### [watchlist](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/watchlist/README.md)
255
+
256
+ * [get_watch_list](https://github.com/LukeHagar/plexpy/blob/master/docs/sdks/watchlist/README.md#get_watch_list) - Get User Watchlist
257
+
258
+ </details>
259
+ <!-- End Available Resources and Operations [operations] -->
260
+
261
+ <!-- Start Retries [retries] -->
262
+ ## Retries
263
+
264
+ Some of the endpoints in this SDK support retries. If you use the SDK without any configuration, it will fall back to the default retry strategy provided by the API. However, the default retry strategy can be overridden on a per-operation basis, or across the entire SDK.
265
+
266
+ To change the default retry strategy for a single API call, simply provide a `RetryConfig` object to the call:
267
+ ```python
268
+ from plex_api.utils import BackoffStrategy, RetryConfig
269
+ from plex_api_client import PlexAPI
270
+
271
+ s = PlexAPI(
272
+ access_token="<YOUR_API_KEY_HERE>",
273
+ x_plex_client_identifier="gcgzw5rz2xovp84b4vha3a40",
274
+ )
275
+
276
+ res = s.server.get_server_capabilities(,
277
+ RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False))
278
+
279
+ if res.object is not None:
280
+ # handle response
281
+ pass
282
+
283
+ ```
284
+
285
+ If you'd like to override the default retry strategy for all operations that support retries, you can use the `retry_config` optional parameter when initializing the SDK:
286
+ ```python
287
+ from plex_api.utils import BackoffStrategy, RetryConfig
288
+ from plex_api_client import PlexAPI
289
+
290
+ s = PlexAPI(
291
+ retry_config=RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False),
292
+ access_token="<YOUR_API_KEY_HERE>",
293
+ x_plex_client_identifier="gcgzw5rz2xovp84b4vha3a40",
294
+ )
295
+
296
+ res = s.server.get_server_capabilities()
297
+
298
+ if res.object is not None:
299
+ # handle response
300
+ pass
301
+
302
+ ```
303
+ <!-- End Retries [retries] -->
304
+
305
+ <!-- Start Error Handling [errors] -->
306
+ ## Error Handling
307
+
308
+ Handling errors in this SDK should largely match your expectations. All operations return a response object or raise an error. If Error objects are specified in your OpenAPI Spec, the SDK will raise the appropriate Error type.
309
+
310
+ | Error Object | Status Code | Content Type |
311
+ | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
312
+ | errors.GetServerCapabilitiesBadRequest | 400 | application/json |
313
+ | errors.GetServerCapabilitiesUnauthorized | 401 | application/json |
314
+ | errors.SDKError | 4xx-5xx | */* |
315
+
316
+ ### Example
317
+
318
+ ```python
319
+ from plex_api_client import PlexAPI
320
+ from plex_api_client.models import errors
321
+
322
+ s = PlexAPI(
323
+ access_token="<YOUR_API_KEY_HERE>",
324
+ x_plex_client_identifier="gcgzw5rz2xovp84b4vha3a40",
325
+ )
326
+
327
+ res = None
328
+ try:
329
+ res = s.server.get_server_capabilities()
330
+
331
+ if res.object is not None:
332
+ # handle response
333
+ pass
334
+
335
+ except errors.GetServerCapabilitiesBadRequest as e:
336
+ # handle e.data: errors.GetServerCapabilitiesBadRequestData
337
+ raise(e)
338
+ except errors.GetServerCapabilitiesUnauthorized as e:
339
+ # handle e.data: errors.GetServerCapabilitiesUnauthorizedData
340
+ raise(e)
341
+ except errors.SDKError as e:
342
+ # handle exception
343
+ raise(e)
344
+ ```
345
+ <!-- End Error Handling [errors] -->
346
+
347
+ <!-- Start Server Selection [server] -->
348
+ ## Server Selection
349
+
350
+ ### Select Server by Index
351
+
352
+ You can override the default server globally by passing a server index to the `server_idx: int` optional parameter when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the indexes associated with the available servers:
353
+
354
+ | # | Server | Variables |
355
+ | - | ------ | --------- |
356
+ | 0 | `{protocol}://{ip}:{port}` | `protocol` (default is `https`), `ip` (default is `10.10.10.47`), `port` (default is `32400`) |
357
+
358
+ #### Example
359
+
360
+ ```python
361
+ from plex_api_client import PlexAPI
362
+
363
+ s = PlexAPI(
364
+ server_idx=0,
365
+ access_token="<YOUR_API_KEY_HERE>",
366
+ x_plex_client_identifier="gcgzw5rz2xovp84b4vha3a40",
367
+ )
368
+
369
+ res = s.server.get_server_capabilities()
370
+
371
+ if res.object is not None:
372
+ # handle response
373
+ pass
374
+
375
+ ```
376
+
377
+ #### Variables
378
+
379
+ Some of the server options above contain variables. If you want to set the values of those variables, the following optional parameters are available when initializing the SDK client instance:
380
+ * `protocol: models.ServerProtocol`
381
+ * `ip: str`
382
+ * `port: str`
383
+
384
+ ### Override Server URL Per-Client
385
+
386
+ The default server can also be overridden globally by passing a URL to the `server_url: str` optional parameter when initializing the SDK client instance. For example:
387
+ ```python
388
+ from plex_api_client import PlexAPI
389
+
390
+ s = PlexAPI(
391
+ server_url="{protocol}://{ip}:{port}",
392
+ access_token="<YOUR_API_KEY_HERE>",
393
+ x_plex_client_identifier="gcgzw5rz2xovp84b4vha3a40",
394
+ )
395
+
396
+ res = s.server.get_server_capabilities()
397
+
398
+ if res.object is not None:
399
+ # handle response
400
+ pass
401
+
402
+ ```
403
+
404
+ ### Override Server URL Per-Operation
405
+
406
+ The server URL can also be overridden on a per-operation basis, provided a server list was specified for the operation. For example:
407
+ ```python
408
+ from plex_api_client import PlexAPI
409
+
410
+ s = PlexAPI(
411
+ access_token="<YOUR_API_KEY_HERE>",
412
+ x_plex_client_identifier="gcgzw5rz2xovp84b4vha3a40",
413
+ )
414
+
415
+ res = s.plex.get_companions_data(server_url="https://plex.tv/api/v2/")
416
+
417
+ if res.response_bodies is not None:
418
+ # handle response
419
+ pass
420
+
421
+ ```
422
+ <!-- End Server Selection [server] -->
423
+
424
+ <!-- Start Custom HTTP Client [http-client] -->
425
+ ## Custom HTTP Client
426
+
427
+ The Python SDK makes API calls using the [httpx](https://www.python-httpx.org/) HTTP library. In order to provide a convenient way to configure timeouts, cookies, proxies, custom headers, and other low-level configuration, you can initialize the SDK client with your own HTTP client instance.
428
+ Depending on whether you are using the sync or async version of the SDK, you can pass an instance of `HttpClient` or `AsyncHttpClient` respectively, which are Protocol's ensuring that the client has the necessary methods to make API calls.
429
+ This allows you to wrap the client with your own custom logic, such as adding custom headers, logging, or error handling, or you can just pass an instance of `httpx.Client` or `httpx.AsyncClient` directly.
430
+
431
+ For example, you could specify a header for every request that this sdk makes as follows:
432
+ ```python
433
+ from plex_api_client import PlexAPI
434
+ import httpx
435
+
436
+ http_client = httpx.Client(headers={"x-custom-header": "someValue"})
437
+ s = PlexAPI(client=http_client)
438
+ ```
439
+
440
+ or you could wrap the client with your own custom logic:
441
+ ```python
442
+ from plex_api_client import PlexAPI
443
+ from plex_api_client.httpclient import AsyncHttpClient
444
+ import httpx
445
+
446
+ class CustomClient(AsyncHttpClient):
447
+ client: AsyncHttpClient
448
+
449
+ def __init__(self, client: AsyncHttpClient):
450
+ self.client = client
451
+
452
+ async def send(
453
+ self,
454
+ request: httpx.Request,
455
+ *,
456
+ stream: bool = False,
457
+ auth: Union[
458
+ httpx._types.AuthTypes, httpx._client.UseClientDefault, None
459
+ ] = httpx.USE_CLIENT_DEFAULT,
460
+ follow_redirects: Union[
461
+ bool, httpx._client.UseClientDefault
462
+ ] = httpx.USE_CLIENT_DEFAULT,
463
+ ) -> httpx.Response:
464
+ request.headers["Client-Level-Header"] = "added by client"
465
+
466
+ return await self.client.send(
467
+ request, stream=stream, auth=auth, follow_redirects=follow_redirects
468
+ )
469
+
470
+ def build_request(
471
+ self,
472
+ method: str,
473
+ url: httpx._types.URLTypes,
474
+ *,
475
+ content: Optional[httpx._types.RequestContent] = None,
476
+ data: Optional[httpx._types.RequestData] = None,
477
+ files: Optional[httpx._types.RequestFiles] = None,
478
+ json: Optional[Any] = None,
479
+ params: Optional[httpx._types.QueryParamTypes] = None,
480
+ headers: Optional[httpx._types.HeaderTypes] = None,
481
+ cookies: Optional[httpx._types.CookieTypes] = None,
482
+ timeout: Union[
483
+ httpx._types.TimeoutTypes, httpx._client.UseClientDefault
484
+ ] = httpx.USE_CLIENT_DEFAULT,
485
+ extensions: Optional[httpx._types.RequestExtensions] = None,
486
+ ) -> httpx.Request:
487
+ return self.client.build_request(
488
+ method,
489
+ url,
490
+ content=content,
491
+ data=data,
492
+ files=files,
493
+ json=json,
494
+ params=params,
495
+ headers=headers,
496
+ cookies=cookies,
497
+ timeout=timeout,
498
+ extensions=extensions,
499
+ )
500
+
501
+ s = PlexAPI(async_client=CustomClient(httpx.AsyncClient()))
502
+ ```
503
+ <!-- End Custom HTTP Client [http-client] -->
504
+
505
+ <!-- Start Authentication [security] -->
506
+ ## Authentication
507
+
508
+ ### Per-Client Security Schemes
509
+
510
+ This SDK supports the following security scheme globally:
511
+
512
+ | Name | Type | Scheme |
513
+ | -------------- | -------------- | -------------- |
514
+ | `access_token` | apiKey | API key |
515
+
516
+ To authenticate with the API the `access_token` parameter must be set when initializing the SDK client instance. For example:
517
+ ```python
518
+ from plex_api_client import PlexAPI
519
+
520
+ s = PlexAPI(
521
+ access_token="<YOUR_API_KEY_HERE>",
522
+ x_plex_client_identifier="gcgzw5rz2xovp84b4vha3a40",
523
+ )
524
+
525
+ res = s.server.get_server_capabilities()
526
+
527
+ if res.object is not None:
528
+ # handle response
529
+ pass
530
+
531
+ ```
532
+ <!-- End Authentication [security] -->
533
+
534
+ <!-- Start Global Parameters [global-parameters] -->
535
+ ## Global Parameters
536
+
537
+ A parameter is configured globally. This parameter may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, This global value will be used as the default on the operations that use it. When such operations are called, there is a place in each to override the global value, if needed.
538
+
539
+ For example, you can set `X-Plex-Client-Identifier` to `"gcgzw5rz2xovp84b4vha3a40"` at SDK initialization and then you do not have to pass the same value on calls to operations like `get_server_resources`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration.
540
+
541
+
542
+ ### Available Globals
543
+
544
+ The following global parameter is available.
545
+
546
+ | Name | Type | Required | Description |
547
+ | ---- | ---- |:--------:| ----------- |
548
+ | x_plex_client_identifier | str | | The unique identifier for the client application
549
+ This is used to track the client application and its usage
550
+ (UUID, serial number, or other number unique per device)
551
+ |
552
+
553
+
554
+ ### Example
555
+
556
+ ```python
557
+ from plex_api_client import PlexAPI
558
+ from plex_api_client.models import operations
559
+
560
+ s = PlexAPI(
561
+ access_token="<YOUR_API_KEY_HERE>",
562
+ x_plex_client_identifier="gcgzw5rz2xovp84b4vha3a40",
563
+ )
564
+
565
+ res = s.plex.get_server_resources(x_plex_client_identifier="gcgzw5rz2xovp84b4vha3a40", include_https=operations.IncludeHTTPS.ONE, include_relay=operations.IncludeRelay.ONE, include_i_pv6=operations.IncludeIPv6.ONE)
566
+
567
+ if res.plex_devices is not None:
568
+ # handle response
569
+ pass
570
+
571
+ ```
572
+ <!-- End Global Parameters [global-parameters] -->
573
+
574
+ <!-- Start Debugging [debug] -->
575
+ ## Debugging
576
+
577
+ You can setup your SDK to emit debug logs for SDK requests and responses.
578
+
579
+ You can pass your own logger class directly into your SDK.
580
+ ```python
581
+ from plex_api_client import PlexAPI
582
+ import logging
583
+
584
+ logging.basicConfig(level=logging.DEBUG)
585
+ s = PlexAPI(debug_logger=logging.getLogger("plex_api_client"))
586
+ ```
587
+ <!-- End Debugging [debug] -->
588
+
589
+ <!-- Placeholder for Future Speakeasy SDK Sections -->
590
+
591
+ # Development
592
+
593
+ ## Maturity
594
+
595
+ This SDK is in beta, and there may be breaking changes between versions without a major version update. Therefore, we recommend pinning usage
596
+ to a specific package version. This way, you can install the same version each time without breaking changes unless you are intentionally
597
+ looking for the latest version.
598
+
599
+ ## Contributions
600
+
601
+ While we value open-source contributions to this SDK, this library is generated programmatically.
602
+ Feel free to open a PR or a Github issue as a proof of concept and we'll do our best to include it in a future release!
603
+
604
+ ### SDK Created by [Speakeasy](https://docs.speakeasyapi.dev/docs/using-speakeasy/client-sdks)
605
+