plex-api-client 0.18.0__tar.gz → 0.19.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. plex_api_client-0.18.0/README-PYPI.md → plex_api_client-0.19.0/PKG-INFO +35 -42
  2. plex_api_client-0.18.0/PKG-INFO → plex_api_client-0.19.0/README-PYPI.md +11 -65
  3. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/pyproject.toml +2 -2
  4. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/__init__.py +4 -0
  5. plex_api_client-0.19.0/src/plex_api_client/_version.py +12 -0
  6. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/activities.py +20 -28
  7. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/authentication.py +40 -56
  8. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/butler.py +50 -70
  9. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/hubs.py +30 -42
  10. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/library.py +130 -182
  11. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/log.py +30 -42
  12. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/media.py +66 -78
  13. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/get_library_items.py +6 -3
  14. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/get_recently_added.py +1 -0
  15. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/get_recently_added_library.py +1 -0
  16. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/get_search_library.py +1 -0
  17. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getplaylistcontents.py +1 -0
  18. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/gettokendetails.py +4 -9
  19. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/gettopwatchedcontent.py +1 -0
  20. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/post_users_sign_in_data.py +4 -9
  21. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/playlists.py +90 -126
  22. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/plex.py +70 -98
  23. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/sdkconfiguration.py +3 -3
  24. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/search.py +30 -42
  25. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/server.py +90 -126
  26. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/sessions.py +40 -56
  27. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/statistics.py +30 -42
  28. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/updater.py +30 -42
  29. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/utils/__init__.py +6 -0
  30. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/utils/annotations.py +13 -2
  31. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/utils/serializers.py +12 -0
  32. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/video.py +20 -28
  33. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/watchlist.py +10 -14
  34. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/LICENSE.md +0 -0
  35. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/py.typed +0 -0
  36. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/_hooks/__init__.py +0 -0
  37. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/_hooks/registration.py +0 -0
  38. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/_hooks/sdkhooks.py +0 -0
  39. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/_hooks/types.py +0 -0
  40. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/basesdk.py +0 -0
  41. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/httpclient.py +0 -0
  42. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/components/__init__.py +0 -0
  43. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/components/security.py +0 -0
  44. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/__init__.py +0 -0
  45. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/addplaylistcontents.py +0 -0
  46. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/applyupdates.py +0 -0
  47. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/cancelserveractivities.py +0 -0
  48. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/checkforupdates.py +0 -0
  49. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/clearplaylistcontents.py +0 -0
  50. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/createplaylist.py +0 -0
  51. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/deletelibrary.py +0 -0
  52. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/deleteplaylist.py +0 -0
  53. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/enablepapertrail.py +0 -0
  54. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/get_all_libraries.py +0 -0
  55. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/get_banner_image.py +0 -0
  56. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/get_library_details.py +0 -0
  57. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/get_library_items.py +0 -0
  58. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/get_media_providers.py +0 -0
  59. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/get_meta_data_by_rating_key.py +0 -0
  60. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/get_recently_added_library.py +0 -0
  61. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/get_refresh_library_metadata.py +0 -0
  62. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/get_search_all_libraries.py +0 -0
  63. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/get_search_library.py +0 -0
  64. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/get_server_identity.py +0 -0
  65. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/get_server_resources.py +0 -0
  66. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/get_thumb_image.py +0 -0
  67. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/get_watch_list.py +0 -0
  68. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getavailableclients.py +0 -0
  69. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getbandwidthstatistics.py +0 -0
  70. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getbutlertasks.py +0 -0
  71. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getcompanionsdata.py +0 -0
  72. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getdevices.py +0 -0
  73. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getfilehash.py +0 -0
  74. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getgeodata.py +0 -0
  75. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getglobalhubs.py +0 -0
  76. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/gethomedata.py +0 -0
  77. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getlibraryhubs.py +0 -0
  78. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getmetadatachildren.py +0 -0
  79. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getmyplexaccount.py +0 -0
  80. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getondeck.py +0 -0
  81. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getpin.py +0 -0
  82. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getplaylist.py +0 -0
  83. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getplaylistcontents.py +0 -0
  84. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getplaylists.py +0 -0
  85. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getresizedphoto.py +0 -0
  86. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getresourcesstatistics.py +0 -0
  87. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getsearchresults.py +0 -0
  88. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getserveractivities.py +0 -0
  89. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getservercapabilities.py +0 -0
  90. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getserverlist.py +0 -0
  91. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getserverpreferences.py +0 -0
  92. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getsessionhistory.py +0 -0
  93. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getsessions.py +0 -0
  94. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getsourceconnectioninformation.py +0 -0
  95. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getstatistics.py +0 -0
  96. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/gettimeline.py +0 -0
  97. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/gettokenbypinid.py +0 -0
  98. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/gettokendetails.py +0 -0
  99. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/gettopwatchedcontent.py +0 -0
  100. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/gettranscodesessions.py +0 -0
  101. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/gettransienttoken.py +0 -0
  102. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getupdatestatus.py +0 -0
  103. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/getuserfriends.py +0 -0
  104. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/logline.py +0 -0
  105. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/logmultiline.py +0 -0
  106. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/markplayed.py +0 -0
  107. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/markunplayed.py +0 -0
  108. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/performsearch.py +0 -0
  109. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/performvoicesearch.py +0 -0
  110. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/post_users_sign_in_data.py +0 -0
  111. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/sdkerror.py +0 -0
  112. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/startalltasks.py +0 -0
  113. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/starttask.py +0 -0
  114. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/startuniversaltranscode.py +0 -0
  115. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/stopalltasks.py +0 -0
  116. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/stoptask.py +0 -0
  117. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/stoptranscodesession.py +0 -0
  118. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/updateplaylist.py +0 -0
  119. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/updateplayprogress.py +0 -0
  120. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/errors/uploadplaylist.py +0 -0
  121. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/internal/__init__.py +0 -0
  122. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/internal/globals.py +0 -0
  123. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/__init__.py +0 -0
  124. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/addplaylistcontents.py +0 -0
  125. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/applyupdates.py +0 -0
  126. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/cancelserveractivities.py +0 -0
  127. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/checkforupdates.py +0 -0
  128. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/clearplaylistcontents.py +0 -0
  129. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/createplaylist.py +0 -0
  130. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/deletelibrary.py +0 -0
  131. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/deleteplaylist.py +0 -0
  132. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/enablepapertrail.py +0 -0
  133. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/get_all_libraries.py +0 -0
  134. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/get_banner_image.py +0 -0
  135. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/get_library_details.py +0 -0
  136. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/get_media_providers.py +0 -0
  137. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/get_meta_data_by_rating_key.py +0 -0
  138. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/get_refresh_library_metadata.py +0 -0
  139. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/get_search_all_libraries.py +0 -0
  140. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/get_server_identity.py +0 -0
  141. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/get_server_resources.py +0 -0
  142. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/get_thumb_image.py +0 -0
  143. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/get_watch_list.py +0 -0
  144. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getavailableclients.py +0 -0
  145. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getbandwidthstatistics.py +0 -0
  146. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getbutlertasks.py +0 -0
  147. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getcompanionsdata.py +0 -0
  148. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getdevices.py +0 -0
  149. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getfilehash.py +0 -0
  150. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getgeodata.py +0 -0
  151. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getglobalhubs.py +0 -0
  152. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/gethomedata.py +0 -0
  153. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getlibraryhubs.py +0 -0
  154. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getmetadatachildren.py +0 -0
  155. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getmyplexaccount.py +0 -0
  156. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getondeck.py +0 -0
  157. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getpin.py +0 -0
  158. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getplaylist.py +0 -0
  159. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getplaylists.py +0 -0
  160. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getresizedphoto.py +0 -0
  161. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getresourcesstatistics.py +0 -0
  162. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getsearchresults.py +0 -0
  163. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getserveractivities.py +0 -0
  164. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getservercapabilities.py +0 -0
  165. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getserverlist.py +0 -0
  166. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getserverpreferences.py +0 -0
  167. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getsessionhistory.py +0 -0
  168. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getsessions.py +0 -0
  169. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getsourceconnectioninformation.py +0 -0
  170. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getstatistics.py +0 -0
  171. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/gettimeline.py +0 -0
  172. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/gettokenbypinid.py +0 -0
  173. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/gettranscodesessions.py +0 -0
  174. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/gettransienttoken.py +0 -0
  175. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getupdatestatus.py +0 -0
  176. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/getuserfriends.py +0 -0
  177. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/logline.py +0 -0
  178. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/logmultiline.py +0 -0
  179. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/markplayed.py +0 -0
  180. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/markunplayed.py +0 -0
  181. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/performsearch.py +0 -0
  182. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/performvoicesearch.py +0 -0
  183. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/startalltasks.py +0 -0
  184. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/starttask.py +0 -0
  185. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/startuniversaltranscode.py +0 -0
  186. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/stopalltasks.py +0 -0
  187. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/stoptask.py +0 -0
  188. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/stoptranscodesession.py +0 -0
  189. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/updateplaylist.py +0 -0
  190. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/updateplayprogress.py +0 -0
  191. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/models/operations/uploadplaylist.py +0 -0
  192. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/py.typed +0 -0
  193. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/sdk.py +0 -0
  194. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/types/__init__.py +0 -0
  195. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/types/basemodel.py +0 -0
  196. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/utils/enums.py +0 -0
  197. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/utils/eventstreaming.py +0 -0
  198. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/utils/forms.py +0 -0
  199. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/utils/headers.py +0 -0
  200. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/utils/logger.py +0 -0
  201. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/utils/metadata.py +0 -0
  202. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/utils/queryparams.py +0 -0
  203. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/utils/requestbodies.py +0 -0
  204. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/utils/retries.py +0 -0
  205. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/utils/security.py +0 -0
  206. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/utils/url.py +0 -0
  207. {plex_api_client-0.18.0 → plex_api_client-0.19.0}/src/plex_api_client/utils/values.py +0 -0
