plex-api-client 0.27.0__tar.gz → 0.28.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 (224) hide show
  1. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/PKG-INFO +5 -5
  2. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/README-PYPI.md +2 -2
  3. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/pyproject.toml +3 -2
  4. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/_hooks/types.py +7 -0
  5. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/_version.py +3 -3
  6. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/activities.py +4 -0
  7. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/authentication.py +8 -0
  8. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/basesdk.py +12 -20
  9. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/butler.py +10 -0
  10. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/httpclient.py +6 -16
  11. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/hubs.py +6 -0
  12. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/library.py +40 -0
  13. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/log.py +6 -0
  14. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/media.py +10 -0
  15. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/__init__.py +0 -1
  16. plex_api_client-0.28.0/src/plex_api_client/models/components/__init__.py +40 -0
  17. plex_api_client-0.28.0/src/plex_api_client/models/errors/__init__.py +2065 -0
  18. plex_api_client-0.28.0/src/plex_api_client/models/operations/__init__.py +3467 -0
  19. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_all_libraries.py +7 -4
  20. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/playlists.py +18 -0
  21. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/plex.py +14 -0
  22. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/sdk.py +86 -58
  23. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/sdkconfiguration.py +0 -7
  24. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/search.py +6 -0
  25. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/server.py +18 -0
  26. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/sessions.py +8 -0
  27. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/statistics.py +6 -0
  28. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/updater.py +6 -0
  29. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/users.py +2 -0
  30. plex_api_client-0.28.0/src/plex_api_client/utils/__init__.py +184 -0
  31. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/video.py +4 -0
  32. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/watchlist.py +2 -0
  33. plex_api_client-0.27.0/src/plex_api_client/models/components/__init__.py +0 -6
  34. plex_api_client-0.27.0/src/plex_api_client/models/errors/__init__.py +0 -1410
  35. plex_api_client-0.27.0/src/plex_api_client/models/operations/__init__.py +0 -2345
  36. plex_api_client-0.27.0/src/plex_api_client/utils/__init__.py +0 -100
  37. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/LICENSE.md +0 -0
  38. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/py.typed +0 -0
  39. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/__init__.py +0 -0
  40. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/_hooks/__init__.py +0 -0
  41. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/_hooks/registration.py +0 -0
  42. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/_hooks/sdkhooks.py +0 -0
  43. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/components/security.py +0 -0
  44. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/addplaylistcontents.py +0 -0
  45. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/applyupdates.py +0 -0
  46. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/cancelserveractivities.py +0 -0
  47. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/checkforupdates.py +0 -0
  48. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/clearplaylistcontents.py +0 -0
  49. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/createplaylist.py +0 -0
  50. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/deletelibrary.py +0 -0
  51. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/deleteplaylist.py +0 -0
  52. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/enablepapertrail.py +0 -0
  53. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_actors_library.py +0 -0
  54. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_all_libraries.py +0 -0
  55. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_all_media_library.py +0 -0
  56. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_banner_image.py +0 -0
  57. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_countries_library.py +0 -0
  58. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_genres_library.py +0 -0
  59. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_library_details.py +0 -0
  60. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_library_items.py +0 -0
  61. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_media_meta_data.py +0 -0
  62. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_media_providers.py +0 -0
  63. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_recently_added_library.py +0 -0
  64. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_refresh_library_metadata.py +0 -0
  65. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_search_all_libraries.py +0 -0
  66. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_search_library.py +0 -0
  67. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_server_identity.py +0 -0
  68. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_server_resources.py +0 -0
  69. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_thumb_image.py +0 -0
  70. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_users.py +0 -0
  71. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/get_watch_list.py +0 -0
  72. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getavailableclients.py +0 -0
  73. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getbandwidthstatistics.py +0 -0
  74. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getbutlertasks.py +0 -0
  75. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getcompanionsdata.py +0 -0
  76. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getdevices.py +0 -0
  77. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getfilehash.py +0 -0
  78. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getgeodata.py +0 -0
  79. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getglobalhubs.py +0 -0
  80. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/gethomedata.py +0 -0
  81. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getlibraryhubs.py +0 -0
  82. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getmetadatachildren.py +0 -0
  83. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getmyplexaccount.py +0 -0
  84. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getpin.py +0 -0
  85. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getplaylist.py +0 -0
  86. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getplaylistcontents.py +0 -0
  87. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getplaylists.py +0 -0
  88. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getresizedphoto.py +0 -0
  89. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getresourcesstatistics.py +0 -0
  90. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getsearchresults.py +0 -0
  91. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getserveractivities.py +0 -0
  92. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getservercapabilities.py +0 -0
  93. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getserverlist.py +0 -0
  94. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getserverpreferences.py +0 -0
  95. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getsessionhistory.py +0 -0
  96. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getsessions.py +0 -0
  97. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getsourceconnectioninformation.py +0 -0
  98. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getstatistics.py +0 -0
  99. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/gettimeline.py +0 -0
  100. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/gettokenbypinid.py +0 -0
  101. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/gettokendetails.py +0 -0
  102. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/gettopwatchedcontent.py +0 -0
  103. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/gettranscodesessions.py +0 -0
  104. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/gettransienttoken.py +0 -0
  105. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getupdatestatus.py +0 -0
  106. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/getuserfriends.py +0 -0
  107. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/logline.py +0 -0
  108. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/logmultiline.py +0 -0
  109. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/markplayed.py +0 -0
  110. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/markunplayed.py +0 -0
  111. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/performsearch.py +0 -0
  112. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/performvoicesearch.py +0 -0
  113. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/post_users_sign_in_data.py +0 -0
  114. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/sdkerror.py +0 -0
  115. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/startalltasks.py +0 -0
  116. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/starttask.py +0 -0
  117. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/startuniversaltranscode.py +0 -0
  118. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/stopalltasks.py +0 -0
  119. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/stoptask.py +0 -0
  120. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/stoptranscodesession.py +0 -0
  121. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/updateplaylist.py +0 -0
  122. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/updateplayprogress.py +0 -0
  123. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/errors/uploadplaylist.py +0 -0
  124. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/addplaylistcontents.py +0 -0
  125. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/applyupdates.py +0 -0
  126. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/cancelserveractivities.py +0 -0
  127. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/checkforupdates.py +0 -0
  128. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/clearplaylistcontents.py +0 -0
  129. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/createplaylist.py +0 -0
  130. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/deletelibrary.py +0 -0
  131. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/deleteplaylist.py +0 -0
  132. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/enablepapertrail.py +0 -0
  133. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_actors_library.py +0 -0
  134. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_all_media_library.py +0 -0
  135. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_banner_image.py +0 -0
  136. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_countries_library.py +0 -0
  137. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_genres_library.py +0 -0
  138. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_library_details.py +0 -0
  139. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_library_items.py +0 -0
  140. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_media_arts.py +0 -0
  141. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_media_meta_data.py +0 -0
  142. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_media_posters.py +0 -0
  143. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_media_providers.py +0 -0
  144. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_recently_added.py +0 -0
  145. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_recently_added_library.py +0 -0
  146. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_refresh_library_metadata.py +0 -0
  147. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_search_all_libraries.py +0 -0
  148. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_search_library.py +0 -0
  149. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_server_identity.py +0 -0
  150. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_server_resources.py +0 -0
  151. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_thumb_image.py +0 -0
  152. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_users.py +0 -0
  153. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/get_watch_list.py +0 -0
  154. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getavailableclients.py +0 -0
  155. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getbandwidthstatistics.py +0 -0
  156. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getbutlertasks.py +0 -0
  157. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getcompanionsdata.py +0 -0
  158. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getdevices.py +0 -0
  159. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getfilehash.py +0 -0
  160. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getgeodata.py +0 -0
  161. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getglobalhubs.py +0 -0
  162. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/gethomedata.py +0 -0
  163. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getlibraryhubs.py +0 -0
  164. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getmetadatachildren.py +0 -0
  165. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getmyplexaccount.py +0 -0
  166. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getpin.py +0 -0
  167. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getplaylist.py +0 -0
  168. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getplaylistcontents.py +0 -0
  169. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getplaylists.py +0 -0
  170. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getresizedphoto.py +0 -0
  171. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getresourcesstatistics.py +0 -0
  172. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getsearchresults.py +0 -0
  173. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getserveractivities.py +0 -0
  174. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getservercapabilities.py +0 -0
  175. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getserverlist.py +0 -0
  176. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getserverpreferences.py +0 -0
  177. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getsessionhistory.py +0 -0
  178. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getsessions.py +0 -0
  179. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getsourceconnectioninformation.py +0 -0
  180. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getstatistics.py +0 -0
  181. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/gettimeline.py +0 -0
  182. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/gettokenbypinid.py +0 -0
  183. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/gettokendetails.py +0 -0
  184. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/gettopwatchedcontent.py +0 -0
  185. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/gettranscodesessions.py +0 -0
  186. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/gettransienttoken.py +0 -0
  187. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getupdatestatus.py +0 -0
  188. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/getuserfriends.py +0 -0
  189. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/logline.py +0 -0
  190. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/logmultiline.py +0 -0
  191. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/markplayed.py +0 -0
  192. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/markunplayed.py +0 -0
  193. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/performsearch.py +0 -0
  194. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/performvoicesearch.py +0 -0
  195. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/post_media_arts.py +0 -0
  196. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/post_media_poster.py +0 -0
  197. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/post_users_sign_in_data.py +0 -0
  198. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/startalltasks.py +0 -0
  199. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/starttask.py +0 -0
  200. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/startuniversaltranscode.py +0 -0
  201. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/stopalltasks.py +0 -0
  202. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/stoptask.py +0 -0
  203. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/stoptranscodesession.py +0 -0
  204. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/updateplaylist.py +0 -0
  205. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/updateplayprogress.py +0 -0
  206. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/models/operations/uploadplaylist.py +0 -0
  207. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/py.typed +0 -0
  208. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/types/__init__.py +0 -0
  209. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/types/basemodel.py +0 -0
  210. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/utils/annotations.py +0 -0
  211. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/utils/datetimes.py +0 -0
  212. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/utils/enums.py +0 -0
  213. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/utils/eventstreaming.py +0 -0
  214. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/utils/forms.py +0 -0
  215. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/utils/headers.py +0 -0
  216. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/utils/logger.py +0 -0
  217. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/utils/metadata.py +0 -0
  218. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/utils/queryparams.py +0 -0
  219. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/utils/requestbodies.py +0 -0
  220. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/utils/retries.py +0 -0
  221. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/utils/security.py +0 -0
  222. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/utils/serializers.py +0 -0
  223. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/utils/url.py +0 -0
  224. {plex_api_client-0.27.0 → plex_api_client-0.28.0}/src/plex_api_client/utils/values.py +0 -0
