plex-api-client 0.15.1__tar.gz → 0.17.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 (204) hide show
  1. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/PKG-INFO +20 -7
  2. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/README-PYPI.md +19 -6
  3. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/pyproject.toml +1 -4
  4. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/__init__.py +4 -0
  5. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/get_server_resources.py +39 -0
  6. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/gettokendetails.py +87 -4
  7. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/post_users_sign_in_data.py +99 -5
  8. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/plex.py +12 -0
  9. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/sdkconfiguration.py +3 -3
  10. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/LICENSE.md +0 -0
  11. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/py.typed +0 -0
  12. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/__init__.py +0 -0
  13. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/_hooks/__init__.py +0 -0
  14. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/_hooks/registration.py +0 -0
  15. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/_hooks/sdkhooks.py +0 -0
  16. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/_hooks/types.py +0 -0
  17. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/activities.py +0 -0
  18. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/authentication.py +0 -0
  19. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/basesdk.py +0 -0
  20. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/butler.py +0 -0
  21. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/httpclient.py +0 -0
  22. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/hubs.py +0 -0
  23. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/library.py +0 -0
  24. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/log.py +0 -0
  25. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/media.py +0 -0
  26. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/components/__init__.py +0 -0
  27. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/components/security.py +0 -0
  28. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/__init__.py +0 -0
  29. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/addplaylistcontents.py +0 -0
  30. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/applyupdates.py +0 -0
  31. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/cancelserveractivities.py +0 -0
  32. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/checkforupdates.py +0 -0
  33. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/clearplaylistcontents.py +0 -0
  34. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/createplaylist.py +0 -0
  35. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/deletelibrary.py +0 -0
  36. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/deleteplaylist.py +0 -0
  37. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/enablepapertrail.py +0 -0
  38. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/get_all_libraries.py +0 -0
  39. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/get_banner_image.py +0 -0
  40. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/get_library_details.py +0 -0
  41. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/get_library_items.py +0 -0
  42. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/get_media_providers.py +0 -0
  43. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/get_meta_data_by_rating_key.py +0 -0
  44. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/get_recently_added_library.py +0 -0
  45. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/get_refresh_library_metadata.py +0 -0
  46. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/get_search_library.py +0 -0
  47. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/get_server_identity.py +0 -0
  48. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/get_server_resources.py +0 -0
  49. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/get_thumb_image.py +0 -0
  50. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/get_watch_list.py +0 -0
  51. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getavailableclients.py +0 -0
  52. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getbandwidthstatistics.py +0 -0
  53. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getbutlertasks.py +0 -0
  54. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getcompanionsdata.py +0 -0
  55. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getdevices.py +0 -0
  56. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getfilehash.py +0 -0
  57. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getgeodata.py +0 -0
  58. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getglobalhubs.py +0 -0
  59. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/gethomedata.py +0 -0
  60. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getlibraryhubs.py +0 -0
  61. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getmetadatachildren.py +0 -0
  62. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getmyplexaccount.py +0 -0
  63. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getondeck.py +0 -0
  64. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getpin.py +0 -0
  65. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getplaylist.py +0 -0
  66. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getplaylistcontents.py +0 -0
  67. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getplaylists.py +0 -0
  68. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getresizedphoto.py +0 -0
  69. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getresourcesstatistics.py +0 -0
  70. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getsearchresults.py +0 -0
  71. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getserveractivities.py +0 -0
  72. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getservercapabilities.py +0 -0
  73. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getserverlist.py +0 -0
  74. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getserverpreferences.py +0 -0
  75. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getsessionhistory.py +0 -0
  76. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getsessions.py +0 -0
  77. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getsourceconnectioninformation.py +0 -0
  78. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getstatistics.py +0 -0
  79. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/gettimeline.py +0 -0
  80. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/gettokenbypinid.py +0 -0
  81. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/gettokendetails.py +0 -0
  82. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/gettopwatchedcontent.py +0 -0
  83. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/gettranscodesessions.py +0 -0
  84. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/gettransienttoken.py +0 -0
  85. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getupdatestatus.py +0 -0
  86. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/getuserfriends.py +0 -0
  87. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/logline.py +0 -0
  88. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/logmultiline.py +0 -0
  89. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/markplayed.py +0 -0
  90. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/markunplayed.py +0 -0
  91. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/performsearch.py +0 -0
  92. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/performvoicesearch.py +0 -0
  93. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/post_users_sign_in_data.py +0 -0
  94. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/sdkerror.py +0 -0
  95. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/startalltasks.py +0 -0
  96. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/starttask.py +0 -0
  97. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/startuniversaltranscode.py +0 -0
  98. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/stopalltasks.py +0 -0
  99. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/stoptask.py +0 -0
  100. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/stoptranscodesession.py +0 -0
  101. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/updateplaylist.py +0 -0
  102. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/updateplayprogress.py +0 -0
  103. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/errors/uploadplaylist.py +0 -0
  104. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/internal/__init__.py +0 -0
  105. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/internal/globals.py +0 -0
  106. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/addplaylistcontents.py +0 -0
  107. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/applyupdates.py +0 -0
  108. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/cancelserveractivities.py +0 -0
  109. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/checkforupdates.py +0 -0
  110. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/clearplaylistcontents.py +0 -0
  111. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/createplaylist.py +0 -0
  112. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/deletelibrary.py +0 -0
  113. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/deleteplaylist.py +0 -0
  114. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/enablepapertrail.py +0 -0
  115. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/get_all_libraries.py +0 -0
  116. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/get_banner_image.py +0 -0
  117. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/get_library_details.py +0 -0
  118. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/get_library_items.py +0 -0
  119. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/get_media_providers.py +0 -0
  120. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/get_meta_data_by_rating_key.py +0 -0
  121. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/get_recently_added.py +0 -0
  122. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/get_recently_added_library.py +0 -0
  123. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/get_refresh_library_metadata.py +0 -0
  124. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/get_search_library.py +0 -0
  125. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/get_server_identity.py +0 -0
  126. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/get_thumb_image.py +0 -0
  127. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/get_watch_list.py +0 -0
  128. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getavailableclients.py +0 -0
  129. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getbandwidthstatistics.py +0 -0
  130. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getbutlertasks.py +0 -0
  131. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getcompanionsdata.py +0 -0
  132. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getdevices.py +0 -0
  133. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getfilehash.py +0 -0
  134. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getgeodata.py +0 -0
  135. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getglobalhubs.py +0 -0
  136. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/gethomedata.py +0 -0
  137. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getlibraryhubs.py +0 -0
  138. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getmetadatachildren.py +0 -0
  139. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getmyplexaccount.py +0 -0
  140. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getondeck.py +0 -0
  141. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getpin.py +0 -0
  142. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getplaylist.py +0 -0
  143. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getplaylistcontents.py +0 -0
  144. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getplaylists.py +0 -0
  145. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getresizedphoto.py +0 -0
  146. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getresourcesstatistics.py +0 -0
  147. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getsearchresults.py +0 -0
  148. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getserveractivities.py +0 -0
  149. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getservercapabilities.py +0 -0
  150. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getserverlist.py +0 -0
  151. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getserverpreferences.py +0 -0
  152. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getsessionhistory.py +0 -0
  153. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getsessions.py +0 -0
  154. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getsourceconnectioninformation.py +0 -0
  155. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getstatistics.py +0 -0
  156. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/gettimeline.py +0 -0
  157. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/gettokenbypinid.py +0 -0
  158. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/gettopwatchedcontent.py +0 -0
  159. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/gettranscodesessions.py +0 -0
  160. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/gettransienttoken.py +0 -0
  161. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getupdatestatus.py +0 -0
  162. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/getuserfriends.py +0 -0
  163. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/logline.py +0 -0
  164. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/logmultiline.py +0 -0
  165. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/markplayed.py +0 -0
  166. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/markunplayed.py +0 -0
  167. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/performsearch.py +0 -0
  168. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/performvoicesearch.py +0 -0
  169. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/startalltasks.py +0 -0
  170. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/starttask.py +0 -0
  171. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/startuniversaltranscode.py +0 -0
  172. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/stopalltasks.py +0 -0
  173. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/stoptask.py +0 -0
  174. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/stoptranscodesession.py +0 -0
  175. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/updateplaylist.py +0 -0
  176. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/updateplayprogress.py +0 -0
  177. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/models/operations/uploadplaylist.py +0 -0
  178. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/playlists.py +0 -0
  179. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/py.typed +0 -0
  180. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/sdk.py +0 -0
  181. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/search.py +0 -0
  182. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/server.py +0 -0
  183. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/sessions.py +0 -0
  184. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/statistics.py +0 -0
  185. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/types/__init__.py +0 -0
  186. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/types/basemodel.py +0 -0
  187. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/updater.py +0 -0
  188. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/utils/__init__.py +0 -0
  189. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/utils/annotations.py +0 -0
  190. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/utils/enums.py +0 -0
  191. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/utils/eventstreaming.py +0 -0
  192. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/utils/forms.py +0 -0
  193. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/utils/headers.py +0 -0
  194. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/utils/logger.py +0 -0
  195. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/utils/metadata.py +0 -0
  196. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/utils/queryparams.py +0 -0
  197. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/utils/requestbodies.py +0 -0
  198. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/utils/retries.py +0 -0
  199. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/utils/security.py +0 -0
  200. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/utils/serializers.py +0 -0
  201. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/utils/url.py +0 -0
  202. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/utils/values.py +0 -0
  203. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/video.py +0 -0
  204. {plex_api_client-0.15.1 → plex_api_client-0.17.0}/src/plex_api_client/watchlist.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: plex-api-client