@@ -1,3 +1,26 @@
1
+ Metadata-Version: 2.1
2
+ Name: plex-api-client
3
+ Version: 0.19.0
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
+ Classifier: Programming Language :: Python :: 3.13
15
+ Requires-Dist: eval-type-backport (>=0.2.0,<0.3.0)
16
+ Requires-Dist: httpx (>=0.27.0,<0.28.0)
17
+ Requires-Dist: jsonpath-python (>=1.0.6,<2.0.0)
18
+ Requires-Dist: pydantic (>=2.9.2,<2.10.0)
19
+ Requires-Dist: python-dateutil (==2.8.2)
20
+ Requires-Dist: typing-inspect (>=0.9.0,<0.10.0)
21
+ Project-URL: Repository, https://github.com/LukeHagar/plexpy.git
22
+ Description-Content-Type: text/markdown
23
+
1
24
  # plexpy
2
25
 
3
26
  <div align="left">
@@ -338,11 +361,11 @@ By default, an API error will raise a errors.SDKError exception, which has the f
338
361
 
339
362
  When custom error responses are specified for an operation, the SDK may also raise their associated exceptions. You can refer to respective *Errors* tables in SDK docs for more details on possible exception types for each operation. For example, the `get_server_capabilities_async` method may raise the following exceptions:
340
363
 
341
- | Error Type | Status Code | Content Type |
342
- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
343
- | errors.GetServerCapabilitiesBadRequest | 400 | application/json |
344
- | errors.GetServerCapabilitiesUnauthorized | 401 | application/json |
345
- | errors.SDKError | 4XX, 5XX | \*/\* |
364
+ | Error Type | Status Code | Content Type |
365
+ | ---------------------------------------- | ----------- | ---------------- |
366
+ | errors.GetServerCapabilitiesBadRequest | 400 | application/json |
367
+ | errors.GetServerCapabilitiesUnauthorized | 401 | application/json |
368
+ | errors.SDKError | 4XX, 5XX | \*/\* |
346
369
 
347
370
  ### Example
348
371
 
@@ -382,40 +405,9 @@ except errors.SDKError as e:
382
405
  <!-- Start Server Selection [server] -->
383
406
  ## Server Selection
384
407
 
385
- ### Select Server by Index
386
-
387
- 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:
388
-
389
- | # | Server | Variables |
390
- | - | ------ | --------- |
391
- | 0 | `{protocol}://{ip}:{port}` | `protocol` (default is `https`), `ip` (default is `10.10.10.47`), `port` (default is `32400`) |
392
-
393
- #### Example
394
-
395
- ```python
396
- from plex_api_client import PlexAPI
397
-
398
- s = PlexAPI(
399
- server_idx=0,
400
- access_token="<YOUR_API_KEY_HERE>",
401
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
402
- client_name="Plex for Roku",
403
- client_version="2.4.1",
404
- platform="Roku",
405
- device_nickname="Roku 3",
406
- )
407
-
408
- res = s.server.get_server_capabilities()
408
+ ### Server Variables
409
409
 
410
- if res.object is not None:
411
- # handle response
412
- pass
413
-
414
- ```
415
-
416
- #### Variables
417
-
418
- 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:
410
+ The default server `{protocol}://{ip}:{port}` contains variables and is set to `https://10.10.10.47:32400` by default. To override default values, the following parameters are available when initializing the SDK client instance:
419
411
  * `protocol: models.ServerProtocol`
