plex-api-client 0.19.1__tar.gz → 0.20.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 (208) hide show
  1. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/PKG-INFO +101 -123
  2. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/README-PYPI.md +97 -119
  3. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/pyproject.toml +5 -5
  4. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/_version.py +1 -1
  5. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/activities.py +13 -1
  6. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/authentication.py +25 -15
  7. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/basesdk.py +18 -2
  8. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/butler.py +31 -1
  9. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/httpclient.py +6 -0
  10. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/hubs.py +19 -1
  11. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/library.py +81 -7
  12. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/log.py +19 -1
  13. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/media.py +31 -1
  14. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/__init__.py +0 -20
  15. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/get_library_items.py +15 -12
  16. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/get_meta_data_by_rating_key.py +29 -0
  17. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/get_recently_added.py +14 -12
  18. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/get_recently_added_library.py +2 -0
  19. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/get_search_all_libraries.py +15 -29
  20. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/get_search_library.py +2 -0
  21. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/get_server_resources.py +9 -23
  22. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/get_watch_list.py +1 -1
  23. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getpin.py +9 -59
  24. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getplaylistcontents.py +2 -0
  25. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getsessions.py +7 -0
  26. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/gettokenbypinid.py +3 -53
  27. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/gettopwatchedcontent.py +2 -0
  28. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/post_users_sign_in_data.py +3 -53
  29. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/playlists.py +55 -1
  30. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/plex.py +47 -39
  31. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/sdk.py +15 -24
  32. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/sdkconfiguration.py +4 -5
  33. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/search.py +19 -1
  34. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/server.py +55 -1
  35. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/sessions.py +25 -1
  36. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/statistics.py +19 -1
  37. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/updater.py +19 -1
  38. plex_api_client-0.20.1/src/plex_api_client/utils/annotations.py +55 -0
  39. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/utils/eventstreaming.py +61 -1
  40. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/utils/forms.py +4 -10
  41. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/utils/requestbodies.py +1 -1
  42. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/video.py +13 -1
  43. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/watchlist.py +7 -1
  44. plex_api_client-0.19.1/src/plex_api_client/models/internal/__init__.py +0 -5
  45. plex_api_client-0.19.1/src/plex_api_client/models/internal/globals.py +0 -58
  46. plex_api_client-0.19.1/src/plex_api_client/utils/annotations.py +0 -30
  47. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/LICENSE.md +0 -0
  48. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/py.typed +0 -0
  49. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/__init__.py +0 -0
  50. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/_hooks/__init__.py +0 -0
  51. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/_hooks/registration.py +0 -0
  52. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/_hooks/sdkhooks.py +0 -0
  53. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/_hooks/types.py +0 -0
  54. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/components/__init__.py +0 -0
  55. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/components/security.py +0 -0
  56. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/__init__.py +0 -0
  57. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/addplaylistcontents.py +0 -0
  58. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/applyupdates.py +0 -0
  59. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/cancelserveractivities.py +0 -0
  60. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/checkforupdates.py +0 -0
  61. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/clearplaylistcontents.py +0 -0
  62. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/createplaylist.py +0 -0
  63. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/deletelibrary.py +0 -0
  64. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/deleteplaylist.py +0 -0
  65. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/enablepapertrail.py +0 -0
  66. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/get_all_libraries.py +0 -0
  67. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/get_banner_image.py +0 -0
  68. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/get_library_details.py +0 -0
  69. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/get_library_items.py +0 -0
  70. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/get_media_providers.py +0 -0
  71. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/get_meta_data_by_rating_key.py +0 -0
  72. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/get_recently_added_library.py +0 -0
  73. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/get_refresh_library_metadata.py +0 -0
  74. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/get_search_all_libraries.py +0 -0
  75. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/get_search_library.py +0 -0
  76. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/get_server_identity.py +0 -0
  77. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/get_server_resources.py +0 -0
  78. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/get_thumb_image.py +0 -0
  79. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/get_watch_list.py +0 -0
  80. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getavailableclients.py +0 -0
  81. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getbandwidthstatistics.py +0 -0
  82. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getbutlertasks.py +0 -0
  83. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getcompanionsdata.py +0 -0
  84. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getdevices.py +0 -0
  85. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getfilehash.py +0 -0
  86. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getgeodata.py +0 -0
  87. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getglobalhubs.py +0 -0
  88. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/gethomedata.py +0 -0
  89. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getlibraryhubs.py +0 -0
  90. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getmetadatachildren.py +0 -0
  91. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getmyplexaccount.py +0 -0
  92. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getondeck.py +0 -0
  93. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getpin.py +0 -0
  94. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getplaylist.py +0 -0
  95. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getplaylistcontents.py +0 -0
  96. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getplaylists.py +0 -0
  97. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getresizedphoto.py +0 -0
  98. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getresourcesstatistics.py +0 -0
  99. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getsearchresults.py +0 -0
  100. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getserveractivities.py +0 -0
  101. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getservercapabilities.py +0 -0
  102. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getserverlist.py +0 -0
  103. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getserverpreferences.py +0 -0
  104. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getsessionhistory.py +0 -0
  105. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getsessions.py +0 -0
  106. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getsourceconnectioninformation.py +0 -0
  107. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getstatistics.py +0 -0
  108. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/gettimeline.py +0 -0
  109. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/gettokenbypinid.py +0 -0
  110. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/gettokendetails.py +0 -0
  111. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/gettopwatchedcontent.py +0 -0
  112. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/gettranscodesessions.py +0 -0
  113. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/gettransienttoken.py +0 -0
  114. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getupdatestatus.py +0 -0
  115. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/getuserfriends.py +0 -0
  116. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/logline.py +0 -0
  117. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/logmultiline.py +0 -0
  118. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/markplayed.py +0 -0
  119. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/markunplayed.py +0 -0
  120. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/performsearch.py +0 -0
  121. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/performvoicesearch.py +0 -0
  122. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/post_users_sign_in_data.py +0 -0
  123. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/sdkerror.py +0 -0
  124. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/startalltasks.py +0 -0
  125. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/starttask.py +0 -0
  126. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/startuniversaltranscode.py +0 -0
  127. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/stopalltasks.py +0 -0
  128. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/stoptask.py +0 -0
  129. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/stoptranscodesession.py +0 -0
  130. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/updateplaylist.py +0 -0
  131. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/updateplayprogress.py +0 -0
  132. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/errors/uploadplaylist.py +0 -0
  133. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/addplaylistcontents.py +0 -0
  134. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/applyupdates.py +0 -0
  135. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/cancelserveractivities.py +0 -0
  136. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/checkforupdates.py +0 -0
  137. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/clearplaylistcontents.py +0 -0
  138. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/createplaylist.py +0 -0
  139. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/deletelibrary.py +0 -0
  140. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/deleteplaylist.py +0 -0
  141. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/enablepapertrail.py +0 -0
  142. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/get_all_libraries.py +0 -0
  143. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/get_banner_image.py +0 -0
  144. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/get_library_details.py +0 -0
  145. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/get_media_providers.py +0 -0
  146. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/get_refresh_library_metadata.py +0 -0
  147. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/get_server_identity.py +0 -0
  148. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/get_thumb_image.py +0 -0
  149. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getavailableclients.py +0 -0
  150. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getbandwidthstatistics.py +0 -0
  151. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getbutlertasks.py +0 -0
  152. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getcompanionsdata.py +0 -0
  153. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getdevices.py +0 -0
  154. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getfilehash.py +0 -0
  155. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getgeodata.py +0 -0
  156. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getglobalhubs.py +0 -0
  157. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/gethomedata.py +0 -0
  158. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getlibraryhubs.py +0 -0
  159. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getmetadatachildren.py +0 -0
  160. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getmyplexaccount.py +0 -0
  161. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getondeck.py +0 -0
  162. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getplaylist.py +0 -0
  163. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getplaylists.py +0 -0
  164. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getresizedphoto.py +0 -0
  165. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getresourcesstatistics.py +0 -0
  166. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getsearchresults.py +0 -0
  167. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getserveractivities.py +0 -0
  168. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getservercapabilities.py +0 -0
  169. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getserverlist.py +0 -0
  170. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getserverpreferences.py +0 -0
  171. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getsessionhistory.py +0 -0
  172. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getsourceconnectioninformation.py +0 -0
  173. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getstatistics.py +0 -0
  174. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/gettimeline.py +0 -0
  175. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/gettokendetails.py +0 -0
  176. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/gettranscodesessions.py +0 -0
  177. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/gettransienttoken.py +0 -0
  178. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getupdatestatus.py +0 -0
  179. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/getuserfriends.py +0 -0
  180. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/logline.py +0 -0
  181. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/logmultiline.py +0 -0
  182. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/markplayed.py +0 -0
  183. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/markunplayed.py +0 -0
  184. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/performsearch.py +0 -0
  185. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/performvoicesearch.py +0 -0
  186. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/startalltasks.py +0 -0
  187. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/starttask.py +0 -0
  188. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/startuniversaltranscode.py +0 -0
  189. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/stopalltasks.py +0 -0
  190. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/stoptask.py +0 -0
  191. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/stoptranscodesession.py +0 -0
  192. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/updateplaylist.py +0 -0
  193. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/updateplayprogress.py +0 -0
  194. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/models/operations/uploadplaylist.py +0 -0
  195. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/py.typed +0 -0
  196. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/types/__init__.py +0 -0
  197. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/types/basemodel.py +0 -0
  198. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/utils/__init__.py +0 -0
  199. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/utils/enums.py +0 -0
  200. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/utils/headers.py +0 -0
  201. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/utils/logger.py +0 -0
  202. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/utils/metadata.py +0 -0
  203. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/utils/queryparams.py +0 -0
  204. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/utils/retries.py +0 -0
  205. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/utils/security.py +0 -0
  206. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/utils/serializers.py +0 -0
  207. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/utils/url.py +0 -0
  208. {plex_api_client-0.19.1 → plex_api_client-0.20.1}/src/plex_api_client/utils/values.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: plex-api-client