3
- Version: 0.15.1
3
+ Version: 0.17.0
4
4
  Summary: Python Client SDK Generated by Speakeasy
5
5
  Home-page: https://github.com/LukeHagar/plexpy.git
6
6
  Author: Speakeasy
@@ -347,13 +347,24 @@ if res.object is not None:
347
347
  <!-- Start Error Handling [errors] -->
348
348
  ## Error Handling
349
349
 
350
- 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.
350
+ Handling errors in this SDK should largely match your expectations. All operations return a response object or raise an exception.
351
351
 
352
- | Error Object | Status Code | Content Type |
352
+ By default, an API error will raise a errors.SDKError exception, which has the following properties:
353
+
354
+ | Property | Type | Description |
355
+ |-----------------|------------------|-----------------------|
356
+ | `.status_code` | *int* | The HTTP status code |
357
+ | `.message` | *str* | The error message |
358
+ | `.raw_response` | *httpx.Response* | The raw HTTP response |
359
+ | `.body` | *str* | The response content |
360
+
361
+ 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
+
363
+ | Error Type | Status Code | Content Type |
353
364
  | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
354
365
  | errors.GetServerCapabilitiesBadRequest | 400 | application/json |
355
366
  | errors.GetServerCapabilitiesUnauthorized | 401 | application/json |
356
- | errors.SDKError | 4xx-5xx | */* |
367
+ | errors.SDKError | 4XX, 5XX | \*/\* |
357
368
 
358
369
  ### Example
359
370
 
@@ -598,7 +609,7 @@ if res.object is not None:
598
609
 
599
610
  Certain parameters are configured globally. These parameters may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, These global values will be used as defaults on the operations that use them. When such operations are called, there is a place in each to override the global value, if needed.
600
611
 
601
- For example, you can set `ClientID` to `"gcgzw5rz2xovp84b4vha3a40"` at SDK initialization and then you do not have to pass the same value on calls to operations like `get_pin`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration.
612
+ For example, you can set `ClientID` 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.
602
613
 
603
614
 
604
615
  ### Available Globals
@@ -621,8 +632,10 @@ This is used to track the client application and its usage
621
632
 
622
633
  ```python
623
634
  from plex_api_client import PlexAPI
635
+ from plex_api_client.models import operations
624
636
 
625
637
  s = PlexAPI(
638
+ access_token="<YOUR_API_KEY_HERE>",
626
639
  client_id="gcgzw5rz2xovp84b4vha3a40",
627
640
  client_name="Plex Web",
628
641
  client_version="4.133.0",
@@ -630,9 +643,9 @@ s = PlexAPI(
630
643
  device_name="Linux",
631
644
  )
632
645
 
633
- res = s.plex.get_pin(request={})
646
+ res = s.plex.get_server_resources(include_https=operations.IncludeHTTPS.ENABLE, include_relay=operations.IncludeRelay.ENABLE, include_i_pv6=operations.IncludeIPv6.ENABLE, client_id="gcgzw5rz2xovp84b4vha3a40")
634
647
 
635
- if res.auth_pin_container is not None:
648
+ if res.plex_devices is not None:
636
649
  # handle response
637
650
  pass
638
651
 
@@ -325,13 +325,24 @@ if res.object is not None:
325
325
  <!-- Start Error Handling [errors] -->
326
326
  ## Error Handling
327
327
 
328
- 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.
328
+ Handling errors in this SDK should largely match your expectations. All operations return a response object or raise an exception.
329
329
 
330
- | Error Object | Status Code | Content Type |
330
+ By default, an API error will raise a errors.SDKError exception, which has the following properties:
331
+
332
+ | Property | Type | Description |
333
+ |-----------------|------------------|-----------------------|
334
+ | `.status_code` | *int* | The HTTP status code |
335
+ | `.message` | *str* | The error message |
336
+ | `.raw_response` | *httpx.Response* | The raw HTTP response |
337
+ | `.body` | *str* | The response content |
338
+
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:
340
+
341
+ | Error Type | Status Code | Content Type |
331
342
  | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
332
343
  | errors.GetServerCapabilitiesBadRequest | 400 | application/json |
333
344
  | errors.GetServerCapabilitiesUnauthorized | 401 | application/json |
334
- | errors.SDKError | 4xx-5xx | */* |
345
+ | errors.SDKError | 4XX, 5XX | \*/\* |
335
346
 
336
347
  ### Example
337
348
 
@@ -576,7 +587,7 @@ if res.object is not None:
576
587
 
577
588
  Certain parameters are configured globally. These parameters may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, These global values will be used as defaults on the operations that use them. When such operations are called, there is a place in each to override the global value, if needed.
578
589
 
579
- For example, you can set `ClientID` to `"gcgzw5rz2xovp84b4vha3a40"` at SDK initialization and then you do not have to pass the same value on calls to operations like `get_pin`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration.
590
+ For example, you can set `ClientID` 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.
580
591
 
581
592
 
582
593
  ### Available Globals
@@ -599,8 +610,10 @@ This is used to track the client application and its usage
599
610
 
600
611
  ```python