420
412
  * `ip: str`
421
413
  * `port: str`
@@ -427,7 +419,7 @@ The default server can also be overridden globally by passing a URL to the `serv
427
419
  from plex_api_client import PlexAPI
428
420
 
429
421
  s = PlexAPI(
430
- server_url="{protocol}://{ip}:{port}",
422
+ server_url="https://10.10.10.47:32400",
431
423
  access_token="<YOUR_API_KEY_HERE>",
432
424
  client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
433
425
  client_name="Plex for Roku",
@@ -556,9 +548,9 @@ s = PlexAPI(async_client=CustomClient(httpx.AsyncClient()))
556
548
 
557
549
  This SDK supports the following security scheme globally:
558
550
 
559
- | Name | Type | Scheme |
560
- | -------------- | -------------- | -------------- |
561
- | `access_token` | apiKey | API key |
551
+ | Name | Type | Scheme |
552
+ | -------------- | ------ | ------- |
553
+ | `access_token` | apiKey | API key |
562
554
 
563
555
  To authenticate with the API the `access_token` parameter must be set when initializing the SDK client instance. For example:
564
556
  ```python
@@ -613,3 +605,4 @@ While we value open-source contributions to this SDK, this library is generated
613
605
  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!
614
606
 
615
607
  ### SDK Created by [Speakeasy](https://docs.speakeasyapi.dev/docs/using-speakeasy/client-sdks)
608
+
@@ -1,25 +1,3 @@
1
- Metadata-Version: 2.1
2
- Name: plex-api-client
3
- Version: 0.18.0
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
1
  # plexpy
24
2
 
25
3
  <div align="left">
@@ -360,11 +338,11 @@ By default, an API error will raise a errors.SDKError exception, which has the f
360
338
 
361
339
  When custom error responses are specified for an operation, the SDK may also raise their associated exceptions. You can refer to respective *Errors* tables in SDK docs for more details on possible exception types for each operation. For example, the `get_server_capabilities_async` method may raise the following exceptions:
362
340
 
363
- | Error Type | Status Code | Content Type |
364
- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
365
- | errors.GetServerCapabilitiesBadRequest | 400 | application/json |
366
- | errors.GetServerCapabilitiesUnauthorized | 401 | application/json |
367
- | errors.SDKError | 4XX, 5XX | \*/\* |
341
+ | Error Type | Status Code | Content Type |
342
+ | ---------------------------------------- | ----------- | ---------------- |
343
+ | errors.GetServerCapabilitiesBadRequest | 400 | application/json |
344
+ | errors.GetServerCapabilitiesUnauthorized | 401 | application/json |
345
+ | errors.SDKError | 4XX, 5XX | \*/\* |
368
346
 
369
347
  ### Example
370
348
 
@@ -404,40 +382,9 @@ except errors.SDKError as e:
404
382
  <!-- Start Server Selection [server] -->
405
383
  ## Server Selection
406
384
 
407
- ### Select Server by Index
408
-
409
- 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:
410
-
411
- | # | Server | Variables |
412
- | - | ------ | --------- |
413
- | 0 | `{protocol}://{ip}:{port}` | `protocol` (default is `https`), `ip` (default is `10.10.10.47`), `port` (default is `32400`) |
414
-
415
- #### Example
416
-
417
- ```python
418
- from plex_api_client import PlexAPI
419
-
420
- s = PlexAPI(
421
- server_idx=0,
422
- access_token="<YOUR_API_KEY_HERE>",
423
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
424
- client_name="Plex for Roku",
425
- client_version="2.4.1",
426
- platform="Roku",
427
- device_nickname="Roku 3",
428
- )
429
-
430
- res = s.server.get_server_capabilities()
385
+ ### Server Variables
431
386
 
432
- if res.object is not None:
433
- # handle response
434
- pass
435
-
436
- ```
437
-
438
- #### Variables
439
-
440
- 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:
387
+ The default server `{protocol}://{ip}:{port}` contains variables and is set to `https://10.10.10.47:32400` by default. To override default values, the following parameters are available when initializing the SDK client instance:
441
388
  * `protocol: models.ServerProtocol`
442
389
  * `ip: str`
443
390
  * `port: str`
@@ -449,7 +396,7 @@ The default server can also be overridden globally by passing a URL to the `serv
449
396
  from plex_api_client import PlexAPI
450
397
 
451
398
  s = PlexAPI(
452
- server_url="{protocol}://{ip}:{port}",
399
+ server_url="https://10.10.10.47:32400",
453
400
  access_token="<YOUR_API_KEY_HERE>",
454
401
  client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
455
402
  client_name="Plex for Roku",
@@ -578,9 +525,9 @@ s = PlexAPI(async_client=CustomClient(httpx.AsyncClient()))
578
525
 
579
526
  This SDK supports the following security scheme globally:
580
527
 
581
- | Name | Type | Scheme |
582
- | -------------- | -------------- | -------------- |
583
- | `access_token` | apiKey | API key |
528
+ | Name | Type | Scheme |
529
+ | -------------- | ------ | ------- |
530
+ | `access_token` | apiKey | API key |
584
531
 
585
532
  To authenticate with the API the `access_token` parameter must be set when initializing the SDK client instance. For example:
586
533
  ```python
@@ -635,4 +582,3 @@ While we value open-source contributions to this SDK, this library is generated
635
582
  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!
636
583
 
637
584
  ### SDK Created by [Speakeasy](https://docs.speakeasyapi.dev/docs/using-speakeasy/client-sdks)
638
-
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "plex-api-client"
3
- version = "0.18.0"
3
+ version = "0.19.0"
4
4
  description = "Python Client SDK Generated by Speakeasy"
5
5
  authors = ["Speakeasy",]
6
6
  readme = "README-PYPI.md"
@@ -21,7 +21,7 @@ python = "^3.8"
21
21
  eval-type-backport = "^0.2.0"
22
22
  httpx = "^0.27.0"
23
23
  jsonpath-python = "^1.0.6"
24
- pydantic = "~2.9.0"
24
+ pydantic = "~2.9.2"
25
25
  python-dateutil = "2.8.2"
26
26
  typing-inspect = "^0.9.0"
27
27
 
@@ -1,4 +1,8 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
+ from ._version import __title__, __version__
3
4
  from .sdk import *
4
5
  from .sdkconfiguration import *
6
+
7
+
8
+ VERSION: str = __version__
@@ -0,0 +1,12 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ import importlib.metadata
4
+
5
+ __title__: str = "plex-api-client"
6
+ __version__: str = "0.19.0"
7
+
8
+ try:
9
+ if __package__ is not None:
10
+ __version__ = importlib.metadata.version(__package__)
11
+ except importlib.metadata.PackageNotFoundError:
12
+ pass
@@ -59,14 +59,10 @@ class Activities(BaseSDK):
59
59
  if retries == UNSET:
60
60
  if self.sdk_configuration.retry_config is not UNSET:
61
61
  retries = self.sdk_configuration.retry_config
62
- else:
63
- retries = utils.RetryConfig(
64
- "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
65
- )
66
62
 
67
63
  retry_config = None
68
64
  if isinstance(retries, utils.RetryConfig):
69
- retry_config = (retries, ["5XX"])
65
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
70
66
 