@@ -1,15 +1,15 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: plex-api-client
3
- Version: 0.27.0
3
+ Version: 0.28.0
4
4
  Summary: Python Client SDK Generated by Speakeasy
5
5
  Author: Speakeasy
6
- Requires-Python: >=3.9
6
+ Requires-Python: >=3.9.2
7
7
  Classifier: Programming Language :: Python :: 3
8
- Classifier: Programming Language :: Python :: 3.9
9
8
  Classifier: Programming Language :: Python :: 3.10
10
9
  Classifier: Programming Language :: Python :: 3.11
11
10
  Classifier: Programming Language :: Python :: 3.12
12
11
  Classifier: Programming Language :: Python :: 3.13
12
+ Requires-Dist: httpcore (>=1.0.9)
13
13
  Requires-Dist: httpx (>=0.28.1)
14
14
  Requires-Dist: pydantic (>=2.11.2)
15
15
  Project-URL: Repository, https://github.com/LukeHagar/plexpy.git
@@ -489,8 +489,8 @@ from plex_api_client import PlexAPI
489
489
 
490
490
  with PlexAPI(
491
491
  protocol="https"
492
- ip="e0c3:bcc0:6bac:dccc:c4ec:34b1:ca98:4cb9"
493
- port="40311"
492
+ ip="4982:bc2a:b4f8:efb5:2394:5bc3:ab4f:0e6d"
493
+ port="44765"
494
494
  access_token="<YOUR_API_KEY_HERE>",
495
495
  ) as plex_api:
496
496
 
@@ -472,8 +472,8 @@ from plex_api_client import PlexAPI
472
472
 
473
473
  with PlexAPI(
474
474
  protocol="https"
475
- ip="e0c3:bcc0:6bac:dccc:c4ec:34b1:ca98:4cb9"
476
- port="40311"
475
+ ip="4982:bc2a:b4f8:efb5:2394:5bc3:ab4f:0e6d"
476
+ port="44765"
477
477
  access_token="<YOUR_API_KEY_HERE>",
478
478
  ) as plex_api:
479
479
 
@@ -1,11 +1,12 @@
1
1
  [project]
2
2
  name = "plex-api-client"
3
- version = "0.27.0"
3
+ version = "0.28.0"
4
4
  description = "Python Client SDK Generated by Speakeasy"
5
5
  authors = [{ name = "Speakeasy" },]
6
6
  readme = "README-PYPI.md"
7
- requires-python = ">=3.9"
7
+ requires-python = ">=3.9.2"
8
8
  dependencies = [
9
+ "httpcore >=1.0.9",
9
10
  "httpx >=0.28.1",
10
11
  "pydantic >=2.11.2",
11
12
  ]
@@ -3,10 +3,12 @@
3
3
  from abc import ABC, abstractmethod
4
4
  import httpx