601
612
  from plex_api_client import PlexAPI
613
+ from plex_api_client.models import operations
602
614
 
603
615
  s = PlexAPI(
616
+ access_token="<YOUR_API_KEY_HERE>",
604
617
  client_id="gcgzw5rz2xovp84b4vha3a40",
605
618
  client_name="Plex Web",
606
619
  client_version="4.133.0",
@@ -608,9 +621,9 @@ s = PlexAPI(
608
621
  device_name="Linux",
609
622
  )
610
623
 
611
- res = s.plex.get_pin(request={})
624
+ res = s.plex.get_server_resources(include_https=operations.IncludeHTTPS.ENABLE, include_relay=operations.IncludeRelay.ENABLE, include_i_pv6=operations.IncludeIPv6.ENABLE, client_id="gcgzw5rz2xovp84b4vha3a40")
612
625
 
613
- if res.auth_pin_container is not None:
626
+ if res.plex_devices is not None:
614
627
  # handle response
615
628
  pass
616
629
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "plex-api-client"
3
- version = "0.15.1"
3
+ version = "0.17.0"
4
4
  description = "Python Client SDK Generated by Speakeasy"
5
5
  authors = ["Speakeasy",]
6
6
  readme = "README-PYPI.md"
@@ -28,9 +28,6 @@ typing-inspect = "^0.9.0"
28
28
  [tool.poetry.group.dev.dependencies]
29
29
  mypy = "==1.10.1"
30
30
  pylint = "==3.2.3"
31
- pytest = "^8.2.0"
32
- pytest-asyncio = "^0.23.7"
33
- pytest-xdist = "^3.6.1"
34
31
  types-python-dateutil = "^2.9.0.20240316"
35
32
 
36
33
  [build-system]
@@ -380,6 +380,8 @@ from .get_server_resources import (
380
380
  Connections,
381
381
  ConnectionsTypedDict,
382
382
  GET_SERVER_RESOURCES_SERVERS,
383
+ GetServerResourcesGlobals,
384
+ GetServerResourcesGlobalsTypedDict,
383
385
  GetServerResourcesRequest,
384
386
  GetServerResourcesRequestTypedDict,
385
387
  GetServerResourcesResponse,
@@ -1562,6 +1564,8 @@ __all__ = [
1562
1564
  "GetServerPreferencesResponseBody",
1563
1565
  "GetServerPreferencesResponseBodyTypedDict",
1564
1566
  "GetServerPreferencesResponseTypedDict",
1567
+ "GetServerResourcesGlobals",
1568
+ "GetServerResourcesGlobalsTypedDict",
1565
1569
  "GetServerResourcesRequest",
1566
1570
  "GetServerResourcesRequestTypedDict",
1567
1571
  "GetServerResourcesResponse",
@@ -16,6 +16,28 @@ GET_SERVER_RESOURCES_SERVERS = [
16
16
  ]
17
17
 
18
18
 
19
+ class GetServerResourcesGlobalsTypedDict(TypedDict):
20
+ client_id: NotRequired[str]
21
+ r"""The unique identifier for the client application
22
+ This is used to track the client application and its usage
23
+ (UUID, serial number, or other number unique per device)
24
+
25
+ """
26
+
27
+
28
+ class GetServerResourcesGlobals(BaseModel):
29
+ client_id: Annotated[
30
+ Optional[str],
31
+ pydantic.Field(alias="X-Plex-Client-Identifier"),
32
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
33
+ ] = None
34
+ r"""The unique identifier for the client application
35
+ This is used to track the client application and its usage
36
+ (UUID, serial number, or other number unique per device)
37
+
38
+ """
39
+
40
+
19
41
  class IncludeHTTPS(int, Enum):
20
42
  r"""Include Https entries in the results"""
21
43
 
@@ -50,6 +72,12 @@ class GetServerResourcesRequestTypedDict(TypedDict):
50
72
  """
51
73
  include_i_pv6: NotRequired[IncludeIPv6]
52
74
  r"""Include IPv6 entries in the results"""
75
+ client_id: NotRequired[str]
76
+ r"""The unique identifier for the client application
77
+ This is used to track the client application and its usage
78
+ (UUID, serial number, or other number unique per device)
79
+
80
+ """
53
81
 
54
82
 
55
83
  class GetServerResourcesRequest(BaseModel):
@@ -77,6 +105,17 @@ class GetServerResourcesRequest(BaseModel):
77
105
  ] = IncludeIPv6.DISABLE
78
106
  r"""Include IPv6 entries in the results"""
79
107
 
108
+ client_id: Annotated[
109
+ Optional[str],
110
+ pydantic.Field(alias="X-Plex-Client-Identifier"),
111
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
112
+ ] = None
113
+ r"""The unique identifier for the client application
114
+ This is used to track the client application and its usage
115
+ (UUID, serial number, or other number unique per device)
116
+
117
+ """
118
+
80
119
 
81
120
  class Protocol(str, Enum):
82
121
  r"""The protocol used for the connection (http, https, etc)"""
@@ -4,6 +4,7 @@ from __future__ import annotations
4
4
  from datetime import datetime
5
5
  from enum import Enum
6
6
  import httpx
7
+ from plex_api_client import utils
7
8
  from plex_api_client.types import (
8
9
  BaseModel,
9
10
  Nullable,
@@ -11,8 +12,10 @@ from plex_api_client.types import (
11
12
  UNSET,
12
13
  UNSET_SENTINEL,
13
14
  )
15
+ from plex_api_client.utils import validate_open_enum
14
16
  import pydantic
15
17
  from pydantic import model_serializer
18
+ from pydantic.functional_validators import PlainValidator
16
19
  from typing import List, Optional, TypedDict
17
20
  from typing_extensions import Annotated, NotRequired
18
21
 
@@ -207,7 +210,7 @@ class Services(BaseModel):
207
210
  return m
208
211
 
209
212
 
210
- class Features(str, Enum):
213
+ class Features(str, Enum, metaclass=utils.OpenEnumMeta):
211
214
  ANDROID_DOLBY_VISION = "Android - Dolby Vision"
212
215
  ANDROID_PI_P = "Android - PiP"
213
216
  CU_SUNSET = "CU Sunset"
@@ -215,28 +218,43 @@ class Features(str, Enum):
215
218
  TREBLE_SHOW_FEATURES = "TREBLE-show-features"
216
219
  AD_COUNTDOWN_TIMER = "ad-countdown-timer"
217
220
  ADAPTIVE_BITRATE = "adaptive_bitrate"
221
+ ALBUM_TYPES = "album-types"
222
+ ALLOW_DVR = "allow_dvr"
218
223
  AMAZON_LOOP_DEBUG = "amazon-loop-debug"
219
224
  AVOD_AD_ANALYSIS = "avod-ad-analysis"
220
225
  AVOD_NEW_MEDIA = "avod-new-media"
221
226
  BLACKLIST_GET_SIGNIN = "blacklist_get_signin"
227
+ BOOST_VOICES = "boost-voices"
228
+ CAMERA_UPLOAD = "camera_upload"
222
229
  CLIENT_RADIO_STATIONS = "client-radio-stations"
223
230
  CLOUDFLARE_TURNSTILE_REQUIRED = "cloudflare-turnstile-required"
231
+ CLOUDSYNC = "cloudsync"
224
232
  COLLECTIONS = "collections"
225
233
  COMMENTS_AND_REPLIES_PUSH_NOTIFICATIONS = "comments_and_replies_push_notifications"
226
234
  COMMUNITY_ACCESS_PLEX_TV = "community_access_plex_tv"
227
235
  COMPANIONS_SONOS = "companions_sonos"
236
+ CONTENT_FILTER = "content_filter"
228
237
  CUSTOM_HOME_REMOVAL = "custom-home-removal"
229
238
  DISABLE_HOME_USER_FRIENDSHIPS = "disable_home_user_friendships"
230
239
  DISABLE_SHARING_FRIENDSHIPS = "disable_sharing_friendships"
240
+ DOWNLOADS_GATING = "downloads-gating"
231
241
  DRM_SUPPORT = "drm_support"
242
+ DVR = "dvr"
243
+ DVR_BLOCK_UNSUPPORTED_COUNTRIES = "dvr-block-unsupported-countries"
244
+ EPG_RECENT_CHANNELS = "epg-recent-channels"
232
245
  EXCLUDE_RESTRICTIONS = "exclude restrictions"
233
246
  FEDERATED_AUTH = "federated-auth"
234
247
  FRIEND_REQUEST_PUSH_NOTIFICATIONS = "friend_request_push_notifications"
248
+ GRANDFATHER_SYNC = "grandfather-sync"
235
249
  GUIDED_UPGRADE = "guided-upgrade"
250
+ HARDWARE_TRANSCODING = "hardware_transcoding"
236
251
  HOME = "home"
252
+ HWTRANSCODE = "hwtranscode"
253
+ IMAGGA_V2 = "imagga-v2"
237
254
  INCREASE_PASSWORD_COMPLEXITY = "increase-password-complexity"
238
255
  IOS14_PRIVACY_BANNER = "ios14-privacy-banner"
239
256
  ITERABLE_NOTIFICATION_TOKENS = "iterable-notification-tokens"
257
+ ITEM_CLUSTERS = "item_clusters"
240
258
  KEEP_PAYMENT_METHOD = "keep-payment-method"
241
259
  KEVIN_BACON = "kevin-bacon"
242
260
  KOREA_CONSENT = "korea-consent"
@@ -245,28 +263,49 @@ class Features(str, Enum):
245
263
  LIGHTNING_DVR_PIVOT = "lightning-dvr-pivot"
246
264
  LIVE_TV_SUPPORT_INCOMPLETE_SEGMENTS = "live-tv-support-incomplete-segments"
247
265
  LIVETV = "livetv"
266
+ LYRICS = "lyrics"
248
267
  METADATA_SEARCH = "metadata_search"
268
+ MUSIC_ANALYSIS = "music-analysis"
269
+ MUSIC_VIDEOS = "music_videos"
249
270
  NEW_PLEX_PASS_PRICES = "new_plex_pass_prices"
250
271
  NEWS_PROVIDER_SUNSET_MODAL = "news-provider-sunset-modal"
272
+ NOMINATIM = "nominatim"
273
+ PASS = "pass"
251
274
  PHOTOS_FAVORITES = "photos-favorites"
252
275
  PHOTOS_METADATA_EDITION = "photos-metadata-edition"
276
+ PHOTOS_V6_EDIT = "photosV6-edit"
277
+ PHOTOS_V6_TV_ALBUMS = "photosV6-tv-albums"
253
278
  PMS_HEALTH = "pms_health"
279
+ PREMIUM_DASHBOARD = "premium-dashboard"
280
+ PREMIUM_MUSIC_METADATA = "premium_music_metadata"
254
281
  RADIO = "radio"
255
282
  RATE_LIMIT_CLIENT_TOKEN = "rate-limit-client-token"
256
283
  SCROBBLING_SERVICE_PLEX_TV = "scrobbling-service-plex-tv"
284
+ SESSION_BANDWIDTH_RESTRICTIONS = "session_bandwidth_restrictions"
285
+ SESSION_KICK = "session_kick"
257
286
  SHARED_SERVER_NOTIFICATION = "shared_server_notification"
258
287
  SHARED_SOURCE_NOTIFICATION = "shared_source_notification"
288
+ SIGNIN_NOTIFICATION = "signin_notification"
259
289
  SIGNIN_WITH_APPLE = "signin_with_apple"
290
+ SILENCE_REMOVAL = "silence-removal"
291
+ SLEEP_TIMER = "sleep-timer"
260
292
  SPRING_SERVE_AD_PROVIDER = "spring_serve_ad_provider"
293
+ SYNC = "sync"
294
+ SWEET_FADES = "sweet-fades"
261
295
  TRANSCODER_CACHE = "transcoder_cache"
296
+ TRAILERS = "trailers"
262
297
  TUNER_SHARING = "tuner-sharing"
263
298
  TWO_FACTOR_AUTHENTICATION = "two-factor-authentication"
264
299
  UNSUPPORTEDTUNERS = "unsupportedtuners"
265
300
  UPGRADE_3DS2 = "upgrade-3ds2"
301
+ VISUALIZERS = "visualizers"
266
302
  VOD_SCHEMA = "vod-schema"
267
303
  VOD_CLOUDFLARE = "vod_cloudflare"
304
+ VOLUME_LEVELING = "volume-leveling"
268
305
  WATCH_TOGETHER_INVITE = "watch-together-invite"
306
+ WATCHLIST_RSS = "watchlist-rss"
269
307
  WEB_SERVER_DASHBOARD = "web_server_dashboard"
308
+ WEBHOOKS = "webhooks"
270
309
 
271
310
 
272
311
  class GetTokenDetailsAuthenticationStatus(str, Enum):
@@ -296,7 +335,9 @@ class SubscriptionTypedDict(TypedDict):
296
335
  class Subscription(BaseModel):
297
336
  r"""If the account’s Plex Pass subscription is active"""
298
337
 
299
- features: Optional[List[Features]] = None
338
+ features: Optional[
339
+ List[Annotated[Features, PlainValidator(validate_open_enum(False))]]
340
+ ] = None
300
341
  r"""List of features allowed on your Plex Pass subscription"""
301
342
 
302
343
  active: Optional[bool] = None
@@ -356,7 +397,7 @@ class Subscription(BaseModel):
356
397
  return m
357
398
 
358
399
 
359
- class GetTokenDetailsFeatures(str, Enum):
400
+ class GetTokenDetailsFeatures(str, Enum, metaclass=utils.OpenEnumMeta):
360
401
  ANDROID_DOLBY_VISION = "Android - Dolby Vision"
361
402
  ANDROID_PI_P = "Android - PiP"
362
403
  CU_SUNSET = "CU Sunset"
@@ -364,28 +405,43 @@ class GetTokenDetailsFeatures(str, Enum):
364
405
  TREBLE_SHOW_FEATURES = "TREBLE-show-features"
365
406
  AD_COUNTDOWN_TIMER = "ad-countdown-timer"
366
407
  ADAPTIVE_BITRATE = "adaptive_bitrate"
408
+ ALBUM_TYPES = "album-types"
409
+ ALLOW_DVR = "allow_dvr"
367
410
  AMAZON_LOOP_DEBUG = "amazon-loop-debug"
368
411
  AVOD_AD_ANALYSIS = "avod-ad-analysis"
369
412
  AVOD_NEW_MEDIA = "avod-new-media"
370
413
  BLACKLIST_GET_SIGNIN = "blacklist_get_signin"
414
+ BOOST_VOICES = "boost-voices"
415
+ CAMERA_UPLOAD = "camera_upload"
371
416
  CLIENT_RADIO_STATIONS = "client-radio-stations"
372
417
  CLOUDFLARE_TURNSTILE_REQUIRED = "cloudflare-turnstile-required"
418
+ CLOUDSYNC = "cloudsync"
373
419
  COLLECTIONS = "collections"
374
420
  COMMENTS_AND_REPLIES_PUSH_NOTIFICATIONS = "comments_and_replies_push_notifications"
375
421
  COMMUNITY_ACCESS_PLEX_TV = "community_access_plex_tv"
376
422
  COMPANIONS_SONOS = "companions_sonos"
423
+ CONTENT_FILTER = "content_filter"
377
424
  CUSTOM_HOME_REMOVAL = "custom-home-removal"
378
425
  DISABLE_HOME_USER_FRIENDSHIPS = "disable_home_user_friendships"
379
426
  DISABLE_SHARING_FRIENDSHIPS = "disable_sharing_friendships"
427
+ DOWNLOADS_GATING = "downloads-gating"
380
428
  DRM_SUPPORT = "drm_support"
429
+ DVR = "dvr"
430
+ DVR_BLOCK_UNSUPPORTED_COUNTRIES = "dvr-block-unsupported-countries"
431
+ EPG_RECENT_CHANNELS = "epg-recent-channels"
381
432
  EXCLUDE_RESTRICTIONS = "exclude restrictions"
382
433
  FEDERATED_AUTH = "federated-auth"
383
434
  FRIEND_REQUEST_PUSH_NOTIFICATIONS = "friend_request_push_notifications"
435
+ GRANDFATHER_SYNC = "grandfather-sync"
384
436
  GUIDED_UPGRADE = "guided-upgrade"
437
+ HARDWARE_TRANSCODING = "hardware_transcoding"
385
438
  HOME = "home"
439
+ HWTRANSCODE = "hwtranscode"
440
+ IMAGGA_V2 = "imagga-v2"
386
441
  INCREASE_PASSWORD_COMPLEXITY = "increase-password-complexity"
387
442
  IOS14_PRIVACY_BANNER = "ios14-privacy-banner"
388
443
  ITERABLE_NOTIFICATION_TOKENS = "iterable-notification-tokens"
444
+ ITEM_CLUSTERS = "item_clusters"
389
445
  KEEP_PAYMENT_METHOD = "keep-payment-method"
390
446
  KEVIN_BACON = "kevin-bacon"
391
447
  KOREA_CONSENT = "korea-consent"
@@ -394,28 +450,49 @@ class GetTokenDetailsFeatures(str, Enum):
394
450
  LIGHTNING_DVR_PIVOT = "lightning-dvr-pivot"
395
451
  LIVE_TV_SUPPORT_INCOMPLETE_SEGMENTS = "live-tv-support-incomplete-segments"
396
452
  LIVETV = "livetv"
453
+ LYRICS = "lyrics"
397
454
  METADATA_SEARCH = "metadata_search"
455
+ MUSIC_ANALYSIS = "music-analysis"
456
+ MUSIC_VIDEOS = "music_videos"
398
457
  NEW_PLEX_PASS_PRICES = "new_plex_pass_prices"
399
458
  NEWS_PROVIDER_SUNSET_MODAL = "news-provider-sunset-modal"
459
+ NOMINATIM = "nominatim"
460
+ PASS = "pass"
400
461
  PHOTOS_FAVORITES = "photos-favorites"
401
462
  PHOTOS_METADATA_EDITION = "photos-metadata-edition"
463
+ PHOTOS_V6_EDIT = "photosV6-edit"
464
+ PHOTOS_V6_TV_ALBUMS = "photosV6-tv-albums"
402
465
  PMS_HEALTH = "pms_health"
466
+ PREMIUM_DASHBOARD = "premium-dashboard"
467
+ PREMIUM_MUSIC_METADATA = "premium_music_metadata"
403
468
  RADIO = "radio"
404
469
  RATE_LIMIT_CLIENT_TOKEN = "rate-limit-client-token"
405
470
  SCROBBLING_SERVICE_PLEX_TV = "scrobbling-service-plex-tv"
471
+ SESSION_BANDWIDTH_RESTRICTIONS = "session_bandwidth_restrictions"
472
+ SESSION_KICK = "session_kick"
406
473
  SHARED_SERVER_NOTIFICATION = "shared_server_notification"
407
474
  SHARED_SOURCE_NOTIFICATION = "shared_source_notification"
475
+ SIGNIN_NOTIFICATION = "signin_notification"
408
476
  SIGNIN_WITH_APPLE = "signin_with_apple"
477
+ SILENCE_REMOVAL = "silence-removal"
478
+ SLEEP_TIMER = "sleep-timer"
409
479
  SPRING_SERVE_AD_PROVIDER = "spring_serve_ad_provider"
480
+ SYNC = "sync"
481
+ SWEET_FADES = "sweet-fades"
410
482
  TRANSCODER_CACHE = "transcoder_cache"
483
+ TRAILERS = "trailers"
411
484
  TUNER_SHARING = "tuner-sharing"
412
485
  TWO_FACTOR_AUTHENTICATION = "two-factor-authentication"
413
486
  UNSUPPORTEDTUNERS = "unsupportedtuners"
414
487
  UPGRADE_3DS2 = "upgrade-3ds2"
488
+ VISUALIZERS = "visualizers"
415
489
  VOD_SCHEMA = "vod-schema"
416
490
  VOD_CLOUDFLARE = "vod_cloudflare"
491
+ VOLUME_LEVELING = "volume-leveling"
417
492
  WATCH_TOGETHER_INVITE = "watch-together-invite"
493
+ WATCHLIST_RSS = "watchlist-rss"
418
494
  WEB_SERVER_DASHBOARD = "web_server_dashboard"
495
+ WEBHOOKS = "webhooks"
419
496
 
420
497
 
421
498
  class GetTokenDetailsAuthenticationResponseStatus(str, Enum):
@@ -441,7 +518,13 @@ class GetTokenDetailsSubscriptionTypedDict(TypedDict):
441
518
 
442
519
 
443
520
  class GetTokenDetailsSubscription(BaseModel):
444
- features: Optional[List[GetTokenDetailsFeatures]] = None
521
+ features: Optional[
522
+ List[
523
+ Annotated[
524
+ GetTokenDetailsFeatures, PlainValidator(validate_open_enum(False))
525
+ ]
526
+ ]
527
+ ] = None
445
528
  r"""List of features allowed on your Plex Pass subscription"""
446
529
 
447
530
  active: Optional[bool] = None