kinde-python-sdk 2.0.0b9__tar.gz → 2.0.0b11__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 (462) hide show
  1. {kinde_python_sdk-2.0.0b9/kinde_python_sdk.egg-info → kinde_python_sdk-2.0.0b11}/PKG-INFO +23 -1
  2. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/README.md +23 -1
  3. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11/kinde_python_sdk.egg-info}/PKG-INFO +23 -1
  4. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/login_options.py +1 -0
  5. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/oauth.py +3 -0
  6. kinde_python_sdk-2.0.0b11/kinde_sdk/management/management_token_manager.py +303 -0
  7. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/pyproject.toml +1 -1
  8. kinde_python_sdk-2.0.0b9/kinde_sdk/management/management_token_manager.py +0 -94
  9. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/LICENSE +0 -0
  10. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/MANIFEST.in +0 -0
  11. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/__init__.py +0 -0
  12. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/examples/example_app.py +0 -0
  13. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/examples/session.py +0 -0
  14. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/framework/__init__.py +0 -0
  15. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/framework/fastapi_framework.py +0 -0
  16. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/framework/fastapi_framework_factory.py +0 -0
  17. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/middleware/framework_middleware.py +0 -0
  18. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/storage/fastapi_storage.py +0 -0
  19. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/storage/fastapi_storage_factory.py +0 -0
  20. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_flask/__init__.py +0 -0
  21. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_flask/examples/example_app.py +0 -0
  22. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_flask/framework/flask_framework.py +0 -0
  23. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_flask/framework/flask_framework_factory.py +0 -0
  24. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_flask/middleware/framework_middleware.py +0 -0
  25. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_flask/storage/flask_storage_factory.py +0 -0
  26. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_python_sdk.egg-info/SOURCES.txt +0 -0
  27. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_python_sdk.egg-info/dependency_links.txt +0 -0
  28. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_python_sdk.egg-info/not-zip-safe +0 -0
  29. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_python_sdk.egg-info/requires.txt +0 -0
  30. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_python_sdk.egg-info/top_level.txt +0 -0
  31. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/__init__.py +0 -0
  32. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/__init__.py +0 -0
  33. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/path_to_api.py +0 -0
  34. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/__init__.py +0 -0
  35. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_apis.py +0 -0
  36. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_apis_api_id.py +0 -0
  37. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_apis_api_id_applications.py +0 -0
  38. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_applications.py +0 -0
  39. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_applications_app_id_auth_logout_urls.py +0 -0
  40. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_applications_app_id_auth_redirect_urls.py +0 -0
  41. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_applications_application_id.py +0 -0
  42. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_applications_application_id_connections.py +0 -0
  43. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_applications_application_id_connections_connection_id.py +0 -0
  44. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_business.py +0 -0
  45. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_connected_apps_auth_url.py +0 -0
  46. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_connected_apps_revoke.py +0 -0
  47. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_connected_apps_token.py +0 -0
  48. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_connections.py +0 -0
  49. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_connections_connection_id.py +0 -0
  50. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_environment_feature_flags.py +0 -0
  51. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_environment_feature_flags_feature_flag_key.py +0 -0
  52. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_event_types.py +0 -0
  53. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_events_event_id.py +0 -0
  54. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_feature_flags.py +0 -0
  55. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_feature_flags_feature_flag_key.py +0 -0
  56. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_industries.py +0 -0
  57. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organization.py +0 -0
  58. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organization_org_code.py +0 -0
  59. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organization_org_code_handle.py +0 -0
  60. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organizations.py +0 -0
  61. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organizations_org_code_feature_flags.py +0 -0
  62. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organizations_org_code_feature_flags_feature_flag_key.py +0 -0
  63. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organizations_org_code_properties.py +0 -0
  64. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organizations_org_code_properties_property_key.py +0 -0
  65. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organizations_org_code_users.py +0 -0
  66. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organizations_org_code_users_user_id.py +0 -0
  67. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organizations_org_code_users_user_id_permissions.py +0 -0
  68. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organizations_org_code_users_user_id_permissions_permission_id.py +0 -0
  69. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organizations_org_code_users_user_id_roles.py +0 -0
  70. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organizations_org_code_users_user_id_roles_role_id.py +0 -0
  71. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_permissions.py +0 -0
  72. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_permissions_permission_id.py +0 -0
  73. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_properties.py +0 -0
  74. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_properties_property_id.py +0 -0
  75. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_property_categories.py +0 -0
  76. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_property_categories_category_id.py +0 -0
  77. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_roles.py +0 -0
  78. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_roles_role_id.py +0 -0
  79. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_roles_role_id_permissions.py +0 -0
  80. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_roles_role_id_permissions_permission_id.py +0 -0
  81. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_subscribers.py +0 -0
  82. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_subscribers_subscriber_id.py +0 -0
  83. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_timezones.py +0 -0
  84. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_user.py +0 -0
  85. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_users.py +0 -0
  86. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_users_user_id_feature_flags_feature_flag_key.py +0 -0
  87. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_users_user_id_password.py +0 -0
  88. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_users_user_id_properties.py +0 -0
  89. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_users_user_id_properties_property_key.py +0 -0
  90. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_users_user_id_refresh_claims.py +0 -0
  91. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_webhooks.py +0 -0
  92. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_webhooks_webhook_id.py +0 -0
  93. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/oauth2_introspect.py +0 -0
  94. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/oauth2_revoke.py +0 -0
  95. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/oauth2_user_profile.py +0 -0
  96. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/oauth2_v2_user_profile.py +0 -0
  97. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tag_to_api.py +0 -0
  98. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/__init__.py +0 -0
  99. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/apis_api.py +0 -0
  100. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/applications_api.py +0 -0
  101. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/business_api.py +0 -0
  102. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/callbacks_api.py +0 -0
  103. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/connected_apps_api.py +0 -0
  104. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/connections_api.py +0 -0
  105. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/environments_api.py +0 -0
  106. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/feature_flags_api.py +0 -0
  107. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/industries_api.py +0 -0
  108. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/o_auth_api.py +0 -0
  109. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/organizations_api.py +0 -0
  110. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/permissions_api.py +0 -0
  111. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/properties_api.py +0 -0
  112. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/property_categories_api.py +0 -0
  113. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/roles_api.py +0 -0
  114. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/subscribers_api.py +0 -0
  115. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/timezones_api.py +0 -0
  116. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/users_api.py +0 -0
  117. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/webhooks_api.py +0 -0
  118. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/__init__.py +0 -0
  119. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/claims.py +0 -0
  120. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/config_loader.py +0 -0
  121. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/enums.py +0 -0
  122. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/feature_flags.py +0 -0
  123. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/permissions.py +0 -0
  124. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/portals.py +0 -0
  125. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/token_manager.py +0 -0
  126. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/user_session.py +0 -0
  127. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/__init__.py +0 -0
  128. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/exceptions.py +0 -0
  129. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/framework/__init__.py +0 -0
  130. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/framework/framework_context.py +0 -0
  131. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/framework/framework_factory.py +0 -0
  132. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/framework/framework_interface.py +0 -0
  133. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/framework/null_framework.py +0 -0
  134. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/helpers.py +0 -0
  135. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/storage/__init__.py +0 -0
  136. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/storage/framework_aware_storage.py +0 -0
  137. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/storage/local_storage.py +0 -0
  138. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/storage/memory_storage.py +0 -0
  139. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/storage/storage_factory.py +0 -0
  140. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/storage/storage_interface.py +0 -0
  141. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/storage/storage_manager.py +0 -0
  142. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/management/__init__.py +0 -0
  143. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/management/api_client.py +0 -0
  144. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/management/configuration.py +0 -0
  145. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/management/management_client.py +0 -0
  146. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/management/schemas.py +0 -0
  147. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/__init__.py +0 -0
  148. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/add_organization_users_response.py +0 -0
  149. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/api.py +0 -0
  150. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/api_result.py +0 -0
  151. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/apis.py +0 -0
  152. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/applications.py +0 -0
  153. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/category.py +0 -0
  154. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/connected_apps_access_token.py +0 -0
  155. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/connected_apps_auth_url.py +0 -0
  156. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/connection.py +0 -0
  157. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_application_response.py +0 -0
  158. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_category_response.py +0 -0
  159. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_connection_response.py +0 -0
  160. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_organization_response.py +0 -0
  161. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_property_response.py +0 -0
  162. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_subscriber_success_response.py +0 -0
  163. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_user_response.py +0 -0
  164. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_webhook_response.py +0 -0
  165. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/delete_webhook_response.py +0 -0
  166. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/error.py +0 -0
  167. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/error_response.py +0 -0
  168. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/event_type.py +0 -0
  169. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_application_response.py +0 -0
  170. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_applications_response.py +0 -0
  171. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_categories_response.py +0 -0
  172. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_connections_response.py +0 -0
  173. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_environment_feature_flags_response.py +0 -0
  174. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_event_response.py +0 -0
  175. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_event_types_response.py +0 -0
  176. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_organization_feature_flags_response.py +0 -0
  177. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_organization_users_response.py +0 -0
  178. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_organizations_response.py +0 -0
  179. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_organizations_user_permissions_response.py +0 -0
  180. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_organizations_user_roles_response.py +0 -0
  181. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_permissions_response.py +0 -0
  182. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_properties_response.py +0 -0
  183. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_property_values_response.py +0 -0
  184. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_redirect_callback_urls_response.py +0 -0
  185. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_roles_response.py +0 -0
  186. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_subscriber_response.py +0 -0
  187. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_subscribers_response.py +0 -0
  188. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_webhooks_response.py +0 -0
  189. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/logout_redirect_urls.py +0 -0
  190. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/model_property.py +0 -0
  191. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/organization.py +0 -0
  192. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/organization_user.py +0 -0
  193. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/organization_user_permission.py +0 -0
  194. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/organization_user_role.py +0 -0
  195. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/organization_user_role_permissions.py +0 -0
  196. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/organization_users.py +0 -0
  197. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/permissions.py +0 -0
  198. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/property_value.py +0 -0
  199. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/redirect_callback_urls.py +0 -0
  200. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/role.py +0 -0
  201. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/roles.py +0 -0
  202. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/roles_permission_response.py +0 -0
  203. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/subscriber.py +0 -0
  204. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/subscribers_subscriber.py +0 -0
  205. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/success_response.py +0 -0
  206. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/token_error_response.py +0 -0
  207. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/token_introspect.py +0 -0
  208. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/update_organization_users_response.py +0 -0
  209. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/update_role_permissions_response.py +0 -0
  210. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/update_user_response.py +0 -0
  211. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/update_webhook_response.py +0 -0
  212. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/user.py +0 -0
  213. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/user_identity.py +0 -0
  214. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/user_profile.py +0 -0
  215. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/user_profile_v2.py +0 -0
  216. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/users.py +0 -0
  217. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/users_response.py +0 -0
  218. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/webhook.py +0 -0
  219. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/models/__init__.py +0 -0
  220. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/__init__.py +0 -0
  221. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_apis/__init__.py +0 -0
  222. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_apis/get.py +0 -0
  223. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_apis/post.py +0 -0
  224. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_apis_api_id/__init__.py +0 -0
  225. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_apis_api_id/delete.py +0 -0
  226. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_apis_api_id/get.py +0 -0
  227. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_apis_api_id_applications/__init__.py +0 -0
  228. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_apis_api_id_applications/patch.py +0 -0
  229. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications/__init__.py +0 -0
  230. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications/get.py +0 -0
  231. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications/post.py +0 -0
  232. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/__init__.py +0 -0
  233. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/delete.py +0 -0
  234. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/get.py +0 -0
  235. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/post.py +0 -0
  236. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/put.py +0 -0
  237. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/__init__.py +0 -0
  238. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/delete.py +0 -0
  239. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/get.py +0 -0
  240. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/post.py +0 -0
  241. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/put.py +0 -0
  242. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_application_id/__init__.py +0 -0
  243. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_application_id/delete.py +0 -0
  244. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_application_id/get.py +0 -0
  245. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_application_id/patch.py +0 -0
  246. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_application_id_connections/__init__.py +0 -0
  247. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_application_id_connections/get.py +0 -0
  248. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_application_id_connections_connection_id/__init__.py +0 -0
  249. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_application_id_connections_connection_id/delete.py +0 -0
  250. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_application_id_connections_connection_id/post.py +0 -0
  251. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_business/__init__.py +0 -0
  252. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_business/get.py +0 -0
  253. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_business/patch.py +0 -0
  254. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connected_apps_auth_url/__init__.py +0 -0
  255. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connected_apps_auth_url/get.py +0 -0
  256. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connected_apps_revoke/__init__.py +0 -0
  257. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connected_apps_revoke/post.py +0 -0
  258. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connected_apps_token/__init__.py +0 -0
  259. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connected_apps_token/get.py +0 -0
  260. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connections/__init__.py +0 -0
  261. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connections/get.py +0 -0
  262. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connections/post.py +0 -0
  263. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connections_connection_id/__init__.py +0 -0
  264. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connections_connection_id/delete.py +0 -0
  265. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connections_connection_id/get.py +0 -0
  266. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connections_connection_id/patch.py +0 -0
  267. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_environment_feature_flags/__init__.py +0 -0
  268. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_environment_feature_flags/delete.py +0 -0
  269. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_environment_feature_flags/get.py +0 -0
  270. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_environment_feature_flags_feature_flag_key/__init__.py +0 -0
  271. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_environment_feature_flags_feature_flag_key/delete.py +0 -0
  272. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_environment_feature_flags_feature_flag_key/patch.py +0 -0
  273. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_event_types/__init__.py +0 -0
  274. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_event_types/get.py +0 -0
  275. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_events_event_id/__init__.py +0 -0
  276. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_events_event_id/get.py +0 -0
  277. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_feature_flags/__init__.py +0 -0
  278. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_feature_flags/post.py +0 -0
  279. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_feature_flags_feature_flag_key/__init__.py +0 -0
  280. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_feature_flags_feature_flag_key/delete.py +0 -0
  281. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_feature_flags_feature_flag_key/put.py +0 -0
  282. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_industries/__init__.py +0 -0
  283. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_industries/get.py +0 -0
  284. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organization/__init__.py +0 -0
  285. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organization/get.py +0 -0
  286. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organization/post.py +0 -0
  287. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organization_org_code/__init__.py +0 -0
  288. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organization_org_code/delete.py +0 -0
  289. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organization_org_code/patch.py +0 -0
  290. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organization_org_code_handle/__init__.py +0 -0
  291. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organization_org_code_handle/delete.py +0 -0
  292. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations/__init__.py +0 -0
  293. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations/get.py +0 -0
  294. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_feature_flags/__init__.py +0 -0
  295. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_feature_flags/delete.py +0 -0
  296. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_feature_flags/get.py +0 -0
  297. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_feature_flags_feature_flag_key/__init__.py +0 -0
  298. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_feature_flags_feature_flag_key/delete.py +0 -0
  299. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_feature_flags_feature_flag_key/patch.py +0 -0
  300. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_properties/__init__.py +0 -0
  301. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_properties/get.py +0 -0
  302. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_properties/patch.py +0 -0
  303. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_properties_property_key/__init__.py +0 -0
  304. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_properties_property_key/put.py +0 -0
  305. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users/__init__.py +0 -0
  306. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users/get.py +0 -0
  307. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users/patch.py +0 -0
  308. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users/post.py +0 -0
  309. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id/__init__.py +0 -0
  310. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id/delete.py +0 -0
  311. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions/__init__.py +0 -0
  312. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions/get.py +0 -0
  313. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions/post.py +0 -0
  314. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions_permission_id/__init__.py +0 -0
  315. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions_permission_id/delete.py +0 -0
  316. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles/__init__.py +0 -0
  317. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles/get.py +0 -0
  318. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles/post.py +0 -0
  319. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles_role_id/__init__.py +0 -0
  320. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles_role_id/delete.py +0 -0
  321. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_permissions/__init__.py +0 -0
  322. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_permissions/get.py +0 -0
  323. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_permissions/post.py +0 -0
  324. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_permissions_permission_id/__init__.py +0 -0
  325. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_permissions_permission_id/delete.py +0 -0
  326. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_permissions_permission_id/patch.py +0 -0
  327. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_properties/__init__.py +0 -0
  328. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_properties/get.py +0 -0
  329. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_properties/post.py +0 -0
  330. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_properties_property_id/__init__.py +0 -0
  331. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_properties_property_id/delete.py +0 -0
  332. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_properties_property_id/put.py +0 -0
  333. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_property_categories/__init__.py +0 -0
  334. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_property_categories/get.py +0 -0
  335. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_property_categories/post.py +0 -0
  336. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_property_categories_category_id/__init__.py +0 -0
  337. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_property_categories_category_id/put.py +0 -0
  338. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles/__init__.py +0 -0
  339. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles/get.py +0 -0
  340. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles/post.py +0 -0
  341. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles_role_id/__init__.py +0 -0
  342. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles_role_id/delete.py +0 -0
  343. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles_role_id/patch.py +0 -0
  344. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles_role_id_permissions/__init__.py +0 -0
  345. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles_role_id_permissions/get.py +0 -0
  346. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles_role_id_permissions/patch.py +0 -0
  347. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles_role_id_permissions_permission_id/__init__.py +0 -0
  348. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles_role_id_permissions_permission_id/delete.py +0 -0
  349. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_subscribers/__init__.py +0 -0
  350. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_subscribers/get.py +0 -0
  351. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_subscribers/post.py +0 -0
  352. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_subscribers_subscriber_id/__init__.py +0 -0
  353. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_subscribers_subscriber_id/get.py +0 -0
  354. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_timezones/__init__.py +0 -0
  355. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_timezones/get.py +0 -0
  356. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_user/__init__.py +0 -0
  357. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_user/delete.py +0 -0
  358. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_user/get.py +0 -0
  359. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_user/patch.py +0 -0
  360. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_user/post.py +0 -0
  361. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_users/__init__.py +0 -0
  362. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_users/get.py +0 -0
  363. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_users_user_id_feature_flags_feature_flag_key/__init__.py +0 -0
  364. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_users_user_id_feature_flags_feature_flag_key/patch.py +0 -0
  365. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_users_user_id_password/__init__.py +0 -0
  366. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_users_user_id_password/put.py +0 -0
  367. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_users_user_id_properties/__init__.py +0 -0
  368. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_users_user_id_properties/get.py +0 -0
  369. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_users_user_id_properties/patch.py +0 -0
  370. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_users_user_id_properties_property_key/__init__.py +0 -0
  371. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_users_user_id_properties_property_key/put.py +0 -0
  372. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_users_user_id_refresh_claims/__init__.py +0 -0
  373. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_users_user_id_refresh_claims/post.py +0 -0
  374. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_webhooks/__init__.py +0 -0
  375. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_webhooks/get.py +0 -0
  376. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_webhooks/patch.py +0 -0
  377. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_webhooks/post.py +0 -0
  378. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_webhooks_webhook_id/__init__.py +0 -0
  379. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_webhooks_webhook_id/delete.py +0 -0
  380. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_introspect/__init__.py +0 -0
  381. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_introspect/post.py +0 -0
  382. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_revoke/__init__.py +0 -0
  383. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_revoke/post.py +0 -0
  384. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_user_profile/__init__.py +0 -0
  385. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_user_profile/get.py +0 -0
  386. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_v2_user_profile/__init__.py +0 -0
  387. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_v2_user_profile/get.py +0 -0
  388. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/__init__.py +0 -0
  389. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_kinde_api_client.py +0 -0
  390. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/__init__.py +0 -0
  391. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_add_organization_users_response.py +0 -0
  392. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_api.py +0 -0
  393. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_api_result.py +0 -0
  394. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_apis.py +0 -0
  395. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_applications.py +0 -0
  396. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_category.py +0 -0
  397. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_connected_apps_access_token.py +0 -0
  398. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_connected_apps_auth_url.py +0 -0
  399. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_connection.py +0 -0
  400. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_create_application_response.py +0 -0
  401. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_create_category_response.py +0 -0
  402. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_create_connection_response.py +0 -0
  403. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_create_organization_response.py +0 -0
  404. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_create_property_response.py +0 -0
  405. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_create_subscriber_success_response.py +0 -0
  406. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_create_user_response.py +0 -0
  407. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_create_webhook_response.py +0 -0
  408. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_delete_webhook_response.py +0 -0
  409. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_error.py +0 -0
  410. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_error_response.py +0 -0
  411. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_event_type.py +0 -0
  412. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_application_response.py +0 -0
  413. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_applications_response.py +0 -0
  414. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_categories_response.py +0 -0
  415. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_connections_response.py +0 -0
  416. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_environment_feature_flags_response.py +0 -0
  417. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_event_response.py +0 -0
  418. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_event_types_response.py +0 -0
  419. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_organization_feature_flags_response.py +0 -0
  420. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_organization_users_response.py +0 -0
  421. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_organizations_response.py +0 -0
  422. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_organizations_user_permissions_response.py +0 -0
  423. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_organizations_user_roles_response.py +0 -0
  424. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_permissions_response.py +0 -0
  425. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_properties_response.py +0 -0
  426. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_property_values_response.py +0 -0
  427. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_redirect_callback_urls_response.py +0 -0
  428. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_roles_response.py +0 -0
  429. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_subscriber_response.py +0 -0
  430. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_subscribers_response.py +0 -0
  431. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_webhooks_response.py +0 -0
  432. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_logout_redirect_urls.py +0 -0
  433. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_model_property.py +0 -0
  434. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_organization.py +0 -0
  435. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_organization_user.py +0 -0
  436. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_organization_user_permission.py +0 -0
  437. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_organization_user_role.py +0 -0
  438. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_organization_user_role_permissions.py +0 -0
  439. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_organization_users.py +0 -0
  440. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_permissions.py +0 -0
  441. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_property_value.py +0 -0
  442. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_redirect_callback_urls.py +0 -0
  443. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_role.py +0 -0
  444. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_roles.py +0 -0
  445. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_roles_permission_response.py +0 -0
  446. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_subscriber.py +0 -0
  447. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_subscribers_subscriber.py +0 -0
  448. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_success_response.py +0 -0
  449. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_token_error_response.py +0 -0
  450. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_token_introspect.py +0 -0
  451. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_update_organization_users_response.py +0 -0
  452. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_update_role_permissions_response.py +0 -0
  453. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_update_user_response.py +0 -0
  454. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_update_webhook_response.py +0 -0
  455. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_user.py +0 -0
  456. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_user_identity.py +0 -0
  457. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_user_profile.py +0 -0
  458. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_user_profile_v2.py +0 -0
  459. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_users.py +0 -0
  460. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_users_response.py +0 -0
  461. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_webhook.py +0 -0
  462. {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kinde-python-sdk
3
- Version: 2.0.0b9
3
+ Version: 2.0.0b11
4
4
  Summary: Connect your app to the Kinde platform
5
5
  Author-email: Kinde Engineering <engineering@kinde.com>
6
6
  Project-URL: Homepage, https://github.com/kinde-oss/kinde-python-sdk
@@ -704,6 +704,28 @@ def main():
704
704
 
705
705
  if __name__ == "__main__":
706
706
  main()
707
+ ```
708
+ # Version Tracking And Framework detection
709
+
710
+ The implementation generates headers in the exact format specified:
711
+
712
+ No Framework: Python/2.0.0
713
+
714
+ With Framework: Python-Flask/2.0.0/3.11.0/python
715
+
716
+
717
+ ## Framework Detection
718
+
719
+ Auto-detects these frameworks:
720
+
721
+ Django, Flask, FastAPI (more frameworks can be added)
722
+
723
+ ## Version Detection
724
+
725
+ SDK Version: Automatically detected from package metadata
726
+ Python Version: Detected from ```sys.version_info```
727
+ Fallback: Uses "2.0.0-dev" during development
728
+
707
729
 
708
730
  ## Publishing
709
731
 
@@ -663,6 +663,28 @@ def main():
663
663
 
664
664
  if __name__ == "__main__":
665
665
  main()
666
+ ```
667
+ # Version Tracking And Framework detection
668
+
669
+ The implementation generates headers in the exact format specified:
670
+
671
+ No Framework: Python/2.0.0
672
+
673
+ With Framework: Python-Flask/2.0.0/3.11.0/python
674
+
675
+
676
+ ## Framework Detection
677
+
678
+ Auto-detects these frameworks:
679
+
680
+ Django, Flask, FastAPI (more frameworks can be added)
681
+
682
+ ## Version Detection
683
+
684
+ SDK Version: Automatically detected from package metadata
685
+ Python Version: Detected from ```sys.version_info```
686
+ Fallback: Uses "2.0.0-dev" during development
687
+
666
688
 
667
689
  ## Publishing
668
690
 
@@ -674,4 +696,4 @@ Please refer to Kinde's [contributing guidelines](https://github.com/kinde-oss/.
674
696
 
675
697
  ## License
676
698
 
677
- By contributing to Kinde, you agree that your contributions will be licensed under its MIT License.
699
+ By contributing to Kinde, you agree that your contributions will be licensed under its MIT License.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kinde-python-sdk
3
- Version: 2.0.0b9
3
+ Version: 2.0.0b11
4
4
  Summary: Connect your app to the Kinde platform
5
5
  Author-email: Kinde Engineering <engineering@kinde.com>
6
6
  Project-URL: Homepage, https://github.com/kinde-oss/kinde-python-sdk
@@ -704,6 +704,28 @@ def main():
704
704
 
705
705
  if __name__ == "__main__":
706
706
  main()
707
+ ```
708
+ # Version Tracking And Framework detection
709
+
710
+ The implementation generates headers in the exact format specified:
711
+
712
+ No Framework: Python/2.0.0
713
+
714
+ With Framework: Python-Flask/2.0.0/3.11.0/python
715
+
716
+
717
+ ## Framework Detection
718
+
719
+ Auto-detects these frameworks:
720
+
721
+ Django, Flask, FastAPI (more frameworks can be added)
722
+
723
+ ## Version Detection
724
+
725
+ SDK Version: Automatically detected from package metadata
726
+ Python Version: Detected from ```sys.version_info```
727
+ Fallback: Uses "2.0.0-dev" during development
728
+
707
729
 
708
730
  ## Publishing
709
731
 
@@ -25,6 +25,7 @@ class LoginOptions:
25
25
  HAS_SUCCESS_PAGE = "has_success_page"
26
26
  WORKFLOW_DEPLOYMENT_ID = "workflow_deployment_id"
27
27
  PLAN_INTEREST = "plan_interest"
28
+ PRICING_TABLE_KEY = "pricing_table_key"
28
29
 
29
30
  # Additional parameters container
30
31
  AUTH_PARAMS = "auth_params"
@@ -255,6 +255,7 @@ class OAuth:
255
255
  LoginOptions.WORKFLOW_DEPLOYMENT_ID: "workflow_deployment_id",
256
256
  # Registration params
257
257
  LoginOptions.PLAN_INTEREST: "plan_interest",
258
+ LoginOptions.PRICING_TABLE_KEY: "pricing_table_key",
258
259
  }
259
260
 
260
261
  # Base search parameters with defaults
@@ -351,6 +352,7 @@ class OAuth:
351
352
  - redirect_url: URL to redirect after authentication
352
353
  - has_success_page: Whether to show success page
353
354
  - workflow_deployment_id: Workflow deployment ID
355
+ - pricing_table_key: Optional string indicating the pricing table key
354
356
  - auth_params: Additional auth parameters
355
357
 
356
358
  Returns:
@@ -389,6 +391,7 @@ class OAuth:
389
391
  - has_success_page: Whether to show success page
390
392
  - workflow_deployment_id: Workflow deployment ID
391
393
  - plan_interest: Optional string indicating the plan of interest
394
+ - pricing_table_key: Optional string indicating the pricing table key
392
395
  - auth_params: Additional auth parameters
393
396
 
394
397
  Returns:
@@ -0,0 +1,303 @@
1
+ """
2
+ Token manager for the Kinde Management API.
3
+
4
+ This module provides token management for the Kinde Management API using client credentials flow.
5
+ """
6
+
7
+ import time
8
+ import requests
9
+ import threading
10
+ from typing import Any, Dict, Optional
11
+ import importlib.metadata
12
+ import sys
13
+
14
+ class SDKTracker:
15
+ """Handles SDK tracking header generation for Kinde Python SDK."""
16
+
17
+ # SDK Package name for version detection
18
+ SDK_PACKAGE_NAME = "kinde-python-sdk"
19
+
20
+ # Framework detection mapping
21
+ FRAMEWORK_DETECTION = {
22
+ 'django': 'Django',
23
+ 'flask': 'Flask',
24
+ 'fastapi': 'FastAPI',
25
+ 'starlette': 'Starlette',
26
+ 'tornado': 'Tornado',
27
+ 'pyramid': 'Pyramid',
28
+ 'bottle': 'Bottle',
29
+ 'cherrypy': 'CherryPy',
30
+ 'falcon': 'Falcon',
31
+ 'sanic': 'Sanic',
32
+ 'quart': 'Quart',
33
+ 'aiohttp': 'aiohttp'
34
+ }
35
+
36
+ @classmethod
37
+ def get_sdk_version(cls) -> str:
38
+ """Get the installed SDK version."""
39
+ try:
40
+ return importlib.metadata.version(cls.SDK_PACKAGE_NAME)
41
+ except importlib.metadata.PackageNotFoundError:
42
+ # Fallback for development/testing
43
+ return "2.0.0-dev"
44
+
45
+ @classmethod
46
+ def get_python_version(cls) -> str:
47
+ """Get the Python version in format: major.minor.micro"""
48
+ version_info = sys.version_info
49
+ return f"{version_info.major}.{version_info.minor}.{version_info.micro}"
50
+
51
+ @classmethod
52
+ def detect_framework(cls) -> Optional[str]:
53
+ """
54
+ Detect the web framework being used.
55
+
56
+ Returns:
57
+ str: Framework name if detected, None otherwise
58
+ """
59
+ for module_name, framework_name in cls.FRAMEWORK_DETECTION.items():
60
+ try:
61
+ importlib.import_module(module_name)
62
+ return framework_name
63
+ except ImportError:
64
+ continue
65
+ return None
66
+
67
+ @classmethod
68
+ def generate_tracking_header(cls, framework: Optional[str] = None) -> str:
69
+ """
70
+ Generate the Kinde-SDK tracking header value.
71
+
72
+ Args:
73
+ framework: Optional framework name to override auto-detection
74
+
75
+ Returns:
76
+ str: Header value in format: Python-[framework]/[SDK_VERSION]/[PYTHON_VERSION]/python
77
+ or Python/[SDK_VERSION] if no framework detected
78
+ """
79
+ sdk_version = cls.get_sdk_version()
80
+ python_version = cls.get_python_version()
81
+
82
+ # Use provided framework or auto-detect
83
+ detected_framework = framework or cls.detect_framework()
84
+
85
+ if detected_framework:
86
+ # Format: Python-[framework]/[SDK_VERSION]/[PYTHON_VERSION]/python
87
+ return f"Python-{detected_framework}/{sdk_version}/{python_version}/python"
88
+ else:
89
+ # Format: Python/[SDK_VERSION] (when no framework detected)
90
+ return f"Python/{sdk_version}"
91
+
92
+ @classmethod
93
+ def get_tracking_headers(cls, framework: Optional[str] = None) -> Dict[str, str]:
94
+ """
95
+ Get the complete headers dict including tracking header.
96
+
97
+ Args:
98
+ framework: Optional framework name to override auto-detection
99
+
100
+ Returns:
101
+ dict: Headers dictionary with Kinde-SDK header
102
+ """
103
+ return {
104
+ "Kinde-SDK": cls.generate_tracking_header(framework)
105
+ }
106
+
107
+
108
+ class ManagementTokenManager:
109
+ """
110
+ Token manager for the Kinde Management API.
111
+ Uses client credentials grant type to obtain access tokens.
112
+ """
113
+ _instances = {}
114
+ _lock = threading.RLock() # Add a lock for thread safety
115
+
116
+ # SDK tracking configuration
117
+ SDK_PACKAGE_NAME = "kinde-python-sdk"
118
+ FRAMEWORK_DETECTION = {
119
+ 'django': 'Django',
120
+ 'flask': 'Flask',
121
+ 'fastapi': 'FastAPI'
122
+ }
123
+
124
+ @classmethod
125
+ def reset_instances(cls):
126
+ """Reset all management token manager instances - useful for testing"""
127
+ with cls._lock:
128
+ cls._instances = {}
129
+
130
+ def __new__(cls, domain, *args, **kwargs):
131
+ """
132
+ Ensure only one instance per domain and client_id combination.
133
+ FIXED: Restore original signature to match the original design
134
+ """
135
+ with cls._lock:
136
+ # Extract client_id from args or kwargs
137
+ client_id = args[0] if args else kwargs.get('client_id', '')
138
+ instance_key = f"{domain}-{client_id}"
139
+ if instance_key not in cls._instances:
140
+ cls._instances[instance_key] = super(ManagementTokenManager, cls).__new__(cls)
141
+ return cls._instances[instance_key]
142
+
143
+ def __init__(self, domain, client_id, client_secret):
144
+ # Skip initialization if already initialized
145
+ if hasattr(self, "initialized") and self.initialized:
146
+ return
147
+
148
+ self.domain = domain
149
+ self.client_id = client_id
150
+ self.client_secret = client_secret
151
+ self.token_url = f"https://{domain}/oauth2/token"
152
+ self.tokens = {} # Store tokens
153
+ self.lock = threading.RLock() # Add a lock for thread safety
154
+ self.initialized = True
155
+
156
+ def _get_sdk_version(self) -> str:
157
+ """Get the installed SDK version."""
158
+ try:
159
+ return importlib.metadata.version(self.SDK_PACKAGE_NAME)
160
+ except importlib.metadata.PackageNotFoundError:
161
+ # Fallback for development/testing
162
+ return "2.0.0-dev"
163
+
164
+ def _get_python_version(self) -> str:
165
+ """Get the Python version in format: major.minor.micro"""
166
+ version_info = sys.version_info
167
+ return f"{version_info.major}.{version_info.minor}.{version_info.micro}"
168
+
169
+ def _detect_framework(self) -> Optional[str]:
170
+ """
171
+ Detect the web framework being used.
172
+
173
+ Returns:
174
+ str: Framework name if detected, None otherwise
175
+ """
176
+ for module_name, framework_name in self.FRAMEWORK_DETECTION.items():
177
+ try:
178
+ importlib.import_module(module_name)
179
+ return framework_name
180
+ except ImportError:
181
+ continue
182
+ return None
183
+
184
+ def _generate_tracking_header(self, framework: Optional[str] = None) -> str:
185
+ """
186
+ Generate the Kinde-SDK tracking header value.
187
+
188
+ Args:
189
+ framework: Optional framework name to override auto-detection
190
+
191
+ Returns:
192
+ str: Header value in format as per specification
193
+ """
194
+ sdk_version = self._get_sdk_version()
195
+ python_version = self._get_python_version()
196
+
197
+ # Use provided framework or auto-detect
198
+ detected_framework = framework or self._detect_framework()
199
+
200
+ if detected_framework:
201
+ # Format: Python-[framework]/[SDK_VERSION]/[PYTHON_VERSION]/python
202
+ return f"Python-{detected_framework}/{sdk_version}/{python_version}/python"
203
+ else:
204
+ # Format: Python/[SDK_VERSION] (when no framework detected)
205
+ return f"Python/{sdk_version}"
206
+
207
+ def set_tokens(self, token_data: Dict[str, Any]):
208
+ """ Store tokens with expiration. """
209
+ with self.lock:
210
+ # Handle None values by using default
211
+ expires_in = token_data.get("expires_in") or 3600
212
+ token_type = token_data.get("token_type") or "Bearer"
213
+ self.tokens = {
214
+ "access_token": token_data.get("access_token"),
215
+ "expires_at": time.time() + expires_in,
216
+ "token_type": token_type
217
+ }
218
+
219
+ def get_access_token(self):
220
+ """ Get a valid access token. Request new if expired. """
221
+ with self.lock:
222
+ # Check if token exists and is not expired
223
+ if self.tokens and "access_token" in self.tokens and time.time() < self.tokens.get("expires_at", 0) - 60:
224
+ return self.tokens["access_token"]
225
+
226
+ # Need to get a new token
227
+ return self.request_new_token()
228
+
229
+ # def request_new_token(self):
230
+ # """Use client credentials to get a new access token."""
231
+ # data = {
232
+ # "grant_type": "client_credentials",
233
+ # "client_id": self.client_id,
234
+ # "client_secret": self.client_secret,
235
+ # "audience": f"https://{self.domain}/api"
236
+ # }
237
+
238
+ # headers = {
239
+ # "Content-Type": "application/x-www-form-urlencoded"
240
+ # }
241
+
242
+ # # CHANGE 3: Add timeout to prevent hanging on network issues
243
+ # try:
244
+ # response = requests.post(
245
+ # self.token_url,
246
+ # data=data,
247
+ # headers=headers,
248
+ # timeout=30 # 30-second timeout
249
+ # )
250
+ # response.raise_for_status()
251
+ # token_data = response.json()
252
+
253
+ # # This call now works because we use RLock
254
+ # self.set_tokens(token_data)
255
+ # return self.tokens["access_token"]
256
+
257
+ # except requests.exceptions.Timeout:
258
+ # raise Exception(f"Token request timed out after 30 seconds for domain {self.domain}")
259
+ # except requests.exceptions.RequestException as e:
260
+ # raise Exception(f"Token request failed for domain {self.domain}: {str(e)}")
261
+
262
+ def request_new_token(self):
263
+ """Use client credentials to get a new access token with tracking headers."""
264
+ data = {
265
+ "grant_type": "client_credentials",
266
+ "client_id": self.client_id,
267
+ "client_secret": self.client_secret,
268
+ "audience": f"https://{self.domain}/api"
269
+ }
270
+
271
+ # Base headers
272
+ headers = {
273
+ "Content-Type": "application/x-www-form-urlencoded"
274
+ }
275
+
276
+ # Add SDK tracking header as per specification
277
+ # This is required for analytics and support purposes
278
+ headers["Kinde-SDK"] = self._generate_tracking_header()
279
+
280
+ # Add timeout to prevent hanging on network issues
281
+ try:
282
+ response = requests.post(
283
+ self.token_url,
284
+ data=data,
285
+ headers=headers, # Now includes tracking headers
286
+ timeout=30 # 30-second timeout
287
+ )
288
+ response.raise_for_status()
289
+ token_data = response.json()
290
+
291
+ # This call now works because we use RLock
292
+ self.set_tokens(token_data)
293
+ return self.tokens["access_token"]
294
+
295
+ except requests.exceptions.Timeout:
296
+ raise Exception(f"Token request timed out after 30 seconds for domain {self.domain}")
297
+ except requests.exceptions.RequestException as e:
298
+ raise Exception(f"Token request failed for domain {self.domain}: {str(e)}")
299
+
300
+ def clear_tokens(self):
301
+ """ Clear stored tokens. """
302
+ with self.lock:
303
+ self.tokens = {}
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kinde-python-sdk"
3
- version = "2.0.0-beta.9"
3
+ version = "2.0.0-beta.11"
4
4
  authors = [
5
5
  { name = "Kinde Engineering", email = "engineering@kinde.com" },
6
6
  ]
@@ -1,94 +0,0 @@
1
- """
2
- Token manager for the Kinde Management API.
3
-
4
- This module provides token management for the Kinde Management API using client credentials flow.
5
- """
6
-
7
- import time
8
- import requests
9
- import threading
10
- from typing import Any, Dict, Optional
11
-
12
- class ManagementTokenManager:
13
- """
14
- Token manager for the Kinde Management API.
15
- Uses client credentials grant type to obtain access tokens.
16
- """
17
- _instances = {}
18
- _lock = threading.Lock() # Add a lock for thread safety
19
-
20
- @classmethod
21
- def reset_instances(cls):
22
- """Reset all management token manager instances - useful for testing"""
23
- with cls._lock:
24
- cls._instances = {}
25
-
26
- def __new__(cls, domain, client_id, client_secret):
27
- """
28
- Ensure only one instance per domain and client_id combination.
29
- """
30
- with cls._lock:
31
- instance_key = f"{domain}-{client_id}"
32
- if instance_key not in cls._instances:
33
- cls._instances[instance_key] = super(ManagementTokenManager, cls).__new__(cls)
34
- return cls._instances[instance_key]
35
-
36
- def __init__(self, domain, client_id, client_secret):
37
- # Skip initialization if already initialized
38
- if hasattr(self, "initialized") and self.initialized:
39
- return
40
-
41
- self.domain = domain
42
- self.client_id = client_id
43
- self.client_secret = client_secret
44
- self.token_url = f"https://{domain}/oauth2/token"
45
- self.tokens = {} # Store tokens
46
- self.lock = threading.Lock() # Add a lock for thread safety
47
- self.initialized = True
48
-
49
- def set_tokens(self, token_data: Dict[str, Any]):
50
- """ Store tokens with expiration. """
51
- with self.lock:
52
- # Handle None values by using default
53
- expires_in = token_data.get("expires_in") or 3600
54
- token_type = token_data.get("token_type") or "Bearer"
55
- self.tokens = {
56
- "access_token": token_data.get("access_token"),
57
- "expires_at": time.time() + expires_in,
58
- "token_type": token_type
59
- }
60
-
61
- def get_access_token(self):
62
- """ Get a valid access token. Request new if expired. """
63
- with self.lock:
64
- # Check if token exists and is not expired
65
- if self.tokens and "access_token" in self.tokens and time.time() < self.tokens.get("expires_at", 0) - 60:
66
- return self.tokens["access_token"]
67
-
68
- # Need to get a new token
69
- return self.request_new_token()
70
-
71
- def request_new_token(self):
72
- """ Use client credentials to get a new access token. """
73
- data = {
74
- "grant_type": "client_credentials",
75
- "client_id": self.client_id,
76
- "client_secret": self.client_secret,
77
- "audience": f"https://{self.domain}/api"
78
- }
79
-
80
- headers = {
81
- "Content-Type": "application/x-www-form-urlencoded"
82
- }
83
-
84
- response = requests.post(self.token_url, data=data, headers=headers)
85
- response.raise_for_status()
86
- token_data = response.json()
87
-
88
- self.set_tokens(token_data)
89
- return self.tokens["access_token"]
90
-
91
- def clear_tokens(self):
92
- """ Clear stored tokens. """
93
- with self.lock:
94
- self.tokens = {}