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.
- {kinde_python_sdk-2.0.0b9/kinde_python_sdk.egg-info → kinde_python_sdk-2.0.0b11}/PKG-INFO +23 -1
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/README.md +23 -1
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11/kinde_python_sdk.egg-info}/PKG-INFO +23 -1
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/login_options.py +1 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/oauth.py +3 -0
- kinde_python_sdk-2.0.0b11/kinde_sdk/management/management_token_manager.py +303 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/pyproject.toml +1 -1
- kinde_python_sdk-2.0.0b9/kinde_sdk/management/management_token_manager.py +0 -94
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/LICENSE +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/MANIFEST.in +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/examples/example_app.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/examples/session.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/framework/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/framework/fastapi_framework.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/framework/fastapi_framework_factory.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/middleware/framework_middleware.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/storage/fastapi_storage.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/storage/fastapi_storage_factory.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_flask/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_flask/examples/example_app.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_flask/framework/flask_framework.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_flask/framework/flask_framework_factory.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_flask/middleware/framework_middleware.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_flask/storage/flask_storage_factory.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_python_sdk.egg-info/SOURCES.txt +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_python_sdk.egg-info/dependency_links.txt +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_python_sdk.egg-info/not-zip-safe +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_python_sdk.egg-info/requires.txt +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_python_sdk.egg-info/top_level.txt +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/path_to_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_apis.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_apis_api_id.py +0 -0
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_applications.py +0 -0
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_applications_application_id.py +0 -0
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_business.py +0 -0
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_connected_apps_revoke.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_connected_apps_token.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_connections.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_connections_connection_id.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_environment_feature_flags.py +0 -0
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_event_types.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_events_event_id.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_feature_flags.py +0 -0
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_industries.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organization.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organization_org_code.py +0 -0
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_organizations.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_permissions.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_permissions_permission_id.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_properties.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_properties_property_id.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_property_categories.py +0 -0
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_roles.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_roles_role_id.py +0 -0
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_subscribers.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_subscribers_subscriber_id.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_timezones.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_user.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_users.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_webhooks.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_webhooks_webhook_id.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/oauth2_introspect.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/oauth2_revoke.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/oauth2_user_profile.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/oauth2_v2_user_profile.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tag_to_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/apis_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/applications_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/business_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/callbacks_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/connected_apps_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/connections_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/environments_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/feature_flags_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/industries_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/o_auth_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/organizations_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/permissions_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/properties_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/property_categories_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/roles_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/subscribers_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/timezones_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/users_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/tags/webhooks_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/claims.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/config_loader.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/enums.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/feature_flags.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/permissions.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/portals.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/token_manager.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/auth/user_session.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/exceptions.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/framework/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/framework/framework_context.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/framework/framework_factory.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/framework/framework_interface.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/framework/null_framework.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/helpers.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/storage/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/storage/framework_aware_storage.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/storage/local_storage.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/storage/memory_storage.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/storage/storage_factory.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/storage/storage_interface.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/core/storage/storage_manager.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/management/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/management/api_client.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/management/configuration.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/management/management_client.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/management/schemas.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/add_organization_users_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/api_result.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/apis.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/applications.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/category.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/connected_apps_access_token.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/connected_apps_auth_url.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/connection.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_application_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_category_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_connection_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_organization_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_property_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_subscriber_success_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_user_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/create_webhook_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/delete_webhook_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/error.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/error_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/event_type.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_application_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_applications_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_categories_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_connections_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_environment_feature_flags_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_event_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_event_types_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_organization_feature_flags_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_organization_users_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_organizations_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_organizations_user_permissions_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_organizations_user_roles_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_permissions_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_properties_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_property_values_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_redirect_callback_urls_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_roles_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_subscriber_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_subscribers_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/get_webhooks_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/logout_redirect_urls.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/model_property.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/organization.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/organization_user.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/organization_user_permission.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/organization_user_role.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/organization_user_role_permissions.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/organization_users.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/permissions.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/property_value.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/redirect_callback_urls.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/role.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/roles.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/roles_permission_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/subscriber.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/subscribers_subscriber.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/success_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/token_error_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/token_introspect.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/update_organization_users_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/update_role_permissions_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/update_user_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/update_webhook_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/user.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/user_identity.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/user_profile.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/user_profile_v2.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/users.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/users_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/model/webhook.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/models/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_apis/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_apis/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_apis/post.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_apis_api_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_apis_api_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_apis_api_id/get.py +0 -0
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications/post.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_application_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_application_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_application_id/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_applications_application_id/patch.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_business/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_business/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_business/patch.py +0 -0
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connected_apps_revoke/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connected_apps_revoke/post.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connected_apps_token/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connected_apps_token/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connections/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connections/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connections/post.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connections_connection_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connections_connection_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connections_connection_id/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_connections_connection_id/patch.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_environment_feature_flags/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_environment_feature_flags/delete.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_environment_feature_flags/get.py +0 -0
- {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
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_event_types/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_event_types/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_events_event_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_events_event_id/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_feature_flags/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_feature_flags/post.py +0 -0
- {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
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_industries/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_industries/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organization/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organization/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organization/post.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organization_org_code/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organization_org_code/delete.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organization_org_code/patch.py +0 -0
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_organizations/get.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_permissions/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_permissions/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_permissions/post.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_permissions_permission_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_permissions_permission_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_permissions_permission_id/patch.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_properties/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_properties/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_properties/post.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_properties_property_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_properties_property_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_properties_property_id/put.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_property_categories/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_property_categories/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_property_categories/post.py +0 -0
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles/post.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles_role_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles_role_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_roles_role_id/patch.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_subscribers/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_subscribers/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_subscribers/post.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_subscribers_subscriber_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_subscribers_subscriber_id/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_timezones/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_timezones/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_user/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_user/delete.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_user/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_user/patch.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_user/post.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_users/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_users/get.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_webhooks/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_webhooks/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_webhooks/patch.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_webhooks/post.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_webhooks_webhook_id/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/api_v1_webhooks_webhook_id/delete.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_introspect/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_introspect/post.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_revoke/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_revoke/post.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_user_profile/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_user_profile/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_v2_user_profile/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/paths/oauth2_v2_user_profile/get.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/__init__.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_kinde_api_client.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/__init__.py +0 -0
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_api.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_api_result.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_apis.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_applications.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_category.py +0 -0
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_connection.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_create_application_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_create_category_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_create_connection_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_create_organization_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_create_property_response.py +0 -0
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_create_user_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_create_webhook_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_delete_webhook_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_error.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_error_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_event_type.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_application_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_applications_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_categories_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_connections_response.py +0 -0
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_event_response.py +0 -0
- {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
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_organizations_response.py +0 -0
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_permissions_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_properties_response.py +0 -0
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_roles_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_subscriber_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_subscribers_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_get_webhooks_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_logout_redirect_urls.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_model_property.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_organization.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_organization_user.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_organization_user_permission.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_organization_user_role.py +0 -0
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_organization_users.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_permissions.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_property_value.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_redirect_callback_urls.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_role.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_roles.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_roles_permission_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_subscriber.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_subscribers_subscriber.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_success_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_token_error_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_token_introspect.py +0 -0
- {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
- {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
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_update_user_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_update_webhook_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_user.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_user_identity.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_user_profile.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_user_profile_v2.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_users.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_users_response.py +0 -0
- {kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/test/test_models/test_webhook.py +0 -0
- {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.
|
|
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.
|
|
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,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 = {}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/examples/example_app.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/framework/fastapi_framework.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_fastapi/storage/fastapi_storage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_flask/framework/flask_framework.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_flask/storage/flask_storage_factory.py
RENAMED
|
File without changes
|
{kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_python_sdk.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_python_sdk.egg-info/not-zip-safe
RENAMED
|
File without changes
|
{kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_python_sdk.egg-info/requires.txt
RENAMED
|
File without changes
|
{kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_python_sdk.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_apis_api_id.py
RENAMED
|
File without changes
|
|
File without changes
|
{kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_applications.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_business.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_connections.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_event_types.py
RENAMED
|
File without changes
|
|
File without changes
|
{kinde_python_sdk-2.0.0b9 → kinde_python_sdk-2.0.0b11}/kinde_sdk/apis/paths/api_v1_feature_flags.py
RENAMED
|
File without changes
|