kinde-python-sdk 2.1.1__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.
- {kinde_python_sdk-2.1.1/kinde_python_sdk.egg-info → kinde_python_sdk-2.3.0}/PKG-INFO +34 -5
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/README.md +14 -0
- kinde_python_sdk-2.3.0/kinde_fastapi/examples/example_app.py +143 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_fastapi/framework/fastapi_framework.py +19 -11
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_flask/examples/example_app.py +2 -2
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_flask/framework/flask_framework.py +71 -28
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0/kinde_python_sdk.egg-info}/PKG-INFO +34 -5
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_python_sdk.egg-info/SOURCES.txt +32 -70
- kinde_python_sdk-2.3.0/kinde_python_sdk.egg-info/requires.txt +47 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/__init__.py +3 -1
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/__init__.py +2 -1
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/login_options.py +4 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/oauth.py +53 -31
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/core/__init__.py +2 -0
- kinde_python_sdk-2.3.0/kinde_sdk/core/framework/null_framework.py +128 -0
- kinde_python_sdk-2.3.0/kinde_sdk/core/session_management.py +177 -0
- kinde_python_sdk-2.3.0/kinde_sdk/management/__init__.py +557 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/__init__.py +1 -4
- kinde_python_sdk-2.3.0/kinde_sdk/management/api/api_keys_api.py +1789 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/apis_api.py +7 -7
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/organizations_api.py +0 -3
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/permissions_api.py +0 -287
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/properties_api.py +0 -287
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/roles_api.py +0 -287
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/search_api.py +17 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/users_api.py +33 -6
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api_client.py +15 -8
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/configuration.py +8 -2
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/exceptions.py +6 -3
- kinde_python_sdk-2.3.0/kinde_sdk/management/management_client.py +539 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/__init__.py +15 -32
- kinde_python_sdk-2.3.0/kinde_sdk/management/models/create_api_key_request.py +120 -0
- kinde_python_sdk-2.3.0/kinde_sdk/management/models/create_api_key_response.py +96 -0
- kinde_python_sdk-2.1.1/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
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_connection_request.py +2 -2
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_connection_request_options_one_of2.py +5 -3
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_role_request.py +10 -2
- kinde_python_sdk-2.3.0/kinde_sdk/management/models/get_api_key_response.py +96 -0
- kinde_python_sdk-2.3.0/kinde_sdk/management/models/get_api_key_response_api_key.py +152 -0
- kinde_python_sdk-2.3.0/kinde_sdk/management/models/get_api_keys_response.py +102 -0
- kinde_python_sdk-2.3.0/kinde_sdk/management/models/get_api_keys_response_api_keys_inner.py +131 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_api_response_api.py +1 -1
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_apis_response_apis_inner.py +1 -1
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_environment_response_environment.py +1 -1
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organization_response.py +4 -2
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/organization_user.py +4 -2
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_connection_request_options_one_of1.py +5 -3
- kinde_python_sdk-2.3.0/kinde_sdk/management/models/rotate_api_key_response.py +96 -0
- kinde_python_sdk-2.3.0/kinde_sdk/management/models/rotate_api_key_response_api_key.py +90 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/search_users_response_results_inner.py +12 -2
- kinde_python_sdk-2.3.0/kinde_sdk/management/models/search_users_response_results_inner_api_scopes_inner.py +92 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_organization_sessions_request.py +2 -2
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_roles_request.py +10 -2
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/user.py +8 -2
- kinde_python_sdk-2.3.0/kinde_sdk/management/models/user_billing.py +88 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/users_response_users_inner.py +16 -1
- kinde_python_sdk-2.1.1/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
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/portal_link.py → kinde_python_sdk-2.3.0/kinde_sdk/management/models/verify_api_key_request.py +8 -8
- kinde_python_sdk-2.3.0/kinde_sdk/management/models/verify_api_key_response.py +122 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/rest.py +7 -2
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/pyproject.toml +28 -11
- kinde_python_sdk-2.1.1/kinde_fastapi/examples/example_app.py +0 -304
- kinde_python_sdk-2.1.1/kinde_python_sdk.egg-info/requires.txt +0 -23
- kinde_python_sdk-2.1.1/kinde_sdk/core/framework/null_framework.py +0 -75
- kinde_python_sdk-2.1.1/kinde_sdk/management/__init__.py +0 -309
- kinde_python_sdk-2.1.1/kinde_sdk/management/api/billing_api.py +0 -594
- kinde_python_sdk-2.1.1/kinde_sdk/management/api/feature_flags0_api.py +0 -326
- kinde_python_sdk-2.1.1/kinde_sdk/management/api/o_auth_api.py +0 -923
- kinde_python_sdk-2.1.1/kinde_sdk/management/api/self_serve_portal_api.py +0 -326
- kinde_python_sdk-2.1.1/kinde_sdk/management/custom_exceptions.py +0 -32
- kinde_python_sdk-2.1.1/kinde_sdk/management/management_client.py +0 -603
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_entitlement_response.py +0 -94
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_entitlement_response_data.py +0 -94
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_entitlement_response_data_entitlement.py +0 -122
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_entitlements_response.py +0 -98
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_entitlements_response_data.py +0 -108
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_entitlements_response_data_entitlements_inner.py +0 -122
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_entitlements_response_metadata.py +0 -90
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_feature_flags_response.py +0 -92
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_feature_flags_response_data.py +0 -96
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_feature_flags_response_data_feature_flags_inner.py +0 -100
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_feature_flags_response_data_feature_flags_inner_value.py +0 -178
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_user_permissions_response.py +0 -98
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_user_permissions_response_data.py +0 -98
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_user_permissions_response_data_permissions_inner.py +0 -92
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_user_permissions_response_metadata.py +0 -90
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_user_properties_response.py +0 -98
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_user_properties_response_data.py +0 -96
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_user_properties_response_data_properties_inner.py +0 -98
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_user_properties_response_data_properties_inner_value.py +0 -161
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_user_properties_response_metadata.py +0 -90
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_user_roles_response.py +0 -98
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_user_roles_response_data.py +0 -98
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/get_user_roles_response_metadata.py +0 -90
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/token_error_response.py +0 -90
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/token_introspect.py +0 -96
- kinde_python_sdk-2.1.1/kinde_sdk/management/models/user_profile_v2.py +0 -123
- kinde_python_sdk-2.1.1/kinde_sdk/management/schemas.py +0 -2476
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/LICENSE +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/MANIFEST.in +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_fastapi/__init__.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_fastapi/examples/management_token_example.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_fastapi/examples/session.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_fastapi/framework/__init__.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_fastapi/framework/fastapi_framework_factory.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_fastapi/middleware/framework_middleware.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_fastapi/storage/fastapi_storage.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_fastapi/storage/fastapi_storage_factory.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_flask/__init__.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_flask/framework/flask_framework_factory.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_flask/middleware/framework_middleware.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_flask/storage/flask_storage_factory.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_python_sdk.egg-info/dependency_links.txt +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_python_sdk.egg-info/not-zip-safe +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_python_sdk.egg-info/top_level.txt +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/api_options.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/async_claims.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/async_oauth.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/base_auth.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/base_oauth.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/claims.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/config_loader.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/entitlements.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/enums.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/feature_flags.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/permissions.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/portals.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/roles.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/smart_oauth.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/token_manager.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/tokens.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/auth/user_session.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/core/exceptions.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/core/framework/__init__.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/core/framework/framework_context.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/core/framework/framework_factory.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/core/framework/framework_interface.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/core/helpers.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/core/storage/__init__.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/core/storage/framework_aware_storage.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/core/storage/local_storage.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/core/storage/memory_storage.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/core/storage/storage_factory.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/core/storage/storage_interface.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/core/storage/storage_manager.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/__init__.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/__init__.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/billing_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/feature_flags_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/o_auth_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/permissions_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/properties_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/roles_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api/self_serve_portal_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api_client.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/api_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/configuration.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/exceptions.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/__init__.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/error.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/error_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlement_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlement_response_data.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlement_response_data_entitlement.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlements_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlements_response_data.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlements_response_data_entitlements_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlements_response_data_plans_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_entitlements_response_metadata.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_feature_flags_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_feature_flags_response_data.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_feature_flags_response_data_feature_flags_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_feature_flags_response_data_feature_flags_inner_value.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_permissions_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_permissions_response_data.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_permissions_response_data_permissions_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_permissions_response_metadata.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_properties_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_properties_response_data.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_properties_response_data_properties_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_properties_response_data_properties_inner_value.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_properties_response_metadata.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_roles_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_roles_response_data.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_roles_response_data_roles_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/get_user_roles_response_metadata.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/portal_link.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/token_error_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/token_introspect.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/models/user_profile_v2.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/frontend/rest.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/applications_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/billing_agreements_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/billing_entitlements_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/billing_meter_usage_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/business_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/callbacks_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/connected_apps_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/connections_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/environment_variables_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/environments_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/feature_flags_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/identities_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/industries_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/mfa_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/property_categories_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/subscribers_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/timezones_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api/webhooks_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/api_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/management_token_manager.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/add_api_scope_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/add_apis_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/add_organization_users_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/add_organization_users_request_users_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/add_organization_users_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/add_role_scope_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/add_role_scope_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/api_result.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/applications.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/authorize_app_api_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/category.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/connected_apps_access_token.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/connected_apps_auth_url.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/connection.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/connection_connection.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_api_scopes_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_api_scopes_response_scope.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_apis_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_apis_response_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_application_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_application_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_application_response_application.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_billing_agreement_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_category_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_category_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_category_response_category.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_connection_request_options.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_connection_request_options_one_of.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_connection_request_options_one_of1.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_connection_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_connection_response_connection.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_environment_variable_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_environment_variable_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_environment_variable_response_environment_variable.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_feature_flag_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_identity_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_identity_response_identity.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_meter_usage_record_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_meter_usage_record_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_organization_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_organization_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_organization_response_organization.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_organization_user_permission_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_organization_user_role_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_permission_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_property_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_property_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_property_response_property.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_roles_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_roles_response_role.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_subscriber_success_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_subscriber_success_response_subscriber.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_user_identity_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_user_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_user_request_identities_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_user_request_identities_inner_details.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_user_request_profile.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_user_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_web_hook_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_webhook_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/create_webhook_response_webhook.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/delete_api_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/delete_environment_variable_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/delete_role_scope_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/delete_webhook_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/environment_variable.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/error.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/error_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/event_type.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_api_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_api_response_api_applications_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_api_response_api_scopes_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_api_scope_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_api_scopes_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_api_scopes_response_scopes_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_apis_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_apis_response_apis_inner_scopes_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_application_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_application_response_application.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_applications_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_billing_agreements_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_billing_agreements_response_agreements_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_billing_agreements_response_agreements_inner_entitlements_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_billing_entitlements_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_billing_entitlements_response_entitlements_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_billing_entitlements_response_plans_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_business_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_business_response_business.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_categories_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_connections_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_environment_feature_flags_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_environment_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_environment_response_environment_background_color.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_environment_response_environment_link_color.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_environment_variable_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_environment_variables_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_event_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_event_response_event.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_event_types_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_identities_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_industries_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_industries_response_industries_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organization_feature_flags_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organization_feature_flags_response_feature_flags_value.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organization_response_billing.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organization_response_billing_agreements_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organization_users_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organizations_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organizations_user_permissions_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_organizations_user_roles_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_permissions_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_properties_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_property_values_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_redirect_callback_urls_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_role_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_role_response_role.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_roles_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_subscriber_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_subscribers_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_timezones_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_timezones_response_timezones_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_user_mfa_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_user_mfa_response_mfa.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_user_sessions_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_user_sessions_response_sessions_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/get_webhooks_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/identity.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/logout_redirect_urls.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/model_property.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/not_found_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/not_found_response_errors.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/organization_item_schema.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/organization_user_permission.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/organization_user_permission_roles_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/organization_user_role.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/organization_user_role_permissions.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/organization_user_role_permissions_permissions.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/permissions.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/property_value.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/read_env_logo_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/read_env_logo_response_logos_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/read_logo_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/read_logo_response_logos_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/redirect_callback_urls.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_connection_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_connection_request_options.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_connection_request_options_one_of.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_logout_redirect_urls_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_mfa_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_organization_mfa_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/replace_redirect_callback_urls_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/role.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/role_permissions_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/role_scopes_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/roles.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/scopes.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/search_users_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/set_user_password_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/subscriber.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/subscribers_subscriber.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/success_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_api_applications_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_api_applications_request_applications_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_api_scope_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_application_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_application_tokens_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_applications_property_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_applications_property_request_value.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_business_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_category_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_connection_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_connection_request_options.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_connection_request_options_one_of.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_environement_feature_flag_override_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_environment_variable_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_environment_variable_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_identity_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_organization_properties_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_organization_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_organization_users_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_organization_users_request_users_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_organization_users_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_property_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_role_permissions_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_role_permissions_request_permissions_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_role_permissions_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_user_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_user_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_web_hook_request.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_webhook_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/update_webhook_response_webhook.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/user_identities_inner.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/user_identity.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/user_identity_result.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/users_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/users_response_users_inner_billing.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/management/models/webhook.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/models/__init__.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/__init__.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/__init__.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_add_organization_users_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_api.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_api_result.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_apis.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_applications.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_category.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_connected_apps_access_token.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_connected_apps_auth_url.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_connection.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_application_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_category_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_connection_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_organization_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_property_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_subscriber_success_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_user_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_create_webhook_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_delete_webhook_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_error.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_error_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_event_type.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_application_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_applications_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_categories_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_connections_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_environment_feature_flags_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_event_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_event_types_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_organization_feature_flags_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_organization_users_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_organizations_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_organizations_user_permissions_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_organizations_user_roles_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_permissions_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_properties_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_property_values_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_redirect_callback_urls_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_roles_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_subscriber_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_subscribers_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_get_webhooks_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_logout_redirect_urls.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_model_property.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_organization.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_organization_user.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_organization_user_permission.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_organization_user_role.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_organization_user_role_permissions.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_organization_users.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_permissions.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_property_value.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_redirect_callback_urls.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_role.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_roles.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_roles_permission_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_subscriber.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_subscribers_subscriber.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_success_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_token_error_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_token_introspect.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_update_organization_users_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_update_role_permissions_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_update_user_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_update_webhook_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_user.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_user_identity.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_user_profile.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_user_profile_v2.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_users.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_users_response.py +0 -0
- {kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_sdk/test/test_models/test_webhook.py +0 -0
- {kinde_python_sdk-2.1.1 → 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.
|
|
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
|
|
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
|
|
28
|
+
Requires-Dist: certifi>=2026.1.4
|
|
28
29
|
Requires-Dist: PyYAML<7.0.0,>=6.0.1
|
|
29
|
-
Requires-Dist: cryptography<
|
|
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.
|
|
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)
|
{kinde_python_sdk-2.1.1 → kinde_python_sdk-2.3.0}/kinde_fastapi/framework/fastapi_framework.py
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
from typing import Optional
|
|
2
|
-
from fastapi import FastAPI, Request
|
|
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(
|
|
123
|
-
if not self._oauth.is_authenticated(
|
|
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(
|
|
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
|
-
|
|
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(
|
|
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(
|
|
235
|
+
async def get_user():
|
|
229
236
|
"""Get the current user's information."""
|
|
230
|
-
if not self._oauth.is_authenticated(
|
|
237
|
+
if not self._oauth.is_authenticated():
|
|
231
238
|
return RedirectResponse(url=await self._oauth.login())
|
|
232
|
-
return self._oauth.get_user_info(
|
|
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,
|
|
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
|
|
12
|
-
|
|
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
|
-
|
|
37
|
-
|
|
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
|
-
|
|
41
|
-
|
|
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
|
-
|
|
133
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
239
|
-
|
|
240
|
-
|
|
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(
|
|
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.
|
|
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
|
|
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
|
|
28
|
+
Requires-Dist: certifi>=2026.1.4
|
|
28
29
|
Requires-Dist: PyYAML<7.0.0,>=6.0.1
|
|
29
|
-
Requires-Dist: cryptography<
|
|
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.
|
|
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.
|