5
5
  from plex_api_client.httpclient import HttpClient
6
+ from plex_api_client.sdkconfiguration import SDKConfiguration
6
7
  from typing import Any, Callable, List, Optional, Tuple, Union
7
8
 
8
9
 
9
10
  class HookContext:
11
+ config: SDKConfiguration
10
12
  base_url: str
11
13
  operation_id: str
12
14
  oauth2_scopes: Optional[List[str]] = None
@@ -14,11 +16,13 @@ class HookContext:
14
16
 
15
17
  def __init__(
16
18
  self,
19
+ config: SDKConfiguration,
17
20
  base_url: str,
18
21
  operation_id: str,
19
22
  oauth2_scopes: Optional[List[str]],
20
23
  security_source: Optional[Union[Any, Callable[[], Any]]],
21
24
  ):
25
+ self.config = config
22
26
  self.base_url = base_url
23
27
  self.operation_id = operation_id
24
28
  self.oauth2_scopes = oauth2_scopes
@@ -28,6 +32,7 @@ class HookContext:
28
32
  class BeforeRequestContext(HookContext):
29
33
  def __init__(self, hook_ctx: HookContext):
30
34
  super().__init__(
35
+ hook_ctx.config,
31
36
  hook_ctx.base_url,
32
37
  hook_ctx.operation_id,
33
38
  hook_ctx.oauth2_scopes,
@@ -38,6 +43,7 @@ class BeforeRequestContext(HookContext):
38
43
  class AfterSuccessContext(HookContext):
39
44
  def __init__(self, hook_ctx: HookContext):
40
45
  super().__init__(
46
+ hook_ctx.config,
41
47
  hook_ctx.base_url,
42
48
  hook_ctx.operation_id,
43
49
  hook_ctx.oauth2_scopes,
@@ -48,6 +54,7 @@ class AfterSuccessContext(HookContext):
48
54
  class AfterErrorContext(HookContext):
49
55
  def __init__(self, hook_ctx: HookContext):
50
56
  super().__init__(
57
+ hook_ctx.config,
51
58
  hook_ctx.base_url,
52
59
  hook_ctx.operation_id,
53
60
  hook_ctx.oauth2_scopes,
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "plex-api-client"
6
- __version__: str = "0.27.0"
6
+ __version__: str = "0.28.0"
7
7
  __openapi_doc_version__: str = "0.0.3"
8
- __gen_version__: str = "2.596.2"
9
- __user_agent__: str = "speakeasy-sdk/python 0.27.0 2.596.2 0.0.3 plex-api-client"
8
+ __gen_version__: str = "2.616.1"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.28.0 2.616.1 0.0.3 plex-api-client"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
@@ -71,6 +71,7 @@ class Activities(BaseSDK):
71
71
 
72
72
  http_res = self.do_request(
73
73
  hook_ctx=HookContext(
74
+ config=self.sdk_configuration,
74
75
  base_url=base_url or "",
75
76
  operation_id="getServerActivities",
76
77
  oauth2_scopes=[],
@@ -175,6 +176,7 @@ class Activities(BaseSDK):
175
176
 
176
177
  http_res = await self.do_request_async(
177
178
  hook_ctx=HookContext(
179
+ config=self.sdk_configuration,
178
180
  base_url=base_url or "",
179
181
  operation_id="getServerActivities",
180
182
  oauth2_scopes=[],
@@ -286,6 +288,7 @@ class Activities(BaseSDK):
286
288
 
287
289
  http_res = self.do_request(
288
290
  hook_ctx=HookContext(
291
+ config=self.sdk_configuration,
289
292
  base_url=base_url or "",
290
293
  operation_id="cancelServerActivities",
291
294
  oauth2_scopes=[],
@@ -394,6 +397,7 @@ class Activities(BaseSDK):
394
397
 
395
398
  http_res = await self.do_request_async(
396
399
  hook_ctx=HookContext(
400
+ config=self.sdk_configuration,
397
401
  base_url=base_url or "",
398
402
  operation_id="cancelServerActivities",
399
403
  oauth2_scopes=[],
@@ -74,6 +74,7 @@ class Authentication(BaseSDK):
74
74
 
75
75
  http_res = self.do_request(
76
76
  hook_ctx=HookContext(
77
+ config=self.sdk_configuration,
77
78
  base_url=base_url or "",
78
79
  operation_id="getTransientToken",
79
80
  oauth2_scopes=[],
@@ -186,6 +187,7 @@ class Authentication(BaseSDK):
186
187
 
187
188
  http_res = await self.do_request_async(
188
189
  hook_ctx=HookContext(
190
+ config=self.sdk_configuration,
189
191
  base_url=base_url or "",
190
192
  operation_id="getTransientToken",
191
193
  oauth2_scopes=[],
@@ -296,6 +298,7 @@ class Authentication(BaseSDK):
296
298
 
297
299
  http_res = self.do_request(
298
300
  hook_ctx=HookContext(
301
+ config=self.sdk_configuration,
299
302
  base_url=base_url or "",
300
303
  operation_id="getSourceConnectionInformation",
301
304
  oauth2_scopes=[],
@@ -406,6 +409,7 @@ class Authentication(BaseSDK):
406
409
 
407
410
  http_res = await self.do_request_async(
408
411
  hook_ctx=HookContext(
412
+ config=self.sdk_configuration,
409
413
  base_url=base_url or "",
410
414
  operation_id="getSourceConnectionInformation",
411
415
  oauth2_scopes=[],
@@ -507,6 +511,7 @@ class Authentication(BaseSDK):
507
511
 
508
512
  http_res = self.do_request(
509
513
  hook_ctx=HookContext(
514
+ config=self.sdk_configuration,
510
515
  base_url=base_url or "",
511
516
  operation_id="getTokenDetails",
512
517
  oauth2_scopes=[],
@@ -611,6 +616,7 @@ class Authentication(BaseSDK):
611
616
 
612
617
  http_res = await self.do_request_async(
613
618
  hook_ctx=HookContext(
619
+ config=self.sdk_configuration,
614
620
  base_url=base_url or "",
615
621
  operation_id="getTokenDetails",
616
622
  oauth2_scopes=[],
@@ -731,6 +737,7 @@ class Authentication(BaseSDK):
731
737
 
732
738
  http_res = self.do_request(
733
739
  hook_ctx=HookContext(
740
+ config=self.sdk_configuration,
734
741
  base_url=base_url or "",
735
742
  operation_id="post-users-sign-in-data",
736
743
  oauth2_scopes=[],
@@ -852,6 +859,7 @@ class Authentication(BaseSDK):
852
859
 
853
860
  http_res = await self.do_request_async(
854
861
  hook_ctx=HookContext(
862
+ config=self.sdk_configuration,
855
863
  base_url=base_url or "",
856
864
  operation_id="post-users-sign-in-data",
857
865
  oauth2_scopes=[],
@@ -219,12 +219,12 @@ class BaseSDK:
219
219
  client = self.sdk_configuration.client
220
220
  logger = self.sdk_configuration.debug_logger
221
221
 
222
+ hooks = self.sdk_configuration.__dict__["_hooks"]
223
+
222
224
  def do():
223
225
  http_res = None
224
226
  try:
225
- req = self.sdk_configuration.get_hooks().before_request(
226
- BeforeRequestContext(hook_ctx), request
227
- )
227
+ req = hooks.before_request(BeforeRequestContext(hook_ctx), request)
228
228
  logger.debug(
229
229
  "Request:\nMethod: %s\nURL: %s\nHeaders: %s\nBody: %s",
230
230
  req.method,
@@ -238,9 +238,7 @@ class BaseSDK:
238
238
 
239
239
  http_res = client.send(req, stream=stream)
240
240
  except Exception as e:
241
- _, e = self.sdk_configuration.get_hooks().after_error(
242
- AfterErrorContext(hook_ctx), None, e
243
- )
241
+ _, e = hooks.after_error(AfterErrorContext(hook_ctx), None, e)
244
242
  if e is not None:
245
243
  logger.debug("Request Exception", exc_info=True)
246
244
  raise e
@@ -258,7 +256,7 @@ class BaseSDK:
258
256
  )
259
257
 
260
258
  if utils.match_status_codes(error_status_codes, http_res.status_code):
261
- result, err = self.sdk_configuration.get_hooks().after_error(
259
+ result, err = hooks.after_error(
262
260
  AfterErrorContext(hook_ctx), http_res, None
263
261
  )
264
262
  if err is not None:
@@ -278,9 +276,7 @@ class BaseSDK:
278
276
  http_res = do()
279
277
 
280
278
  if not utils.match_status_codes(error_status_codes, http_res.status_code):
281
- http_res = self.sdk_configuration.get_hooks().after_success(
282
- AfterSuccessContext(hook_ctx), http_res
283
- )
279
+ http_res = hooks.after_success(AfterSuccessContext(hook_ctx), http_res)
284
280
 
285
281
  return http_res
286
282
 
@@ -295,12 +291,12 @@ class BaseSDK:
295
291
  client = self.sdk_configuration.async_client
296
292
  logger = self.sdk_configuration.debug_logger
297
293
 
294
+ hooks = self.sdk_configuration.__dict__["_hooks"]
295
+
298
296
  async def do():
299
297
  http_res = None
300
298
  try:
301
- req = self.sdk_configuration.get_hooks().before_request(
302
- BeforeRequestContext(hook_ctx), request
303
- )
299
+ req = hooks.before_request(BeforeRequestContext(hook_ctx), request)
304
300
  logger.debug(
305
301
  "Request:\nMethod: %s\nURL: %s\nHeaders: %s\nBody: %s",
306
302
  req.method,
@@ -314,9 +310,7 @@ class BaseSDK:
314
310
 
315
311
  http_res = await client.send(req, stream=stream)
316
312
  except Exception as e:
317
- _, e = self.sdk_configuration.get_hooks().after_error(
318
- AfterErrorContext(hook_ctx), None, e
319
- )
313
+ _, e = hooks.after_error(AfterErrorContext(hook_ctx), None, e)
320
314
  if e is not None:
321
315
  logger.debug("Request Exception", exc_info=True)
322
316
  raise e
@@ -334,7 +328,7 @@ class BaseSDK:
334
328
  )
335
329
 
336
330
  if utils.match_status_codes(error_status_codes, http_res.status_code):
337
- result, err = self.sdk_configuration.get_hooks().after_error(
331
+ result, err = hooks.after_error(
338
332
  AfterErrorContext(hook_ctx), http_res, None
339
333
  )
340
334
  if err is not None:
@@ -356,8 +350,6 @@ class BaseSDK:
356
350
  http_res = await do()
357
351
 
358
352
  if not utils.match_status_codes(error_status_codes, http_res.status_code):
359
- http_res = self.sdk_configuration.get_hooks().after_success(
360
- AfterSuccessContext(hook_ctx), http_res
361
- )
353
+ http_res = hooks.after_success(AfterSuccessContext(hook_ctx), http_res)
362
354
 
363
355
  return http_res
@@ -63,6 +63,7 @@ class Butler(BaseSDK):
63
63
 
64
64
  http_res = self.do_request(
65
65
  hook_ctx=HookContext(
66
+ config=self.sdk_configuration,
66
67
  base_url=base_url or "",
67
68
  operation_id="getButlerTasks",
68
69
  oauth2_scopes=[],
@@ -167,6 +168,7 @@ class Butler(BaseSDK):
167
168
 
168
169
  http_res = await self.do_request_async(
169
170
  hook_ctx=HookContext(
171
+ config=self.sdk_configuration,
170
172
  base_url=base_url or "",
171
173
  operation_id="getButlerTasks",
172
174
  oauth2_scopes=[],
@@ -276,6 +278,7 @@ class Butler(BaseSDK):
276
278
 
277
279
  http_res = self.do_request(
278
280
  hook_ctx=HookContext(
281
+ config=self.sdk_configuration,
279
282
  base_url=base_url or "",
280
283
  operation_id="startAllTasks",
281
284
  oauth2_scopes=[],
@@ -382,6 +385,7 @@ class Butler(BaseSDK):
382
385
 
383
386
  http_res = await self.do_request_async(
384
387
  hook_ctx=HookContext(
388
+ config=self.sdk_configuration,
385
389
  base_url=base_url or "",
386
390
  operation_id="startAllTasks",
387
391
  oauth2_scopes=[],
@@ -484,6 +488,7 @@ class Butler(BaseSDK):
484
488
 
485
489
  http_res = self.do_request(
486
490
  hook_ctx=HookContext(
491
+ config=self.sdk_configuration,
487
492
  base_url=base_url or "",
488
493
  operation_id="stopAllTasks",
489
494
  oauth2_scopes=[],
@@ -586,6 +591,7 @@ class Butler(BaseSDK):
586
591
 
587
592
  http_res = await self.do_request_async(
588
593
  hook_ctx=HookContext(
594
+ config=self.sdk_configuration,
589
595
  base_url=base_url or "",
590
596
  operation_id="stopAllTasks",
591
597
  oauth2_scopes=[],
@@ -699,6 +705,7 @@ class Butler(BaseSDK):
699
705
 
700
706
  http_res = self.do_request(
701
707
  hook_ctx=HookContext(
708
+ config=self.sdk_configuration,
702
709
  base_url=base_url or "",
703
710
  operation_id="startTask",
704
711
  oauth2_scopes=[],
@@ -812,6 +819,7 @@ class Butler(BaseSDK):
812
819
 
813
820
  http_res = await self.do_request_async(
814
821
  hook_ctx=HookContext(
822
+ config=self.sdk_configuration,
815
823
  base_url=base_url or "",
816
824
  operation_id="startTask",
817
825
  oauth2_scopes=[],
@@ -921,6 +929,7 @@ class Butler(BaseSDK):
921
929
 
922
930
  http_res = self.do_request(
923
931
  hook_ctx=HookContext(
932
+ config=self.sdk_configuration,
924
933
  base_url=base_url or "",
925
934
  operation_id="stopTask",
926
935
  oauth2_scopes=[],
@@ -1030,6 +1039,7 @@ class Butler(BaseSDK):
1030
1039
 
1031
1040
  http_res = await self.do_request_async(
1032
1041
  hook_ctx=HookContext(
1042
+ config=self.sdk_configuration,
1033
1043
  base_url=base_url or "",
1034
1044
  operation_id="stopTask",
1035
1045
  oauth2_scopes=[],
@@ -2,7 +2,6 @@
2
2
 
3
3
  # pyright: reportReturnType = false
4
4
  import asyncio
5
- from concurrent.futures import ThreadPoolExecutor
6
5
  from typing_extensions import Protocol, runtime_checkable
7
6
  import httpx
8
7
  from typing import Any, Optional, Union
@@ -116,21 +115,12 @@ def close_clients(
116
115
  pass
117
116
 
118
117
  if async_client is not None and not async_client_supplied:
119
- is_async = False
120
118
  try:
121
- asyncio.get_running_loop()
122
- is_async = True
119
+ loop = asyncio.get_running_loop()
120
+ asyncio.run_coroutine_threadsafe(async_client.aclose(), loop)
123
121
  except RuntimeError:
124
- pass
125
-
126
- try:
127
- # If this function is called in an async loop then start another
128
- # loop in a separate thread to close the async http client.
129
- if is_async:
130
- with ThreadPoolExecutor(max_workers=1) as executor:
131
- future = executor.submit(asyncio.run, async_client.aclose())
132
- future.result()
133
- else:
122
+ try:
134
123
  asyncio.run(async_client.aclose())
135
- except Exception:
136
- pass
124
+ except RuntimeError:
125
+ # best effort
126
+ pass
@@ -73,6 +73,7 @@ class Hubs(BaseSDK):
73
73
 
74
74
  http_res = self.do_request(
75
75
  hook_ctx=HookContext(
76
+ config=self.sdk_configuration,
76
77
  base_url=base_url or "",
77
78
  operation_id="getGlobalHubs",
78
79
  oauth2_scopes=[],
@@ -187,6 +188,7 @@ class Hubs(BaseSDK):
187
188
 
188
189
  http_res = await self.do_request_async(
189
190
  hook_ctx=HookContext(
191
+ config=self.sdk_configuration,
190
192
  base_url=base_url or "",
191
193
  operation_id="getGlobalHubs",
192
194
  oauth2_scopes=[],
@@ -302,6 +304,7 @@ class Hubs(BaseSDK):
302
304
 
303
305
  http_res = self.do_request(
304
306
  hook_ctx=HookContext(
307
+ config=self.sdk_configuration,
305
308
  base_url=base_url or "",
306
309
  operation_id="get-recently-added",
307
310
  oauth2_scopes=[],
@@ -404,6 +407,7 @@ class Hubs(BaseSDK):
404
407
 
405
408
  http_res = await self.do_request_async(
406
409
  hook_ctx=HookContext(
410
+ config=self.sdk_configuration,
407
411
  base_url=base_url or "",
408
412
  operation_id="get-recently-added",
409
413
  oauth2_scopes=[],
@@ -509,6 +513,7 @@ class Hubs(BaseSDK):
509
513
 
510
514
  http_res = self.do_request(
511
515
  hook_ctx=HookContext(
516
+ config=self.sdk_configuration,
512
517
  base_url=base_url or "",
513
518
  operation_id="getLibraryHubs",
514
519
  oauth2_scopes=[],
@@ -627,6 +632,7 @@ class Hubs(BaseSDK):
627
632
 
628
633
  http_res = await self.do_request_async(
629
634
  hook_ctx=HookContext(
635
+ config=self.sdk_configuration,
630
636
  base_url=base_url or "",
631
637
  operation_id="getLibraryHubs",
632
638
  oauth2_scopes=[],