3
- Version: 0.19.1
3
+ Version: 0.20.1
4
4
  Summary: Python Client SDK Generated by Speakeasy
5
5
  Home-page: https://github.com/LukeHagar/plexpy.git
6
6
  Author: Speakeasy
@@ -13,10 +13,10 @@ Classifier: Programming Language :: Python :: 3.11
13
13
  Classifier: Programming Language :: Python :: 3.12
14
14
  Classifier: Programming Language :: Python :: 3.13
15
15
  Requires-Dist: eval-type-backport (>=0.2.0,<0.3.0)
16
- Requires-Dist: httpx (>=0.27.0,<0.28.0)
16
+ Requires-Dist: httpx (>=0.28.1,<0.29.0)
17
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)
18
+ Requires-Dist: pydantic (>=2.10.3,<2.11.0)
19
+ Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
20
20
  Requires-Dist: typing-inspect (>=0.9.0,<0.10.0)
21
21
  Project-URL: Repository, https://github.com/LukeHagar/plexpy.git
22
22
  Description-Content-Type: text/markdown
@@ -63,17 +63,25 @@ The following SDKs are generated from the OpenAPI Specification. They are automa
63
63
 
64
64
  <!-- Start Table of Contents [toc] -->
65
65
  ## Table of Contents
66
+ <!-- $toc-max-depth=2 -->
67
+ * [plexpy](https://github.com/LukeHagar/plexpy/blob/master/#plexpy)
68
+ * [Plex Media Server OpenAPI Specification](https://github.com/LukeHagar/plexpy/blob/master/#plex-media-server-openapi-specification)
69
+ * [Documentation](https://github.com/LukeHagar/plexpy/blob/master/#documentation)
70
+ * [SDKs](https://github.com/LukeHagar/plexpy/blob/master/#sdks)
71
+ * [SDK Installation](https://github.com/LukeHagar/plexpy/blob/master/#sdk-installation)
72
+ * [IDE Support](https://github.com/LukeHagar/plexpy/blob/master/#ide-support)
73
+ * [SDK Example Usage](https://github.com/LukeHagar/plexpy/blob/master/#sdk-example-usage)
74
+ * [Available Resources and Operations](https://github.com/LukeHagar/plexpy/blob/master/#available-resources-and-operations)
75
+ * [Retries](https://github.com/LukeHagar/plexpy/blob/master/#retries)
76
+ * [Error Handling](https://github.com/LukeHagar/plexpy/blob/master/#error-handling)
77
+ * [Server Selection](https://github.com/LukeHagar/plexpy/blob/master/#server-selection)
78
+ * [Custom HTTP Client](https://github.com/LukeHagar/plexpy/blob/master/#custom-http-client)
79
+ * [Authentication](https://github.com/LukeHagar/plexpy/blob/master/#authentication)
80
+ * [Debugging](https://github.com/LukeHagar/plexpy/blob/master/#debugging)
81
+ * [Development](https://github.com/LukeHagar/plexpy/blob/master/#development)
82
+ * [Maturity](https://github.com/LukeHagar/plexpy/blob/master/#maturity)
83
+ * [Contributions](https://github.com/LukeHagar/plexpy/blob/master/#contributions)
66
84
 
67
- * [SDK Installation](https://github.com/LukeHagar/plexpy/blob/master/#sdk-installation)
68
- * [IDE Support](https://github.com/LukeHagar/plexpy/blob/master/#ide-support)
69
- * [SDK Example Usage](https://github.com/LukeHagar/plexpy/blob/master/#sdk-example-usage)
70
- * [Available Resources and Operations](https://github.com/LukeHagar/plexpy/blob/master/#available-resources-and-operations)
71
- * [Retries](https://github.com/LukeHagar/plexpy/blob/master/#retries)
72
- * [Error Handling](https://github.com/LukeHagar/plexpy/blob/master/#error-handling)
73
- * [Server Selection](https://github.com/LukeHagar/plexpy/blob/master/#server-selection)
74
- * [Custom HTTP Client](https://github.com/LukeHagar/plexpy/blob/master/#custom-http-client)
75
- * [Authentication](https://github.com/LukeHagar/plexpy/blob/master/#authentication)
76
- * [Debugging](https://github.com/LukeHagar/plexpy/blob/master/#debugging)
77
85
  <!-- End Table of Contents [toc] -->
78
86
 
79
87
  <!-- Start SDK Installation [installation] -->
@@ -117,20 +125,16 @@ Generally, the SDK will work well with most IDEs out of the box. However, when u
117
125
  # Synchronous Example
118
126
  from plex_api_client import PlexAPI
119
127
 
120
- s = PlexAPI(
128
+ with PlexAPI(
121
129
  access_token="<YOUR_API_KEY_HERE>",
122
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
123
- client_name="Plex for Roku",
124
- client_version="2.4.1",
125
- platform="Roku",
126
- device_nickname="Roku 3",
127
- )
128
-
129
- res = s.server.get_server_capabilities()
130
-
131
- if res.object is not None:
132
- # handle response
133
- pass
130
+ ) as plex_api:
131
+
132
+ res = plex_api.server.get_server_capabilities()
133
+
134
+ assert res.object is not None
135
+
136
+ # Handle response
137
+ print(res.object)
134
138
  ```
135
139
 
136
140
  </br>
@@ -142,18 +146,16 @@ import asyncio
142
146
  from plex_api_client import PlexAPI
143
147
 
144
148
  async def main():
145
- s = PlexAPI(
149
+ async with PlexAPI(
146
150
  access_token="<YOUR_API_KEY_HERE>",
147
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
148
- client_name="Plex for Roku",
149
- client_version="2.4.1",
150
- platform="Roku",
151
- device_nickname="Roku 3",
152
- )
153
- res = await s.server.get_server_capabilities_async()
154
- if res.object is not None:
155
- # handle response
156
- pass
151
+ ) as plex_api:
152
+
153
+ res = await plex_api.server.get_server_capabilities_async()
154
+
155
+ assert res.object is not None
156
+
157
+ # Handle response
158
+ print(res.object)
157
159
 
158
160
  asyncio.run(main())
159
161
  ```
@@ -300,47 +302,39 @@ Some of the endpoints in this SDK support retries. If you use the SDK without an
300
302
 
301
303
  To change the default retry strategy for a single API call, simply provide a `RetryConfig` object to the call:
302
304
  ```python
303
- from plex_api.utils import BackoffStrategy, RetryConfig
304
305
  from plex_api_client import PlexAPI
306
+ from plex_api_client.utils import BackoffStrategy, RetryConfig
305
307
 
306
- s = PlexAPI(
308
+ with PlexAPI(
307
309
  access_token="<YOUR_API_KEY_HERE>",
308
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
309
- client_name="Plex for Roku",
310
- client_version="2.4.1",
311
- platform="Roku",
312
- device_nickname="Roku 3",
313
- )
310
+ ) as plex_api:
311
+
312
+ res = plex_api.server.get_server_capabilities(,
313
+ RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False))
314
314
 
315
- res = s.server.get_server_capabilities(,
316
- RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False))
315
+ assert res.object is not None
317
316
 
318
- if res.object is not None:
319
- # handle response
320
- pass
317
+ # Handle response
318
+ print(res.object)
321
319
 
322
320
  ```
323
321
 
324
322
  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:
325
323
  ```python
326
- from plex_api.utils import BackoffStrategy, RetryConfig
327
324
  from plex_api_client import PlexAPI
325
+ from plex_api_client.utils import BackoffStrategy, RetryConfig
328
326
 
329
- s = PlexAPI(
327
+ with PlexAPI(
330
328
  retry_config=RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False),
331
329
  access_token="<YOUR_API_KEY_HERE>",
332
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
333
- client_name="Plex for Roku",
334
- client_version="2.4.1",
335
- platform="Roku",
336
- device_nickname="Roku 3",
337
- )
330
+ ) as plex_api:
338
331
 
339
- res = s.server.get_server_capabilities()
332
+ res = plex_api.server.get_server_capabilities()
340
333
 
341
- if res.object is not None:
342
- # handle response
343
- pass
334
+ assert res.object is not None
335
+
336
+ # Handle response
337
+ print(res.object)
344
338
 
345
339
  ```
346
340
  <!-- End Retries [retries] -->
@@ -373,32 +367,28 @@ When custom error responses are specified for an operation, the SDK may also rai
373
367
  from plex_api_client import PlexAPI
374
368
  from plex_api_client.models import errors
375
369
 
376
- s = PlexAPI(
370
+ with PlexAPI(
377
371
  access_token="<YOUR_API_KEY_HERE>",
378
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
379
- client_name="Plex for Roku",
380
- client_version="2.4.1",
381
- platform="Roku",
382
- device_nickname="Roku 3",
383
- )
384
-
385
- res = None
386
- try:
387
- res = s.server.get_server_capabilities()
388
-
389
- if res.object is not None:
390
- # handle response
391
- pass
392
-
393
- except errors.GetServerCapabilitiesBadRequest as e:
394
- # handle e.data: errors.GetServerCapabilitiesBadRequestData
395
- raise(e)
396
- except errors.GetServerCapabilitiesUnauthorized as e:
397
- # handle e.data: errors.GetServerCapabilitiesUnauthorizedData
398
- raise(e)
399
- except errors.SDKError as e:
400
- # handle exception
401
- raise(e)
372
+ ) as plex_api:
373
+ res = None
374
+ try:
375
+
376
+ res = plex_api.server.get_server_capabilities()
377
+
378
+ assert res.object is not None
379
+
380
+ # Handle response
381
+ print(res.object)
382
+
383
+ except errors.GetServerCapabilitiesBadRequest as e:
384
+ # handle e.data: errors.GetServerCapabilitiesBadRequestData
385
+ raise(e)
386
+ except errors.GetServerCapabilitiesUnauthorized as e:
387
+ # handle e.data: errors.GetServerCapabilitiesUnauthorizedData
388
+ raise(e)
389
+ except errors.SDKError as e:
390
+ # handle exception
391
+ raise(e)
402
392
  ```
403
393
  <!-- End Error Handling [errors] -->
404
394
 
@@ -418,21 +408,17 @@ The default server can also be overridden globally by passing a URL to the `serv
418
408
  ```python
419
409
  from plex_api_client import PlexAPI
420
410
 
421
- s = PlexAPI(
411
+ with PlexAPI(
422
412
  server_url="https://10.10.10.47:32400",
423
413
  access_token="<YOUR_API_KEY_HERE>",
424
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
425
- client_name="Plex for Roku",
426
- client_version="2.4.1",
427
- platform="Roku",
428
- device_nickname="Roku 3",
429
- )
414
+ ) as plex_api:
415
+
416
+ res = plex_api.server.get_server_capabilities()
430
417
 
431
- res = s.server.get_server_capabilities()
418
+ assert res.object is not None
432
419
 
433
- if res.object is not None:
434
- # handle response
435
- pass
420
+ # Handle response
421
+ print(res.object)
436
422
 
437
423
  ```
438
424
 
@@ -442,20 +428,16 @@ The server URL can also be overridden on a per-operation basis, provided a serve
442
428
  ```python
443
429
  from plex_api_client import PlexAPI
444
430
 
445
- s = PlexAPI(
431
+ with PlexAPI(
446
432
  access_token="<YOUR_API_KEY_HERE>",
447
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
448
- client_name="Plex for Roku",
449
- client_version="2.4.1",
450
- platform="Roku",
451
- device_nickname="Roku 3",
452
- )
433
+ ) as plex_api:
434
+
435
+ res = plex_api.plex.get_companions_data(server_url="https://plex.tv/api/v2")
453
436
 
454
- res = s.plex.get_companions_data(server_url="https://plex.tv/api/v2")
437
+ assert res.response_bodies is not None
455
438
 
456
- if res.response_bodies is not None:
457
- # handle response
458
- pass
439
+ # Handle response
440
+ print(res.response_bodies)
459
441
 
460
442
  ```
461
443
  <!-- End Server Selection [server] -->
@@ -556,20 +538,16 @@ To authenticate with the API the `access_token` parameter must be set when initi
556
538
  ```python
557
539
  from plex_api_client import PlexAPI
558
540
 
559
- s = PlexAPI(
541
+ with PlexAPI(
560
542
  access_token="<YOUR_API_KEY_HERE>",
561
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
562
- client_name="Plex for Roku",
563
- client_version="2.4.1",
564
- platform="Roku",
565
- device_nickname="Roku 3",
566
- )
567
-
568
- res = s.server.get_server_capabilities()
569
-
570
- if res.object is not None:
571
- # handle response
572
- pass
543
+ ) as plex_api:
544
+
545
+ res = plex_api.server.get_server_capabilities()
546
+
547
+ assert res.object is not None
548
+
549
+ # Handle response
550
+ print(res.object)
573
551
 
574
552
  ```
575
553
  <!-- End Authentication [security] -->
@@ -40,17 +40,25 @@ The following SDKs are generated from the OpenAPI Specification. They are automa
40
40
 
41
41
  <!-- Start Table of Contents [toc] -->
42
42
  ## Table of Contents
43
+ <!-- $toc-max-depth=2 -->
44
+ * [plexpy](https://github.com/LukeHagar/plexpy/blob/master/#plexpy)
45
+ * [Plex Media Server OpenAPI Specification](https://github.com/LukeHagar/plexpy/blob/master/#plex-media-server-openapi-specification)
46
+ * [Documentation](https://github.com/LukeHagar/plexpy/blob/master/#documentation)
47
+ * [SDKs](https://github.com/LukeHagar/plexpy/blob/master/#sdks)
48
+ * [SDK Installation](https://github.com/LukeHagar/plexpy/blob/master/#sdk-installation)
49
+ * [IDE Support](https://github.com/LukeHagar/plexpy/blob/master/#ide-support)
50
+ * [SDK Example Usage](https://github.com/LukeHagar/plexpy/blob/master/#sdk-example-usage)
51
+ * [Available Resources and Operations](https://github.com/LukeHagar/plexpy/blob/master/#available-resources-and-operations)
52
+ * [Retries](https://github.com/LukeHagar/plexpy/blob/master/#retries)
53
+ * [Error Handling](https://github.com/LukeHagar/plexpy/blob/master/#error-handling)
54
+ * [Server Selection](https://github.com/LukeHagar/plexpy/blob/master/#server-selection)
55
+ * [Custom HTTP Client](https://github.com/LukeHagar/plexpy/blob/master/#custom-http-client)
56
+ * [Authentication](https://github.com/LukeHagar/plexpy/blob/master/#authentication)
57
+ * [Debugging](https://github.com/LukeHagar/plexpy/blob/master/#debugging)
58
+ * [Development](https://github.com/LukeHagar/plexpy/blob/master/#development)
59
+ * [Maturity](https://github.com/LukeHagar/plexpy/blob/master/#maturity)
60
+ * [Contributions](https://github.com/LukeHagar/plexpy/blob/master/#contributions)
43
61
 
44
- * [SDK Installation](https://github.com/LukeHagar/plexpy/blob/master/#sdk-installation)
45
- * [IDE Support](https://github.com/LukeHagar/plexpy/blob/master/#ide-support)
46
- * [SDK Example Usage](https://github.com/LukeHagar/plexpy/blob/master/#sdk-example-usage)
47
- * [Available Resources and Operations](https://github.com/LukeHagar/plexpy/blob/master/#available-resources-and-operations)
48
- * [Retries](https://github.com/LukeHagar/plexpy/blob/master/#retries)
49
- * [Error Handling](https://github.com/LukeHagar/plexpy/blob/master/#error-handling)
50
- * [Server Selection](https://github.com/LukeHagar/plexpy/blob/master/#server-selection)
51
- * [Custom HTTP Client](https://github.com/LukeHagar/plexpy/blob/master/#custom-http-client)
52
- * [Authentication](https://github.com/LukeHagar/plexpy/blob/master/#authentication)
53
- * [Debugging](https://github.com/LukeHagar/plexpy/blob/master/#debugging)
54
62
  <!-- End Table of Contents [toc] -->
55
63
 
56
64
  <!-- Start SDK Installation [installation] -->
@@ -94,20 +102,16 @@ Generally, the SDK will work well with most IDEs out of the box. However, when u
94
102
  # Synchronous Example
95
103
  from plex_api_client import PlexAPI
96
104
 
97
- s = PlexAPI(
105
+ with PlexAPI(
98
106
  access_token="<YOUR_API_KEY_HERE>",
99
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
100
- client_name="Plex for Roku",
101
- client_version="2.4.1",
102
- platform="Roku",
103
- device_nickname="Roku 3",
104
- )
105
-
106
- res = s.server.get_server_capabilities()
107
-
108
- if res.object is not None:
109
- # handle response
110
- pass
107
+ ) as plex_api:
108
+
109
+ res = plex_api.server.get_server_capabilities()
110
+
111
+ assert res.object is not None
112
+
113
+ # Handle response
114
+ print(res.object)
111
115
  ```
112
116
 
113
117
  </br>
@@ -119,18 +123,16 @@ import asyncio
119
123
  from plex_api_client import PlexAPI
120
124
 
121
125
  async def main():
122
- s = PlexAPI(
126
+ async with PlexAPI(
123
127
  access_token="<YOUR_API_KEY_HERE>",
124
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
125
- client_name="Plex for Roku",
126
- client_version="2.4.1",
127
- platform="Roku",
128
- device_nickname="Roku 3",
129
- )
130
- res = await s.server.get_server_capabilities_async()
131
- if res.object is not None:
132
- # handle response
133
- pass
128
+ ) as plex_api:
129
+
130
+ res = await plex_api.server.get_server_capabilities_async()
131
+
132
+ assert res.object is not None
133
+
134
+ # Handle response
135
+ print(res.object)
134
136
 
135
137
  asyncio.run(main())
136
138
  ```
@@ -277,47 +279,39 @@ Some of the endpoints in this SDK support retries. If you use the SDK without an
277
279
 
278
280
  To change the default retry strategy for a single API call, simply provide a `RetryConfig` object to the call:
279
281
  ```python
280
- from plex_api.utils import BackoffStrategy, RetryConfig
281
282
  from plex_api_client import PlexAPI
283
+ from plex_api_client.utils import BackoffStrategy, RetryConfig
282
284
 
283
- s = PlexAPI(
285
+ with PlexAPI(
284
286
  access_token="<YOUR_API_KEY_HERE>",
285
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
286
- client_name="Plex for Roku",
287
- client_version="2.4.1",
288
- platform="Roku",
289
- device_nickname="Roku 3",
290
- )
287
+ ) as plex_api:
288
+
289
+ res = plex_api.server.get_server_capabilities(,
290
+ RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False))
291
291
 
292
- res = s.server.get_server_capabilities(,
293
- RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False))
292
+ assert res.object is not None
294
293
 
295
- if res.object is not None:
296
- # handle response
297
- pass
294
+ # Handle response
295
+ print(res.object)
298
296
 
299
297
  ```
300
298
 
301
299
  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:
302
300
  ```python
303
- from plex_api.utils import BackoffStrategy, RetryConfig
304
301
  from plex_api_client import PlexAPI
302
+ from plex_api_client.utils import BackoffStrategy, RetryConfig
305
303
 
306
- s = PlexAPI(
304
+ with PlexAPI(
307
305
  retry_config=RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False),
308
306
  access_token="<YOUR_API_KEY_HERE>",
309
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
310
- client_name="Plex for Roku",
311
- client_version="2.4.1",
312
- platform="Roku",
313
- device_nickname="Roku 3",
314
- )
307
+ ) as plex_api:
315
308
 
316
- res = s.server.get_server_capabilities()
309
+ res = plex_api.server.get_server_capabilities()
317
310
 
318
- if res.object is not None:
319
- # handle response
320
- pass
311
+ assert res.object is not None
312
+
313
+ # Handle response
314
+ print(res.object)
321
315
 
322
316
  ```
323
317
  <!-- End Retries [retries] -->
@@ -350,32 +344,28 @@ When custom error responses are specified for an operation, the SDK may also rai
350
344
  from plex_api_client import PlexAPI
351
345
  from plex_api_client.models import errors
352
346
 
353
- s = PlexAPI(
347
+ with PlexAPI(
354
348
  access_token="<YOUR_API_KEY_HERE>",
355
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
356
- client_name="Plex for Roku",
357
- client_version="2.4.1",
358
- platform="Roku",
359
- device_nickname="Roku 3",
360
- )
361
-
362
- res = None
363
- try:
364
- res = s.server.get_server_capabilities()
365
-
366
- if res.object is not None:
367
- # handle response
368
- pass
369
-
370
- except errors.GetServerCapabilitiesBadRequest as e:
371
- # handle e.data: errors.GetServerCapabilitiesBadRequestData
372
- raise(e)
373
- except errors.GetServerCapabilitiesUnauthorized as e:
374
- # handle e.data: errors.GetServerCapabilitiesUnauthorizedData
375
- raise(e)
376
- except errors.SDKError as e:
377
- # handle exception
378
- raise(e)
349
+ ) as plex_api:
350
+ res = None
351
+ try:
352
+
353
+ res = plex_api.server.get_server_capabilities()
354
+
355
+ assert res.object is not None
356
+
357
+ # Handle response
358
+ print(res.object)
359
+
360
+ except errors.GetServerCapabilitiesBadRequest as e:
361
+ # handle e.data: errors.GetServerCapabilitiesBadRequestData
362
+ raise(e)
363
+ except errors.GetServerCapabilitiesUnauthorized as e:
364
+ # handle e.data: errors.GetServerCapabilitiesUnauthorizedData
365
+ raise(e)
366
+ except errors.SDKError as e:
367
+ # handle exception
368
+ raise(e)
379
369
  ```
380
370
  <!-- End Error Handling [errors] -->
381
371
 
@@ -395,21 +385,17 @@ The default server can also be overridden globally by passing a URL to the `serv
395
385
  ```python
396
386
  from plex_api_client import PlexAPI
397
387
 
398
- s = PlexAPI(
388
+ with PlexAPI(
399
389
  server_url="https://10.10.10.47:32400",
400
390
  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
- )
391
+ ) as plex_api:
392
+
393
+ res = plex_api.server.get_server_capabilities()
407
394
 
408
- res = s.server.get_server_capabilities()
395
+ assert res.object is not None
409
396
 
410
- if res.object is not None:
411
- # handle response
412
- pass
397
+ # Handle response
398
+ print(res.object)
413
399
 
414
400
  ```
415
401
 
@@ -419,20 +405,16 @@ The server URL can also be overridden on a per-operation basis, provided a serve
419
405
  ```python
420
406
  from plex_api_client import PlexAPI
421
407
 
422
- s = PlexAPI(
408
+ with PlexAPI(
423
409
  access_token="<YOUR_API_KEY_HERE>",
424
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
425
- client_name="Plex for Roku",
426
- client_version="2.4.1",
427
- platform="Roku",
428
- device_nickname="Roku 3",
429
- )
410
+ ) as plex_api:
411
+
412
+ res = plex_api.plex.get_companions_data(server_url="https://plex.tv/api/v2")
430
413
 
431
- res = s.plex.get_companions_data(server_url="https://plex.tv/api/v2")
414
+ assert res.response_bodies is not None
432
415
 
433
- if res.response_bodies is not None:
434
- # handle response
435
- pass
416
+ # Handle response
417
+ print(res.response_bodies)
436
418
 
437
419
  ```
438
420
  <!-- End Server Selection [server] -->
@@ -533,20 +515,16 @@ To authenticate with the API the `access_token` parameter must be set when initi
533
515
  ```python
534
516
  from plex_api_client import PlexAPI
535
517
 
536
- s = PlexAPI(
518
+ with PlexAPI(
537
519
  access_token="<YOUR_API_KEY_HERE>",
538
- client_id="3381b62b-9ab7-4e37-827b-203e9809eb58",
539
- client_name="Plex for Roku",
540
- client_version="2.4.1",
541
- platform="Roku",
542
- device_nickname="Roku 3",
543
- )
544
-
545
- res = s.server.get_server_capabilities()
546
-
547
- if res.object is not None:
548
- # handle response
549
- pass
520
+ ) as plex_api:
521
+
522
+ res = plex_api.server.get_server_capabilities()
523
+
524
+ assert res.object is not None
525
+
526
+ # Handle response
527
+ print(res.object)
550
528
 
551
529
  ```
552
530
  <!-- End Authentication [security] -->
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "plex-api-client"
3
- version = "0.19.1"
3
+ version = "0.20.1"
4
4
  description = "Python Client SDK Generated by Speakeasy"
5
5
  authors = ["Speakeasy",]
6
6
  readme = "README-PYPI.md"
@@ -19,14 +19,14 @@ in-project = true
19
19
  [tool.poetry.dependencies]
20
20
  python = "^3.8"
21
21
  eval-type-backport = "^0.2.0"
22
- httpx = "^0.27.0"
22
+ httpx = "^0.28.1"
23
23
  jsonpath-python = "^1.0.6"
24
- pydantic = "~2.9.2"
25
- python-dateutil = "2.8.2"
24
+ pydantic = "~2.10.3"
25
+ python-dateutil = "^2.8.2"
26
26
  typing-inspect = "^0.9.0"
27
27
 
28
28
  [tool.poetry.group.dev.dependencies]
29
- mypy = "==1.10.1"
29
+ mypy = "==1.13.0"
30
30
  pylint = "==3.2.3"
31
31
  types-python-dateutil = "^2.9.0.20240316"
32
32
 
@@ -3,7 +3,7 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "plex-api-client"
6
- __version__: str = "0.19.1"
6
+ __version__: str = "0.20.1"
7
7
 
8
8
  try:
9
9
  if __package__ is not None: