kinde-python-sdk 2.2.0__tar.gz → 2.3.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 (482) hide show
  1. {kinde_python_sdk-2.2.0/kinde_python_sdk.egg-info → kinde_python_sdk-2.3.0}/PKG-INFO +34 -5
  2. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/README.md +14 -0
  3. kinde_python_sdk-2.3.0/kinde_fastapi/examples/example_app.py +143 -0
  4. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_fastapi/framework/fastapi_framework.py +19 -11
  5. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_flask/examples/example_app.py +2 -2
  6. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_flask/framework/flask_framework.py +71 -28
  7. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0/kinde_python_sdk.egg-info}/PKG-INFO +34 -5
  8. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_python_sdk.egg-info/SOURCES.txt +30 -70
  9. kinde_python_sdk-2.3.0/kinde_python_sdk.egg-info/requires.txt +47 -0
  10. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/__init__.py +1 -1
  11. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/login_options.py +4 -0
  12. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/oauth.py +24 -19
  13. kinde_python_sdk-2.3.0/kinde_sdk/management/__init__.py +557 -0
  14. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/__init__.py +1 -4
  15. kinde_python_sdk-2.3.0/kinde_sdk/management/api/api_keys_api.py +1789 -0
  16. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/apis_api.py +7 -7
  17. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/organizations_api.py +0 -3
  18. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/permissions_api.py +0 -287
  19. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/properties_api.py +0 -287
  20. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/roles_api.py +0 -287
  21. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/search_api.py +17 -0
  22. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/users_api.py +33 -6
  23. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api_client.py +15 -8
  24. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/configuration.py +8 -2
  25. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/exceptions.py +6 -3
  26. kinde_python_sdk-2.3.0/kinde_sdk/management/management_client.py +539 -0
  27. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/__init__.py +15 -32
  28. kinde_python_sdk-2.3.0/kinde_sdk/management/models/create_api_key_request.py +120 -0
  29. kinde_python_sdk-2.3.0/kinde_sdk/management/models/create_api_key_response.py +96 -0
  30. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_user_roles_response_data_roles_inner.py → kinde_python_sdk-2.3.0/kinde_sdk/management/models/create_api_key_response_api_key.py +7 -9
  31. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_connection_request.py +2 -2
  32. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_connection_request_options_one_of2.py +5 -3
  33. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_role_request.py +10 -2
  34. kinde_python_sdk-2.3.0/kinde_sdk/management/models/get_api_key_response.py +96 -0
  35. kinde_python_sdk-2.3.0/kinde_sdk/management/models/get_api_key_response_api_key.py +152 -0
  36. kinde_python_sdk-2.3.0/kinde_sdk/management/models/get_api_keys_response.py +102 -0
  37. kinde_python_sdk-2.3.0/kinde_sdk/management/models/get_api_keys_response_api_keys_inner.py +131 -0
  38. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_api_response_api.py +1 -1
  39. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_apis_response_apis_inner.py +1 -1
  40. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_environment_response_environment.py +1 -1
  41. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organization_response.py +4 -2
  42. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/organization_user.py +4 -2
  43. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_connection_request_options_one_of1.py +5 -3
  44. kinde_python_sdk-2.3.0/kinde_sdk/management/models/rotate_api_key_response.py +96 -0
  45. kinde_python_sdk-2.3.0/kinde_sdk/management/models/rotate_api_key_response_api_key.py +90 -0
  46. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/search_users_response_results_inner.py +12 -2
  47. kinde_python_sdk-2.3.0/kinde_sdk/management/models/search_users_response_results_inner_api_scopes_inner.py +92 -0
  48. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_organization_sessions_request.py +2 -2
  49. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_roles_request.py +10 -2
  50. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/user.py +8 -2
  51. kinde_python_sdk-2.3.0/kinde_sdk/management/models/user_billing.py +88 -0
  52. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/users_response_users_inner.py +16 -1
  53. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_entitlements_response_data_plans_inner.py → kinde_python_sdk-2.3.0/kinde_sdk/management/models/users_response_users_inner_last_organization_sign_ins_inner.py +9 -11
  54. kinde_python_sdk-2.2.0/kinde_sdk/management/models/portal_link.py → kinde_python_sdk-2.3.0/kinde_sdk/management/models/verify_api_key_request.py +8 -8
  55. kinde_python_sdk-2.3.0/kinde_sdk/management/models/verify_api_key_response.py +122 -0
  56. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/rest.py +7 -2
  57. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/pyproject.toml +28 -11
  58. kinde_python_sdk-2.2.0/kinde_fastapi/examples/example_app.py +0 -304
  59. kinde_python_sdk-2.2.0/kinde_python_sdk.egg-info/requires.txt +0 -23
  60. kinde_python_sdk-2.2.0/kinde_sdk/management/__init__.py +0 -309
  61. kinde_python_sdk-2.2.0/kinde_sdk/management/api/billing_api.py +0 -594
  62. kinde_python_sdk-2.2.0/kinde_sdk/management/api/feature_flags0_api.py +0 -326
  63. kinde_python_sdk-2.2.0/kinde_sdk/management/api/o_auth_api.py +0 -923
  64. kinde_python_sdk-2.2.0/kinde_sdk/management/api/self_serve_portal_api.py +0 -326
  65. kinde_python_sdk-2.2.0/kinde_sdk/management/custom_exceptions.py +0 -32
  66. kinde_python_sdk-2.2.0/kinde_sdk/management/management_client.py +0 -603
  67. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_entitlement_response.py +0 -94
  68. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_entitlement_response_data.py +0 -94
  69. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_entitlement_response_data_entitlement.py +0 -122
  70. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_entitlements_response.py +0 -98
  71. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_entitlements_response_data.py +0 -108
  72. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_entitlements_response_data_entitlements_inner.py +0 -122
  73. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_entitlements_response_metadata.py +0 -90
  74. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_feature_flags_response.py +0 -92
  75. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_feature_flags_response_data.py +0 -96
  76. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_feature_flags_response_data_feature_flags_inner.py +0 -100
  77. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_feature_flags_response_data_feature_flags_inner_value.py +0 -178
  78. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_user_permissions_response.py +0 -98
  79. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_user_permissions_response_data.py +0 -98
  80. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_user_permissions_response_data_permissions_inner.py +0 -92
  81. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_user_permissions_response_metadata.py +0 -90
  82. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_user_properties_response.py +0 -98
  83. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_user_properties_response_data.py +0 -96
  84. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_user_properties_response_data_properties_inner.py +0 -98
  85. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_user_properties_response_data_properties_inner_value.py +0 -161
  86. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_user_properties_response_metadata.py +0 -90
  87. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_user_roles_response.py +0 -98
  88. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_user_roles_response_data.py +0 -98
  89. kinde_python_sdk-2.2.0/kinde_sdk/management/models/get_user_roles_response_metadata.py +0 -90
  90. kinde_python_sdk-2.2.0/kinde_sdk/management/models/token_error_response.py +0 -90
  91. kinde_python_sdk-2.2.0/kinde_sdk/management/models/token_introspect.py +0 -96
  92. kinde_python_sdk-2.2.0/kinde_sdk/management/models/user_profile_v2.py +0 -123
  93. kinde_python_sdk-2.2.0/kinde_sdk/management/schemas.py +0 -2476
  94. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/LICENSE +0 -0
  95. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/MANIFEST.in +0 -0
  96. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_fastapi/__init__.py +0 -0
  97. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_fastapi/examples/management_token_example.py +0 -0
  98. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_fastapi/examples/session.py +0 -0
  99. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_fastapi/framework/__init__.py +0 -0
  100. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_fastapi/framework/fastapi_framework_factory.py +0 -0
  101. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_fastapi/middleware/framework_middleware.py +0 -0
  102. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_fastapi/storage/fastapi_storage.py +0 -0
  103. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_fastapi/storage/fastapi_storage_factory.py +0 -0
  104. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_flask/__init__.py +0 -0
  105. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_flask/framework/flask_framework_factory.py +0 -0
  106. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_flask/middleware/framework_middleware.py +0 -0
  107. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_flask/storage/flask_storage_factory.py +0 -0
  108. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_python_sdk.egg-info/dependency_links.txt +0 -0
  109. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_python_sdk.egg-info/not-zip-safe +0 -0
  110. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_python_sdk.egg-info/top_level.txt +0 -0
  111. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/__init__.py +0 -0
  112. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/api_options.py +0 -0
  113. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/async_claims.py +0 -0
  114. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/async_oauth.py +0 -0
  115. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/base_auth.py +0 -0
  116. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/base_oauth.py +0 -0
  117. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/claims.py +0 -0
  118. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/config_loader.py +0 -0
  119. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/entitlements.py +0 -0
  120. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/enums.py +0 -0
  121. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/feature_flags.py +0 -0
  122. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/permissions.py +0 -0
  123. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/portals.py +0 -0
  124. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/roles.py +0 -0
  125. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/smart_oauth.py +0 -0
  126. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/token_manager.py +0 -0
  127. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/tokens.py +0 -0
  128. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/user_session.py +0 -0
  129. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/__init__.py +0 -0
  130. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/exceptions.py +0 -0
  131. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/framework/__init__.py +0 -0
  132. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/framework/framework_context.py +0 -0
  133. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/framework/framework_factory.py +0 -0
  134. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/framework/framework_interface.py +0 -0
  135. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/framework/null_framework.py +0 -0
  136. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/helpers.py +0 -0
  137. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/session_management.py +0 -0
  138. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/storage/__init__.py +0 -0
  139. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/storage/framework_aware_storage.py +0 -0
  140. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/storage/local_storage.py +0 -0
  141. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/storage/memory_storage.py +0 -0
  142. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/storage/storage_factory.py +0 -0
  143. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/storage/storage_interface.py +0 -0
  144. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/core/storage/storage_manager.py +0 -0
  145. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/__init__.py +0 -0
  146. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/__init__.py +0 -0
  147. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/billing_api.py +0 -0
  148. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/feature_flags_api.py +0 -0
  149. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/o_auth_api.py +0 -0
  150. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/permissions_api.py +0 -0
  151. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/properties_api.py +0 -0
  152. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/roles_api.py +0 -0
  153. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/self_serve_portal_api.py +0 -0
  154. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api_client.py +0 -0
  155. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api_response.py +0 -0
  156. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/configuration.py +0 -0
  157. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/exceptions.py +0 -0
  158. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/__init__.py +0 -0
  159. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/error.py +0 -0
  160. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/error_response.py +0 -0
  161. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlement_response.py +0 -0
  162. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlement_response_data.py +0 -0
  163. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlement_response_data_entitlement.py +0 -0
  164. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlements_response.py +0 -0
  165. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlements_response_data.py +0 -0
  166. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlements_response_data_entitlements_inner.py +0 -0
  167. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlements_response_data_plans_inner.py +0 -0
  168. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlements_response_metadata.py +0 -0
  169. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_feature_flags_response.py +0 -0
  170. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_feature_flags_response_data.py +0 -0
  171. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_feature_flags_response_data_feature_flags_inner.py +0 -0
  172. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_feature_flags_response_data_feature_flags_inner_value.py +0 -0
  173. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_permissions_response.py +0 -0
  174. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_permissions_response_data.py +0 -0
  175. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_permissions_response_data_permissions_inner.py +0 -0
  176. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_permissions_response_metadata.py +0 -0
  177. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_properties_response.py +0 -0
  178. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_properties_response_data.py +0 -0
  179. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_properties_response_data_properties_inner.py +0 -0
  180. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_properties_response_data_properties_inner_value.py +0 -0
  181. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_properties_response_metadata.py +0 -0
  182. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_roles_response.py +0 -0
  183. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_roles_response_data.py +0 -0
  184. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_roles_response_data_roles_inner.py +0 -0
  185. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_roles_response_metadata.py +0 -0
  186. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/portal_link.py +0 -0
  187. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/token_error_response.py +0 -0
  188. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/token_introspect.py +0 -0
  189. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/user_profile_v2.py +0 -0
  190. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/rest.py +0 -0
  191. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/applications_api.py +0 -0
  192. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/billing_agreements_api.py +0 -0
  193. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/billing_entitlements_api.py +0 -0
  194. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/billing_meter_usage_api.py +0 -0
  195. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/business_api.py +0 -0
  196. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/callbacks_api.py +0 -0
  197. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/connected_apps_api.py +0 -0
  198. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/connections_api.py +0 -0
  199. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/environment_variables_api.py +0 -0
  200. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/environments_api.py +0 -0
  201. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/feature_flags_api.py +0 -0
  202. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/identities_api.py +0 -0
  203. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/industries_api.py +0 -0
  204. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/mfa_api.py +0 -0
  205. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/property_categories_api.py +0 -0
  206. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/subscribers_api.py +0 -0
  207. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/timezones_api.py +0 -0
  208. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/webhooks_api.py +0 -0
  209. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api_response.py +0 -0
  210. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/management_token_manager.py +0 -0
  211. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/add_api_scope_request.py +0 -0
  212. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/add_apis_request.py +0 -0
  213. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/add_organization_users_request.py +0 -0
  214. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/add_organization_users_request_users_inner.py +0 -0
  215. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/add_organization_users_response.py +0 -0
  216. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/add_role_scope_request.py +0 -0
  217. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/add_role_scope_response.py +0 -0
  218. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/api_result.py +0 -0
  219. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/applications.py +0 -0
  220. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/authorize_app_api_response.py +0 -0
  221. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/category.py +0 -0
  222. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/connected_apps_access_token.py +0 -0
  223. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/connected_apps_auth_url.py +0 -0
  224. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/connection.py +0 -0
  225. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/connection_connection.py +0 -0
  226. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_api_scopes_response.py +0 -0
  227. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_api_scopes_response_scope.py +0 -0
  228. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_apis_response.py +0 -0
  229. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_apis_response_api.py +0 -0
  230. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_application_request.py +0 -0
  231. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_application_response.py +0 -0
  232. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_application_response_application.py +0 -0
  233. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_billing_agreement_request.py +0 -0
  234. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_category_request.py +0 -0
  235. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_category_response.py +0 -0
  236. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_category_response_category.py +0 -0
  237. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_connection_request_options.py +0 -0
  238. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_connection_request_options_one_of.py +0 -0
  239. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_connection_request_options_one_of1.py +0 -0
  240. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_connection_response.py +0 -0
  241. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_connection_response_connection.py +0 -0
  242. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_environment_variable_request.py +0 -0
  243. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_environment_variable_response.py +0 -0
  244. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_environment_variable_response_environment_variable.py +0 -0
  245. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_feature_flag_request.py +0 -0
  246. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_identity_response.py +0 -0
  247. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_identity_response_identity.py +0 -0
  248. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_meter_usage_record_request.py +0 -0
  249. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_meter_usage_record_response.py +0 -0
  250. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_organization_request.py +0 -0
  251. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_organization_response.py +0 -0
  252. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_organization_response_organization.py +0 -0
  253. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_organization_user_permission_request.py +0 -0
  254. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_organization_user_role_request.py +0 -0
  255. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_permission_request.py +0 -0
  256. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_property_request.py +0 -0
  257. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_property_response.py +0 -0
  258. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_property_response_property.py +0 -0
  259. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_roles_response.py +0 -0
  260. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_roles_response_role.py +0 -0
  261. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_subscriber_success_response.py +0 -0
  262. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_subscriber_success_response_subscriber.py +0 -0
  263. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_user_identity_request.py +0 -0
  264. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_user_request.py +0 -0
  265. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_user_request_identities_inner.py +0 -0
  266. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_user_request_identities_inner_details.py +0 -0
  267. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_user_request_profile.py +0 -0
  268. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_user_response.py +0 -0
  269. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_web_hook_request.py +0 -0
  270. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_webhook_response.py +0 -0
  271. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_webhook_response_webhook.py +0 -0
  272. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/delete_api_response.py +0 -0
  273. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/delete_environment_variable_response.py +0 -0
  274. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/delete_role_scope_response.py +0 -0
  275. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/delete_webhook_response.py +0 -0
  276. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/environment_variable.py +0 -0
  277. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/error.py +0 -0
  278. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/error_response.py +0 -0
  279. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/event_type.py +0 -0
  280. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_api_response.py +0 -0
  281. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_api_response_api_applications_inner.py +0 -0
  282. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_api_response_api_scopes_inner.py +0 -0
  283. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_api_scope_response.py +0 -0
  284. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_api_scopes_response.py +0 -0
  285. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_api_scopes_response_scopes_inner.py +0 -0
  286. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_apis_response.py +0 -0
  287. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_apis_response_apis_inner_scopes_inner.py +0 -0
  288. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_application_response.py +0 -0
  289. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_application_response_application.py +0 -0
  290. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_applications_response.py +0 -0
  291. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_billing_agreements_response.py +0 -0
  292. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_billing_agreements_response_agreements_inner.py +0 -0
  293. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_billing_agreements_response_agreements_inner_entitlements_inner.py +0 -0
  294. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_billing_entitlements_response.py +0 -0
  295. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_billing_entitlements_response_entitlements_inner.py +0 -0
  296. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_billing_entitlements_response_plans_inner.py +0 -0
  297. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_business_response.py +0 -0
  298. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_business_response_business.py +0 -0
  299. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_categories_response.py +0 -0
  300. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_connections_response.py +0 -0
  301. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_environment_feature_flags_response.py +0 -0
  302. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_environment_response.py +0 -0
  303. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_environment_response_environment_background_color.py +0 -0
  304. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_environment_response_environment_link_color.py +0 -0
  305. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_environment_variable_response.py +0 -0
  306. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_environment_variables_response.py +0 -0
  307. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_event_response.py +0 -0
  308. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_event_response_event.py +0 -0
  309. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_event_types_response.py +0 -0
  310. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_identities_response.py +0 -0
  311. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_industries_response.py +0 -0
  312. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_industries_response_industries_inner.py +0 -0
  313. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organization_feature_flags_response.py +0 -0
  314. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organization_feature_flags_response_feature_flags_value.py +0 -0
  315. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organization_response_billing.py +0 -0
  316. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organization_response_billing_agreements_inner.py +0 -0
  317. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organization_users_response.py +0 -0
  318. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organizations_response.py +0 -0
  319. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organizations_user_permissions_response.py +0 -0
  320. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organizations_user_roles_response.py +0 -0
  321. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_permissions_response.py +0 -0
  322. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_properties_response.py +0 -0
  323. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_property_values_response.py +0 -0
  324. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_redirect_callback_urls_response.py +0 -0
  325. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_role_response.py +0 -0
  326. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_role_response_role.py +0 -0
  327. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_roles_response.py +0 -0
  328. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_subscriber_response.py +0 -0
  329. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_subscribers_response.py +0 -0
  330. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_timezones_response.py +0 -0
  331. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_timezones_response_timezones_inner.py +0 -0
  332. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_user_mfa_response.py +0 -0
  333. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_user_mfa_response_mfa.py +0 -0
  334. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_user_sessions_response.py +0 -0
  335. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_user_sessions_response_sessions_inner.py +0 -0
  336. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_webhooks_response.py +0 -0
  337. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/identity.py +0 -0
  338. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/logout_redirect_urls.py +0 -0
  339. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/model_property.py +0 -0
  340. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/not_found_response.py +0 -0
  341. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/not_found_response_errors.py +0 -0
  342. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/organization_item_schema.py +0 -0
  343. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/organization_user_permission.py +0 -0
  344. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/organization_user_permission_roles_inner.py +0 -0
  345. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/organization_user_role.py +0 -0
  346. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/organization_user_role_permissions.py +0 -0
  347. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/organization_user_role_permissions_permissions.py +0 -0
  348. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/permissions.py +0 -0
  349. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/property_value.py +0 -0
  350. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/read_env_logo_response.py +0 -0
  351. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/read_env_logo_response_logos_inner.py +0 -0
  352. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/read_logo_response.py +0 -0
  353. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/read_logo_response_logos_inner.py +0 -0
  354. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/redirect_callback_urls.py +0 -0
  355. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_connection_request.py +0 -0
  356. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_connection_request_options.py +0 -0
  357. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_connection_request_options_one_of.py +0 -0
  358. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_logout_redirect_urls_request.py +0 -0
  359. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_mfa_request.py +0 -0
  360. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_organization_mfa_request.py +0 -0
  361. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_redirect_callback_urls_request.py +0 -0
  362. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/role.py +0 -0
  363. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/role_permissions_response.py +0 -0
  364. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/role_scopes_response.py +0 -0
  365. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/roles.py +0 -0
  366. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/scopes.py +0 -0
  367. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/search_users_response.py +0 -0
  368. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/set_user_password_request.py +0 -0
  369. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/subscriber.py +0 -0
  370. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/subscribers_subscriber.py +0 -0
  371. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/success_response.py +0 -0
  372. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_api_applications_request.py +0 -0
  373. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_api_applications_request_applications_inner.py +0 -0
  374. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_api_scope_request.py +0 -0
  375. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_application_request.py +0 -0
  376. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_application_tokens_request.py +0 -0
  377. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_applications_property_request.py +0 -0
  378. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_applications_property_request_value.py +0 -0
  379. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_business_request.py +0 -0
  380. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_category_request.py +0 -0
  381. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_connection_request.py +0 -0
  382. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_connection_request_options.py +0 -0
  383. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_connection_request_options_one_of.py +0 -0
  384. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_environement_feature_flag_override_request.py +0 -0
  385. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_environment_variable_request.py +0 -0
  386. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_environment_variable_response.py +0 -0
  387. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_identity_request.py +0 -0
  388. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_organization_properties_request.py +0 -0
  389. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_organization_request.py +0 -0
  390. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_organization_users_request.py +0 -0
  391. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_organization_users_request_users_inner.py +0 -0
  392. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_organization_users_response.py +0 -0
  393. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_property_request.py +0 -0
  394. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_role_permissions_request.py +0 -0
  395. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_role_permissions_request_permissions_inner.py +0 -0
  396. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_role_permissions_response.py +0 -0
  397. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_user_request.py +0 -0
  398. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_user_response.py +0 -0
  399. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_web_hook_request.py +0 -0
  400. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_webhook_response.py +0 -0
  401. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_webhook_response_webhook.py +0 -0
  402. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/user_identities_inner.py +0 -0
  403. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/user_identity.py +0 -0
  404. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/user_identity_result.py +0 -0
  405. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/users_response.py +0 -0
  406. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/users_response_users_inner_billing.py +0 -0
  407. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/webhook.py +0 -0
  408. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/models/__init__.py +0 -0
  409. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/__init__.py +0 -0
  410. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/__init__.py +0 -0
  411. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_add_organization_users_response.py +0 -0
  412. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_api.py +0 -0
  413. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_api_result.py +0 -0
  414. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_apis.py +0 -0
  415. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_applications.py +0 -0
  416. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_category.py +0 -0
  417. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_connected_apps_access_token.py +0 -0
  418. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_connected_apps_auth_url.py +0 -0
  419. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_connection.py +0 -0
  420. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_application_response.py +0 -0
  421. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_category_response.py +0 -0
  422. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_connection_response.py +0 -0
  423. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_organization_response.py +0 -0
  424. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_property_response.py +0 -0
  425. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_subscriber_success_response.py +0 -0
  426. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_user_response.py +0 -0
  427. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_webhook_response.py +0 -0
  428. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_delete_webhook_response.py +0 -0
  429. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_error.py +0 -0
  430. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_error_response.py +0 -0
  431. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_event_type.py +0 -0
  432. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_application_response.py +0 -0
  433. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_applications_response.py +0 -0
  434. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_categories_response.py +0 -0
  435. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_connections_response.py +0 -0
  436. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_environment_feature_flags_response.py +0 -0
  437. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_event_response.py +0 -0
  438. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_event_types_response.py +0 -0
  439. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_organization_feature_flags_response.py +0 -0
  440. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_organization_users_response.py +0 -0
  441. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_organizations_response.py +0 -0
  442. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_organizations_user_permissions_response.py +0 -0
  443. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_organizations_user_roles_response.py +0 -0
  444. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_permissions_response.py +0 -0
  445. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_properties_response.py +0 -0
  446. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_property_values_response.py +0 -0
  447. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_redirect_callback_urls_response.py +0 -0
  448. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_roles_response.py +0 -0
  449. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_subscriber_response.py +0 -0
  450. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_subscribers_response.py +0 -0
  451. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_webhooks_response.py +0 -0
  452. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_logout_redirect_urls.py +0 -0
  453. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_model_property.py +0 -0
  454. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_organization.py +0 -0
  455. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_organization_user.py +0 -0
  456. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_organization_user_permission.py +0 -0
  457. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_organization_user_role.py +0 -0
  458. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_organization_user_role_permissions.py +0 -0
  459. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_organization_users.py +0 -0
  460. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_permissions.py +0 -0
  461. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_property_value.py +0 -0
  462. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_redirect_callback_urls.py +0 -0
  463. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_role.py +0 -0
  464. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_roles.py +0 -0
  465. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_roles_permission_response.py +0 -0
  466. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_subscriber.py +0 -0
  467. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_subscribers_subscriber.py +0 -0
  468. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_success_response.py +0 -0
  469. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_token_error_response.py +0 -0
  470. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_token_introspect.py +0 -0
  471. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_update_organization_users_response.py +0 -0
  472. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_update_role_permissions_response.py +0 -0
  473. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_update_user_response.py +0 -0
  474. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_update_webhook_response.py +0 -0
  475. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_user.py +0 -0
  476. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_user_identity.py +0 -0
  477. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_user_profile.py +0 -0
  478. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_user_profile_v2.py +0 -0
  479. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_users.py +0 -0
  480. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_users_response.py +0 -0
  481. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_webhook.py +0 -0
  482. {kinde_python_sdk-2.2.0 → kinde_python_sdk-2.3.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kinde-python-sdk
3
- Version: 2.2.0
3
+ Version: 2.3.0
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
@@ -21,12 +21,13 @@ Requires-Dist: urllib3<3.0,>=2.2.0
21
21
  Requires-Dist: python-dateutil<3.0,>=2.9.0
22
22
  Requires-Dist: Authlib<2.0,>=1.3.0
23
23
  Requires-Dist: pyjwt<3.0,>=2.10.0
24
- Requires-Dist: requests<3.0,>=2.32.2
24
+ Requires-Dist: requests~=2.32.5; python_version < "3.10"
25
+ Requires-Dist: requests~=2.33.0; python_version >= "3.10"
25
26
  Requires-Dist: typing-extensions<5.0,>=4.11.0
26
27
  Requires-Dist: frozendict<3.0,>=2.4.3
27
- Requires-Dist: certifi<2025.0.0,>=2024.2.2
28
+ Requires-Dist: certifi>=2026.1.4
28
29
  Requires-Dist: PyYAML<7.0.0,>=6.0.1
29
- Requires-Dist: cryptography<42.0.0,>=41.0.0
30
+ Requires-Dist: cryptography<47.0,>=43.0.1
30
31
  Requires-Dist: python-dotenv<2.0.0,>=1.0.0
31
32
  Requires-Dist: itsdangerous<3.0.0,>=2.2.0
32
33
  Requires-Dist: nest-asyncio<2.0.0,>=1.5.8
@@ -35,9 +36,23 @@ Requires-Dist: pydantic<3.0.0,>=2.0.0
35
36
  Provides-Extra: fastapi
36
37
  Requires-Dist: fastapi<1.0.0,>=0.110.0; extra == "fastapi"
37
38
  Requires-Dist: python-multipart<1.0.0,>=0.0.6; extra == "fastapi"
38
- Requires-Dist: uvicorn<0.26.0,>=0.25.0; extra == "fastapi"
39
+ Requires-Dist: uvicorn<1.0.0,>=0.37.0; extra == "fastapi"
39
40
  Provides-Extra: flask
40
41
  Requires-Dist: flask<4.0.0,>=3.0.0; extra == "flask"
42
+ Provides-Extra: dev
43
+ Requires-Dist: pytest>=7.4.0; extra == "dev"
44
+ Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
45
+ Requires-Dist: pytest-django>=4.5.2; extra == "dev"
46
+ Requires-Dist: mypy>=1.5.0; extra == "dev"
47
+ Requires-Dist: bandit>=1.7; extra == "dev"
48
+ Requires-Dist: pylint>=4.0.0; python_version >= "3.10" and extra == "dev"
49
+ Requires-Dist: pylint<4.0,>=2.0; python_version < "3.10" and extra == "dev"
50
+ Requires-Dist: pycodestyle>=2.0; extra == "dev"
51
+ Requires-Dist: pytest-asyncio>=0.26.0; extra == "dev"
52
+ Requires-Dist: pytest-timeout>=2.2.0; extra == "dev"
53
+ Requires-Dist: black>=24.3.0; extra == "dev"
54
+ Requires-Dist: flake8>=6.1.0; extra == "dev"
55
+ Requires-Dist: isort>=5.12.0; extra == "dev"
41
56
  Dynamic: license-file
42
57
 
43
58
  # Kinde Python SDK
@@ -763,6 +778,20 @@ If you're upgrading from v1 of the Kinde Python SDK, we've prepared comprehensiv
763
778
 
764
779
  Please refer to Kinde's [contributing guidelines](https://github.com/kinde-oss/.github/blob/489e2ca9c3307c2b2e098a885e22f2239116394a/CONTRIBUTING.md).
765
780
 
781
+ ### Development Setup
782
+
783
+ To set up the development environment, install the package in editable mode with development dependencies:
784
+
785
+ ```bash
786
+ pip install -e ".[dev]"
787
+ ```
788
+
789
+ **Note:** The `dev` optional dependency group includes all development tools (pytest, mypy, pylint, etc.). Pylint is conditionally installed based on your Python version:
790
+ - **Python 3.10+**: pylint >=4.0.0
791
+ - **Python 3.9**: pylint >=2.0, <4.0
792
+
793
+ This ensures compatibility with Python 3.9 while allowing newer Python versions to use the latest pylint features.
794
+
766
795
  ## License
767
796
 
768
797
  By contributing to Kinde, you agree that your contributions will be licensed under its MIT License.
@@ -721,6 +721,20 @@ If you're upgrading from v1 of the Kinde Python SDK, we've prepared comprehensiv
721
721
 
722
722
  Please refer to Kinde's [contributing guidelines](https://github.com/kinde-oss/.github/blob/489e2ca9c3307c2b2e098a885e22f2239116394a/CONTRIBUTING.md).
723
723
 
724
+ ### Development Setup
725
+
726
+ To set up the development environment, install the package in editable mode with development dependencies:
727
+
728
+ ```bash
729
+ pip install -e ".[dev]"
730
+ ```
731
+
732
+ **Note:** The `dev` optional dependency group includes all development tools (pytest, mypy, pylint, etc.). Pylint is conditionally installed based on your Python version:
733
+ - **Python 3.10+**: pylint >=4.0.0
734
+ - **Python 3.9**: pylint >=2.0, <4.0
735
+
736
+ This ensures compatibility with Python 3.9 while allowing newer Python versions to use the latest pylint features.
737
+
724
738
  ## License
725
739
 
726
740
  By contributing to Kinde, you agree that your contributions will be licensed under its MIT License.
@@ -0,0 +1,143 @@
1
+ """
2
+ Kinde FastAPI Example Application
3
+
4
+ This example demonstrates how to use the Kinde OAuth client in a FastAPI application.
5
+ The OAuth class automatically registers authentication routes and handles the OAuth flow.
6
+
7
+ Key Features Demonstrated:
8
+ - Simple OAuth setup with FastAPI
9
+ - Automatic route registration (/login, /logout, /callback, /register, /user)
10
+ - Authentication status checking
11
+ - User information retrieval
12
+
13
+ Usage:
14
+ 1. Set up your environment variables in a .env file:
15
+ - KINDE_CLIENT_ID=your_client_id
16
+ - KINDE_CLIENT_SECRET=your_client_secret
17
+ - KINDE_REDIRECT_URI=http://localhost:8000/callback
18
+ - KINDE_HOST=https://your-domain.kinde.com
19
+
20
+ 2. Run from the SDK root directory:
21
+ python -m uvicorn kinde_fastapi.examples.example_app:app --reload --port 8000
22
+
23
+ 3. Visit http://localhost:8000
24
+
25
+ Available Routes (automatically registered):
26
+ - /login - Redirects to Kinde login
27
+ - /logout - Logs out the user
28
+ - /callback - Handles OAuth callback
29
+ - /register - Redirects to Kinde registration
30
+ - /user - Returns user information (redirects to login if not authenticated)
31
+ """
32
+
33
+ from fastapi import FastAPI
34
+ from fastapi.responses import HTMLResponse, RedirectResponse
35
+ from .session import InMemorySessionMiddleware
36
+ import os
37
+ import html
38
+ from dotenv import load_dotenv
39
+ import logging
40
+ from kinde_sdk.auth.oauth import OAuth
41
+
42
+ logger = logging.getLogger(__name__)
43
+
44
+ # Load environment variables from .env file located alongside this script
45
+ load_dotenv(os.path.join(os.path.dirname(__file__), ".env"))
46
+
47
+ # Initialize FastAPI app
48
+ app = FastAPI(title="Kinde FastAPI Example")
49
+
50
+ # Add session middleware with proper configuration
51
+ # This is required for storing session data between requests
52
+ app.add_middleware(
53
+ InMemorySessionMiddleware,
54
+ max_age=3600, # 1 hour
55
+ https_only=False
56
+ )
57
+
58
+ # Initialize Kinde OAuth with FastAPI framework
59
+ # This automatically registers /login, /logout, /callback, /register, /user routes
60
+ kinde_oauth = OAuth(
61
+ framework="fastapi",
62
+ app=app
63
+ )
64
+
65
+ # Example home route
66
+ @app.get("/", response_class=HTMLResponse)
67
+ def home():
68
+ """
69
+ Home page that shows different content based on authentication status.
70
+ """
71
+ if kinde_oauth.is_authenticated():
72
+ try:
73
+ user = kinde_oauth.get_user_info()
74
+ except Exception as e:
75
+ error_msg = html.escape(str(e))
76
+ logger.exception("Error getting user info")
77
+ return f"""
78
+ <html>
79
+ <body>
80
+ <h1>Error</h1>
81
+ <p>Failed to get user information: {error_msg}</p>
82
+ <a href="/logout">Logout</a>
83
+ </body>
84
+ </html>
85
+ """
86
+ else:
87
+ email = html.escape(user.get('email', 'N/A'))
88
+ given_name = html.escape(user.get('given_name', ''))
89
+ family_name = html.escape(user.get('family_name', ''))
90
+ user_id = html.escape(user.get('sub', 'N/A'))
91
+ return f"""
92
+ <html>
93
+ <body>
94
+ <h1>Welcome, {email}!</h1>
95
+ <p>You are logged in.</p>
96
+ <h3>User Information:</h3>
97
+ <ul>
98
+ <li><strong>Email:</strong> {email}</li>
99
+ <li><strong>Name:</strong> {given_name} {family_name}</li>
100
+ <li><strong>ID:</strong> {user_id}</li>
101
+ </ul>
102
+ <hr>
103
+ <p><a href="/user">View Full User Info (JSON)</a></p>
104
+ <p><a href="/logout">Logout</a></p>
105
+ </body>
106
+ </html>
107
+ """
108
+
109
+ return """
110
+ <html>
111
+ <body>
112
+ <h1>Welcome to the Kinde FastAPI Example</h1>
113
+ <p>You are not logged in.</p>
114
+ <p>This example demonstrates Kinde OAuth integration with FastAPI.</p>
115
+ <p><a href="/login">Login</a> | <a href="/register">Register</a></p>
116
+ </body>
117
+ </html>
118
+ """
119
+
120
+
121
+ @app.get("/protected")
122
+ def protected_route():
123
+ """
124
+ Example of a protected route that requires authentication.
125
+ Redirects to login if not authenticated.
126
+ """
127
+ if not kinde_oauth.is_authenticated():
128
+ return RedirectResponse("/login")
129
+
130
+ try:
131
+ user = kinde_oauth.get_user_info()
132
+ return {
133
+ "message": "This is a protected route",
134
+ "user": user.get('email')
135
+ }
136
+ except Exception:
137
+ logger.exception("Error getting user info in protected route")
138
+ return RedirectResponse("/login")
139
+
140
+
141
+ if __name__ == "__main__":
142
+ import uvicorn
143
+ uvicorn.run(app, host="127.0.0.1", port=8000)
@@ -1,5 +1,5 @@
1
- from typing import Optional, Dict, Any
2
- from fastapi import FastAPI, Request, Depends
1
+ from typing import Optional
2
+ from fastapi import FastAPI, Request
3
3
  from fastapi.responses import RedirectResponse, HTMLResponse
4
4
  from kinde_sdk.core.framework.framework_interface import FrameworkInterface
5
5
  from kinde_sdk.auth.oauth import OAuth
@@ -55,7 +55,6 @@ class FastAPIFramework(FrameworkInterface):
55
55
  """
56
56
  Start the framework.
57
57
  This method initializes any necessary FastAPI components and registers Kinde routes.
58
- This method initializes any necessary FastAPI components and registers Kinde routes.
59
58
  """
60
59
  if not self._initialized:
61
60
  # Add framework middleware
@@ -119,11 +118,11 @@ class FastAPIFramework(FrameworkInterface):
119
118
  Register all Kinde-specific routes with the FastAPI application.
120
119
  """
121
120
  # Helper function to get current user
122
- async def get_current_user(request: Request):
123
- if not self._oauth.is_authenticated(request):
121
+ async def get_current_user():
122
+ if not self._oauth.is_authenticated():
124
123
  return None
125
124
  try:
126
- return self._oauth.get_user_info(request)
125
+ return self._oauth.get_user_info()
127
126
  except ValueError:
128
127
  return None
129
128
 
@@ -131,7 +130,15 @@ class FastAPIFramework(FrameworkInterface):
131
130
  @self.app.get("/login")
132
131
  async def login(request: Request):
133
132
  """Redirect to Kinde login page."""
134
- url=await self._oauth.login()
133
+ # Build login options from query parameters
134
+ login_options = {}
135
+
136
+ # Check for invitation_code in query parameters
137
+ invitation_code = request.query_params.get('invitation_code')
138
+ if invitation_code:
139
+ login_options['invitation_code'] = invitation_code
140
+
141
+ url = await self._oauth.login(login_options)
135
142
  self._logger.warning(f"[Login] Session is: {request.session}")
136
143
  return RedirectResponse(url=url)
137
144
 
@@ -219,17 +226,17 @@ class FastAPIFramework(FrameworkInterface):
219
226
 
220
227
  # Register route
221
228
  @self.app.get("/register")
222
- async def register(request: Request):
229
+ async def register():
223
230
  """Redirect to Kinde registration page."""
224
231
  return RedirectResponse(url=await self._oauth.register())
225
232
 
226
233
  # User info route
227
234
  @self.app.get("/user")
228
- async def get_user(request: Request):
235
+ async def get_user():
229
236
  """Get the current user's information."""
230
- if not self._oauth.is_authenticated(request):
237
+ if not self._oauth.is_authenticated():
231
238
  return RedirectResponse(url=await self._oauth.login())
232
- return self._oauth.get_user_info(request)
239
+ return self._oauth.get_user_info()
233
240
 
234
241
  def can_auto_detect(self) -> bool:
235
242
  """
@@ -240,6 +247,7 @@ class FastAPIFramework(FrameworkInterface):
240
247
  """
241
248
  try:
242
249
  import fastapi
250
+ _ = fastapi # Import check only
243
251
  return True
244
252
  except ImportError:
245
253
  return False
@@ -4,8 +4,8 @@ from dotenv import load_dotenv
4
4
 
5
5
  from kinde_sdk.auth.oauth import OAuth
6
6
 
7
- # Load environment variables from .env file
8
- load_dotenv()
7
+ # Load environment variables from .env file located alongside this script
8
+ load_dotenv(os.path.join(os.path.dirname(__file__), ".env"))
9
9
 
10
10
  # Initialize Flask app
11
11
  app = Flask(__name__)
@@ -1,19 +1,21 @@
1
- from typing import Optional, Dict, Any, TYPE_CHECKING
1
+ from typing import Optional, TYPE_CHECKING
2
2
  from flask import Flask, request, redirect, session
3
+ from flask_session import Session
3
4
  from kinde_sdk.core.framework.framework_interface import FrameworkInterface
4
5
  from kinde_sdk.auth.oauth import OAuth
5
6
  from ..middleware.framework_middleware import FrameworkMiddleware
6
7
  import os
7
8
  import uuid
8
9
  import asyncio
9
- import threading
10
10
  import logging
11
- import nest_asyncio
12
- from flask_session import Session
11
+ import secrets
12
+ import tempfile
13
13
 
14
14
  if TYPE_CHECKING:
15
15
  from flask import Request
16
16
 
17
+ logger = logging.getLogger(__name__)
18
+
17
19
  class FlaskFramework(FrameworkInterface):
18
20
  """
19
21
  Flask framework implementation.
@@ -32,13 +34,35 @@ class FlaskFramework(FrameworkInterface):
32
34
  self._initialized = False
33
35
  self._oauth = None
34
36
 
35
- # Configure Flask session
36
- self.app.config['SECRET_KEY'] = os.getenv('SECRET_KEY', 'your-secret-key')
37
- self.app.config['SESSION_TYPE'] = 'filesystem'
37
+ # Configure Flask session for server-side storage
38
+ # This is required because OAuth tokens can exceed cookie size limits (~4KB)
39
+ secret_key = os.getenv('SECRET_KEY')
40
+ if not secret_key:
41
+ secret_key = secrets.token_urlsafe(32)
42
+ logger.warning(
43
+ "SECRET_KEY not set. Generated a random key for this session. "
44
+ "Set SECRET_KEY environment variable for production use."
45
+ )
46
+ self.app.config['SECRET_KEY'] = secret_key
47
+ self.app.config['SESSION_TYPE'] = os.getenv('SESSION_TYPE', 'filesystem')
38
48
  self.app.config['SESSION_PERMANENT'] = False
39
49
 
40
- # Enable nested event loops
41
- nest_asyncio.apply()
50
+ session_file_dir = os.getenv('SESSION_FILE_DIR')
51
+ if not session_file_dir:
52
+ # Create a secure temporary directory with restrictive permissions (0700)
53
+ session_file_dir = tempfile.mkdtemp(prefix='kinde_flask_sessions_')
54
+ os.chmod(session_file_dir, 0o700)
55
+ logger.warning(
56
+ f"SESSION_FILE_DIR not set. Using temporary directory: {session_file_dir}. "
57
+ "Set SESSION_FILE_DIR environment variable for production use."
58
+ )
59
+ self.app.config['SESSION_FILE_DIR'] = session_file_dir
60
+
61
+ # Initialize Flask-Session extension
62
+ # Without this, SESSION_TYPE is ignored and Flask uses client-side cookie sessions
63
+ Session(self.app)
64
+ logger.debug("Flask-Session initialized with server-side storage")
65
+
42
66
 
43
67
  def get_name(self) -> str:
44
68
  """
@@ -121,6 +145,27 @@ class FlaskFramework(FrameworkInterface):
121
145
  """
122
146
  self._oauth = oauth
123
147
 
148
+ @staticmethod
149
+ def _run_async(coro):
150
+ """
151
+ Run an async coroutine in a new event loop, then close it.
152
+
153
+ This helper ensures consistent event loop handling across all routes.
154
+ Clears the event loop reference before closing to prevent use-after-close issues.
155
+
156
+ Args:
157
+ coro: The coroutine to run
158
+
159
+ Returns:
160
+ The result of the coroutine
161
+ """
162
+ loop = asyncio.new_event_loop()
163
+ try:
164
+ return loop.run_until_complete(coro)
165
+ finally:
166
+ asyncio.set_event_loop(None)
167
+ loop.close()
168
+
124
169
  def _register_kinde_routes(self) -> None:
125
170
  """
126
171
  Register all Kinde-specific routes with the Flask application.
@@ -129,8 +174,15 @@ class FlaskFramework(FrameworkInterface):
129
174
  @self.app.route('/login')
130
175
  def login():
131
176
  """Redirect to Kinde login page."""
132
- loop = asyncio.get_event_loop()
133
- login_url = loop.run_until_complete(self._oauth.login())
177
+ # Build login options from query parameters
178
+ login_options = {}
179
+
180
+ # Check for invitation_code in query parameters
181
+ invitation_code = request.args.get('invitation_code')
182
+ if invitation_code:
183
+ login_options['invitation_code'] = invitation_code
184
+
185
+ login_url = self._run_async(self._oauth.login(login_options))
134
186
  return redirect(login_url)
135
187
 
136
188
  # Callback route
@@ -198,10 +250,7 @@ class FlaskFramework(FrameworkInterface):
198
250
 
199
251
  # Handle async call to handle_redirect
200
252
  try:
201
- loop = asyncio.new_event_loop()
202
- asyncio.set_event_loop(loop)
203
- loop.run_until_complete(self._oauth.handle_redirect(code, user_id, state))
204
- loop.close()
253
+ self._run_async(self._oauth.handle_redirect(code, user_id, state))
205
254
  except Exception as e:
206
255
  return f"Authentication failed: {str(e)}", 400
207
256
 
@@ -218,16 +267,14 @@ class FlaskFramework(FrameworkInterface):
218
267
  """Logout the user and redirect to Kinde logout page."""
219
268
  user_id = session.get('user_id')
220
269
  session.clear()
221
- loop = asyncio.get_event_loop()
222
- logout_url = loop.run_until_complete(self._oauth.logout(user_id))
270
+ logout_url = self._run_async(self._oauth.logout(user_id))
223
271
  return redirect(logout_url)
224
272
 
225
273
  # Register route
226
274
  @self.app.route('/register')
227
275
  def register():
228
276
  """Redirect to Kinde registration page."""
229
- loop = asyncio.get_event_loop()
230
- register_url = loop.run_until_complete(self._oauth.register())
277
+ register_url = self._run_async(self._oauth.register())
231
278
  return redirect(register_url)
232
279
 
233
280
  # User info route
@@ -235,16 +282,11 @@ class FlaskFramework(FrameworkInterface):
235
282
  def get_user():
236
283
  """Get the current user's information."""
237
284
  try:
238
- if not self._oauth.is_authenticated(request):
239
- loop = asyncio.new_event_loop()
240
- asyncio.set_event_loop(loop)
241
- try:
242
- login_url = loop.run_until_complete(self._oauth.login())
243
- return redirect(login_url)
244
- finally:
245
- loop.close()
285
+ if not self._oauth.is_authenticated():
286
+ login_url = self._run_async(self._oauth.login())
287
+ return redirect(login_url)
246
288
 
247
- return self._oauth.get_user_info(request)
289
+ return self._oauth.get_user_info()
248
290
  except Exception as e:
249
291
  return f"Failed to get user info: {str(e)}", 400
250
292
 
@@ -257,6 +299,7 @@ class FlaskFramework(FrameworkInterface):
257
299
  """
258
300
  try:
259
301
  import flask
302
+ _ = flask # Import check only
260
303
  return True
261
304
  except ImportError:
262
305
  return False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kinde-python-sdk
3
- Version: 2.2.0
3
+ Version: 2.3.0
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
@@ -21,12 +21,13 @@ Requires-Dist: urllib3<3.0,>=2.2.0
21
21
  Requires-Dist: python-dateutil<3.0,>=2.9.0
22
22
  Requires-Dist: Authlib<2.0,>=1.3.0
23
23
  Requires-Dist: pyjwt<3.0,>=2.10.0
24
- Requires-Dist: requests<3.0,>=2.32.2
24
+ Requires-Dist: requests~=2.32.5; python_version < "3.10"
25
+ Requires-Dist: requests~=2.33.0; python_version >= "3.10"
25
26
  Requires-Dist: typing-extensions<5.0,>=4.11.0
26
27
  Requires-Dist: frozendict<3.0,>=2.4.3
27
- Requires-Dist: certifi<2025.0.0,>=2024.2.2
28
+ Requires-Dist: certifi>=2026.1.4
28
29
  Requires-Dist: PyYAML<7.0.0,>=6.0.1
29
- Requires-Dist: cryptography<42.0.0,>=41.0.0
30
+ Requires-Dist: cryptography<47.0,>=43.0.1
30
31
  Requires-Dist: python-dotenv<2.0.0,>=1.0.0
31
32
  Requires-Dist: itsdangerous<3.0.0,>=2.2.0
32
33
  Requires-Dist: nest-asyncio<2.0.0,>=1.5.8
@@ -35,9 +36,23 @@ Requires-Dist: pydantic<3.0.0,>=2.0.0
35
36
  Provides-Extra: fastapi
36
37
  Requires-Dist: fastapi<1.0.0,>=0.110.0; extra == "fastapi"
37
38
  Requires-Dist: python-multipart<1.0.0,>=0.0.6; extra == "fastapi"
38
- Requires-Dist: uvicorn<0.26.0,>=0.25.0; extra == "fastapi"
39
+ Requires-Dist: uvicorn<1.0.0,>=0.37.0; extra == "fastapi"
39
40
  Provides-Extra: flask
40
41
  Requires-Dist: flask<4.0.0,>=3.0.0; extra == "flask"
42
+ Provides-Extra: dev
43
+ Requires-Dist: pytest>=7.4.0; extra == "dev"
44
+ Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
45
+ Requires-Dist: pytest-django>=4.5.2; extra == "dev"
46
+ Requires-Dist: mypy>=1.5.0; extra == "dev"
47
+ Requires-Dist: bandit>=1.7; extra == "dev"
48
+ Requires-Dist: pylint>=4.0.0; python_version >= "3.10" and extra == "dev"
49
+ Requires-Dist: pylint<4.0,>=2.0; python_version < "3.10" and extra == "dev"
50
+ Requires-Dist: pycodestyle>=2.0; extra == "dev"
51
+ Requires-Dist: pytest-asyncio>=0.26.0; extra == "dev"
52
+ Requires-Dist: pytest-timeout>=2.2.0; extra == "dev"
53
+ Requires-Dist: black>=24.3.0; extra == "dev"
54
+ Requires-Dist: flake8>=6.1.0; extra == "dev"
55
+ Requires-Dist: isort>=5.12.0; extra == "dev"
41
56
  Dynamic: license-file
42
57
 
43
58
  # Kinde Python SDK
@@ -763,6 +778,20 @@ If you're upgrading from v1 of the Kinde Python SDK, we've prepared comprehensiv
763
778
 
764
779
  Please refer to Kinde's [contributing guidelines](https://github.com/kinde-oss/.github/blob/489e2ca9c3307c2b2e098a885e22f2239116394a/CONTRIBUTING.md).
765
780
 
781
+ ### Development Setup
782
+
783
+ To set up the development environment, install the package in editable mode with development dependencies:
784
+
785
+ ```bash
786
+ pip install -e ".[dev]"
787
+ ```
788
+
789
+ **Note:** The `dev` optional dependency group includes all development tools (pytest, mypy, pylint, etc.). Pylint is conditionally installed based on your Python version:
790
+ - **Python 3.10+**: pylint >=4.0.0
791
+ - **Python 3.9**: pylint >=2.0, <4.0
792
+
793
+ This ensures compatibility with Python 3.9 while allowing newer Python versions to use the latest pylint features.
794
+
766
795
  ## License
767
796
 
768
797
  By contributing to Kinde, you agree that your contributions will be licensed under its MIT License.