71
67
  http_res = self.do_request(
72
68
  hook_ctx=HookContext(
@@ -102,15 +98,17 @@ class Activities(BaseSDK):
102
98
  data.raw_response = http_res
103
99
  raise errors.GetServerActivitiesUnauthorized(data=data)
104
100
  if utils.match_response(http_res, ["4XX", "5XX"], "*"):
101
+ http_res_text = utils.stream_to_text(http_res)
105
102
  raise errors.SDKError(
106
- "API error occurred", http_res.status_code, http_res.text, http_res
103
+ "API error occurred", http_res.status_code, http_res_text, http_res
107
104
  )
108
105
 
109
106
  content_type = http_res.headers.get("Content-Type")
107
+ http_res_text = utils.stream_to_text(http_res)
110
108
  raise errors.SDKError(
111
109
  f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
112
110
  http_res.status_code,
113
- http_res.text,
111
+ http_res_text,
114
112
  http_res,
115
113
  )
116
114
 
@@ -154,14 +152,10 @@ class Activities(BaseSDK):
154
152
  if retries == UNSET:
155
153
  if self.sdk_configuration.retry_config is not UNSET:
156
154
  retries = self.sdk_configuration.retry_config
157
- else:
158
- retries = utils.RetryConfig(
159
- "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
160
- )
161
155
 
162
156
  retry_config = None
163
157
  if isinstance(retries, utils.RetryConfig):
164
- retry_config = (retries, ["5XX"])
158
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
165
159
 
166
160
  http_res = await self.do_request_async(
167
161
  hook_ctx=HookContext(
@@ -197,15 +191,17 @@ class Activities(BaseSDK):
197
191
  data.raw_response = http_res
198
192
  raise errors.GetServerActivitiesUnauthorized(data=data)
199
193
  if utils.match_response(http_res, ["4XX", "5XX"], "*"):
194
+ http_res_text = await utils.stream_to_text_async(http_res)
200
195
  raise errors.SDKError(
201
- "API error occurred", http_res.status_code, http_res.text, http_res
196
+ "API error occurred", http_res.status_code, http_res_text, http_res
202
197
  )
203
198
 
204
199
  content_type = http_res.headers.get("Content-Type")
200
+ http_res_text = await utils.stream_to_text_async(http_res)
205
201
  raise errors.SDKError(
206
202
  f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
207
203
  http_res.status_code,
208
- http_res.text,
204
+ http_res_text,
209
205
  http_res,
210
206
  )
211
207
 
@@ -256,14 +252,10 @@ class Activities(BaseSDK):
256
252
  if retries == UNSET:
257
253
  if self.sdk_configuration.retry_config is not UNSET:
258
254
  retries = self.sdk_configuration.retry_config
259
- else:
260
- retries = utils.RetryConfig(
261
- "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
262
- )
263
255
 
264
256
  retry_config = None
265
257
  if isinstance(retries, utils.RetryConfig):
266
- retry_config = (retries, ["5XX"])
258
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
267
259
 
268
260
  http_res = self.do_request(
269
261
  hook_ctx=HookContext(
@@ -296,15 +288,17 @@ class Activities(BaseSDK):
296
288
  data.raw_response = http_res
297
289
  raise errors.CancelServerActivitiesUnauthorized(data=data)
298
290
  if utils.match_response(http_res, ["4XX", "5XX"], "*"):
291
+ http_res_text = utils.stream_to_text(http_res)
299
292
  raise errors.SDKError(
300
- "API error occurred", http_res.status_code, http_res.text, http_res
293
+ "API error occurred", http_res.status_code, http_res_text, http_res
301
294
  )
302
295
 
303
296
  content_type = http_res.headers.get("Content-Type")
297
+ http_res_text = utils.stream_to_text(http_res)
304
298
  raise errors.SDKError(
305
299
  f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
306
300
  http_res.status_code,
307
- http_res.text,
301
+ http_res_text,
308
302
  http_res,
309
303
  )
310
304
 
@@ -355,14 +349,10 @@ class Activities(BaseSDK):
355
349
  if retries == UNSET:
356
350
  if self.sdk_configuration.retry_config is not UNSET:
357
351
  retries = self.sdk_configuration.retry_config
358
- else:
359
- retries = utils.RetryConfig(
360
- "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
361
- )
362
352
 
363
353
  retry_config = None
364
354
  if isinstance(retries, utils.RetryConfig):
365
- retry_config = (retries, ["5XX"])
355
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
366
356
 
367
357
  http_res = await self.do_request_async(
368
358
  hook_ctx=HookContext(
@@ -395,14 +385,16 @@ class Activities(BaseSDK):
395
385
  data.raw_response = http_res
396
386
  raise errors.CancelServerActivitiesUnauthorized(data=data)
397
387
  if utils.match_response(http_res, ["4XX", "5XX"], "*"):
388
+ http_res_text = await utils.stream_to_text_async(http_res)
398
389
  raise errors.SDKError(
399
- "API error occurred", http_res.status_code, http_res.text, http_res
390
+ "API error occurred", http_res.status_code, http_res_text, http_res
400
391
  )
401
392
 
402
393
  content_type = http_res.headers.get("Content-Type")
394
+ http_res_text = await utils.stream_to_text_async(http_res)
403
395
  raise errors.SDKError(
404
396
  f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
405
397
  http_res.status_code,
406
- http_res.text,
398
+ http_res_text,
407
399
  http_res,
408
400
  )