kinde-python-sdk 1.2.9__py3-none-any.whl → 2.0.0b2__py3-none-any.whl
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_fastapi/__init__.py +10 -0
- kinde_flask/__init__.py +10 -0
- kinde_python_sdk-2.0.0b2.dist-info/METADATA +557 -0
- kinde_python_sdk-2.0.0b2.dist-info/RECORD +8 -0
- {kinde_python_sdk-1.2.9.dist-info → kinde_python_sdk-2.0.0b2.dist-info}/WHEEL +1 -1
- kinde_python_sdk-2.0.0b2.dist-info/top_level.txt +3 -0
- kinde_sdk/__init__.py +18 -25
- kinde_python_sdk-1.2.9.dist-info/METADATA +0 -48
- kinde_python_sdk-1.2.9.dist-info/RECORD +0 -589
- kinde_python_sdk-1.2.9.dist-info/top_level.txt +0 -1
- kinde_sdk/api_client.py +0 -1500
- kinde_sdk/apis/__init__.py +0 -3
- kinde_sdk/apis/path_to_api.py +0 -200
- kinde_sdk/apis/paths/__init__.py +0 -3
- kinde_sdk/apis/paths/api_v1_apis.py +0 -9
- kinde_sdk/apis/paths/api_v1_apis_api_id.py +0 -9
- kinde_sdk/apis/paths/api_v1_apis_api_id_applications.py +0 -7
- kinde_sdk/apis/paths/api_v1_applications.py +0 -9
- kinde_sdk/apis/paths/api_v1_applications_app_id_auth_logout_urls.py +0 -13
- kinde_sdk/apis/paths/api_v1_applications_app_id_auth_redirect_urls.py +0 -13
- kinde_sdk/apis/paths/api_v1_applications_application_id.py +0 -11
- kinde_sdk/apis/paths/api_v1_applications_application_id_connections.py +0 -7
- kinde_sdk/apis/paths/api_v1_applications_application_id_connections_connection_id.py +0 -9
- kinde_sdk/apis/paths/api_v1_business.py +0 -9
- kinde_sdk/apis/paths/api_v1_connected_apps_auth_url.py +0 -7
- kinde_sdk/apis/paths/api_v1_connected_apps_revoke.py +0 -7
- kinde_sdk/apis/paths/api_v1_connected_apps_token.py +0 -7
- kinde_sdk/apis/paths/api_v1_connections.py +0 -9
- kinde_sdk/apis/paths/api_v1_connections_connection_id.py +0 -11
- kinde_sdk/apis/paths/api_v1_environment_feature_flags.py +0 -9
- kinde_sdk/apis/paths/api_v1_environment_feature_flags_feature_flag_key.py +0 -9
- kinde_sdk/apis/paths/api_v1_event_types.py +0 -7
- kinde_sdk/apis/paths/api_v1_events_event_id.py +0 -7
- kinde_sdk/apis/paths/api_v1_feature_flags.py +0 -7
- kinde_sdk/apis/paths/api_v1_feature_flags_feature_flag_key.py +0 -9
- kinde_sdk/apis/paths/api_v1_industries.py +0 -7
- kinde_sdk/apis/paths/api_v1_organization.py +0 -9
- kinde_sdk/apis/paths/api_v1_organization_org_code.py +0 -9
- kinde_sdk/apis/paths/api_v1_organization_org_code_handle.py +0 -7
- kinde_sdk/apis/paths/api_v1_organizations.py +0 -7
- kinde_sdk/apis/paths/api_v1_organizations_org_code_feature_flags.py +0 -9
- kinde_sdk/apis/paths/api_v1_organizations_org_code_feature_flags_feature_flag_key.py +0 -9
- kinde_sdk/apis/paths/api_v1_organizations_org_code_properties.py +0 -9
- kinde_sdk/apis/paths/api_v1_organizations_org_code_properties_property_key.py +0 -7
- kinde_sdk/apis/paths/api_v1_organizations_org_code_users.py +0 -11
- kinde_sdk/apis/paths/api_v1_organizations_org_code_users_user_id.py +0 -7
- kinde_sdk/apis/paths/api_v1_organizations_org_code_users_user_id_permissions.py +0 -9
- kinde_sdk/apis/paths/api_v1_organizations_org_code_users_user_id_permissions_permission_id.py +0 -7
- kinde_sdk/apis/paths/api_v1_organizations_org_code_users_user_id_roles.py +0 -9
- kinde_sdk/apis/paths/api_v1_organizations_org_code_users_user_id_roles_role_id.py +0 -7
- kinde_sdk/apis/paths/api_v1_permissions.py +0 -9
- kinde_sdk/apis/paths/api_v1_permissions_permission_id.py +0 -9
- kinde_sdk/apis/paths/api_v1_properties.py +0 -9
- kinde_sdk/apis/paths/api_v1_properties_property_id.py +0 -9
- kinde_sdk/apis/paths/api_v1_property_categories.py +0 -9
- kinde_sdk/apis/paths/api_v1_property_categories_category_id.py +0 -7
- kinde_sdk/apis/paths/api_v1_roles.py +0 -9
- kinde_sdk/apis/paths/api_v1_roles_role_id.py +0 -9
- kinde_sdk/apis/paths/api_v1_roles_role_id_permissions.py +0 -9
- kinde_sdk/apis/paths/api_v1_roles_role_id_permissions_permission_id.py +0 -7
- kinde_sdk/apis/paths/api_v1_subscribers.py +0 -9
- kinde_sdk/apis/paths/api_v1_subscribers_subscriber_id.py +0 -7
- kinde_sdk/apis/paths/api_v1_timezones.py +0 -7
- kinde_sdk/apis/paths/api_v1_user.py +0 -13
- kinde_sdk/apis/paths/api_v1_users.py +0 -7
- kinde_sdk/apis/paths/api_v1_users_user_id_feature_flags_feature_flag_key.py +0 -7
- kinde_sdk/apis/paths/api_v1_users_user_id_password.py +0 -7
- kinde_sdk/apis/paths/api_v1_users_user_id_properties.py +0 -9
- kinde_sdk/apis/paths/api_v1_users_user_id_properties_property_key.py +0 -7
- kinde_sdk/apis/paths/api_v1_users_user_id_refresh_claims.py +0 -7
- kinde_sdk/apis/paths/api_v1_webhooks.py +0 -11
- kinde_sdk/apis/paths/api_v1_webhooks_webhook_id.py +0 -7
- kinde_sdk/apis/paths/oauth2_introspect.py +0 -7
- kinde_sdk/apis/paths/oauth2_revoke.py +0 -7
- kinde_sdk/apis/paths/oauth2_user_profile.py +0 -7
- kinde_sdk/apis/paths/oauth2_v2_user_profile.py +0 -7
- kinde_sdk/apis/tag_to_api.py +0 -71
- kinde_sdk/apis/tags/__init__.py +0 -27
- kinde_sdk/apis/tags/apis_api.py +0 -32
- kinde_sdk/apis/tags/applications_api.py +0 -38
- kinde_sdk/apis/tags/business_api.py +0 -26
- kinde_sdk/apis/tags/callbacks_api.py +0 -38
- kinde_sdk/apis/tags/connected_apps_api.py +0 -28
- kinde_sdk/apis/tags/connections_api.py +0 -32
- kinde_sdk/apis/tags/environments_api.py +0 -30
- kinde_sdk/apis/tags/feature_flags_api.py +0 -28
- kinde_sdk/apis/tags/industries_api.py +0 -24
- kinde_sdk/apis/tags/o_auth_api.py +0 -30
- kinde_sdk/apis/tags/organizations_api.py +0 -68
- kinde_sdk/apis/tags/permissions_api.py +0 -30
- kinde_sdk/apis/tags/properties_api.py +0 -30
- kinde_sdk/apis/tags/property_categories_api.py +0 -28
- kinde_sdk/apis/tags/roles_api.py +0 -36
- kinde_sdk/apis/tags/subscribers_api.py +0 -28
- kinde_sdk/apis/tags/timezones_api.py +0 -24
- kinde_sdk/apis/tags/users_api.py +0 -44
- kinde_sdk/apis/tags/webhooks_api.py +0 -34
- kinde_sdk/configuration.py +0 -438
- kinde_sdk/exceptions.py +0 -164
- kinde_sdk/kinde_api_client.py +0 -479
- kinde_sdk/model/__init__.py +0 -5
- kinde_sdk/model/add_organization_users_response.py +0 -121
- kinde_sdk/model/add_organization_users_response.pyi +0 -121
- kinde_sdk/model/api.py +0 -230
- kinde_sdk/model/api.pyi +0 -230
- kinde_sdk/model/api_result.py +0 -79
- kinde_sdk/model/api_result.pyi +0 -79
- kinde_sdk/model/apis.py +0 -109
- kinde_sdk/model/apis.pyi +0 -109
- kinde_sdk/model/applications.py +0 -99
- kinde_sdk/model/applications.pyi +0 -99
- kinde_sdk/model/category.py +0 -89
- kinde_sdk/model/category.pyi +0 -89
- kinde_sdk/model/connected_apps_access_token.py +0 -89
- kinde_sdk/model/connected_apps_access_token.pyi +0 -89
- kinde_sdk/model/connected_apps_auth_url.py +0 -89
- kinde_sdk/model/connected_apps_auth_url.pyi +0 -89
- kinde_sdk/model/connection.py +0 -109
- kinde_sdk/model/connection.pyi +0 -109
- kinde_sdk/model/create_application_response.py +0 -168
- kinde_sdk/model/create_application_response.pyi +0 -168
- kinde_sdk/model/create_category_response.py +0 -148
- kinde_sdk/model/create_category_response.pyi +0 -148
- kinde_sdk/model/create_connection_response.py +0 -148
- kinde_sdk/model/create_connection_response.pyi +0 -148
- kinde_sdk/model/create_organization_response.py +0 -148
- kinde_sdk/model/create_organization_response.pyi +0 -148
- kinde_sdk/model/create_property_response.py +0 -146
- kinde_sdk/model/create_property_response.pyi +0 -146
- kinde_sdk/model/create_subscriber_success_response.py +0 -128
- kinde_sdk/model/create_subscriber_success_response.pyi +0 -128
- kinde_sdk/model/create_user_response.py +0 -126
- kinde_sdk/model/create_user_response.pyi +0 -126
- kinde_sdk/model/create_webhook_response.py +0 -158
- kinde_sdk/model/create_webhook_response.pyi +0 -158
- kinde_sdk/model/delete_webhook_response.py +0 -89
- kinde_sdk/model/delete_webhook_response.pyi +0 -89
- kinde_sdk/model/error.py +0 -89
- kinde_sdk/model/error.pyi +0 -89
- kinde_sdk/model/error_response.py +0 -106
- kinde_sdk/model/error_response.pyi +0 -106
- kinde_sdk/model/event_type.py +0 -119
- kinde_sdk/model/event_type.pyi +0 -119
- kinde_sdk/model/get_application_response.py +0 -188
- kinde_sdk/model/get_application_response.pyi +0 -188
- kinde_sdk/model/get_applications_response.py +0 -136
- kinde_sdk/model/get_applications_response.pyi +0 -136
- kinde_sdk/model/get_categories_response.py +0 -136
- kinde_sdk/model/get_categories_response.pyi +0 -136
- kinde_sdk/model/get_connections_response.py +0 -136
- kinde_sdk/model/get_connections_response.pyi +0 -136
- kinde_sdk/model/get_environment_feature_flags_response.py +0 -221
- kinde_sdk/model/get_environment_feature_flags_response.pyi +0 -213
- kinde_sdk/model/get_event_response.py +0 -188
- kinde_sdk/model/get_event_response.pyi +0 -188
- kinde_sdk/model/get_event_types_response.py +0 -126
- kinde_sdk/model/get_event_types_response.pyi +0 -126
- kinde_sdk/model/get_organization_feature_flags_response.py +0 -211
- kinde_sdk/model/get_organization_feature_flags_response.pyi +0 -203
- kinde_sdk/model/get_organization_users_response.py +0 -136
- kinde_sdk/model/get_organization_users_response.pyi +0 -136
- kinde_sdk/model/get_organizations_response.py +0 -136
- kinde_sdk/model/get_organizations_response.pyi +0 -136
- kinde_sdk/model/get_organizations_user_permissions_response.py +0 -126
- kinde_sdk/model/get_organizations_user_permissions_response.pyi +0 -126
- kinde_sdk/model/get_organizations_user_roles_response.py +0 -136
- kinde_sdk/model/get_organizations_user_roles_response.pyi +0 -136
- kinde_sdk/model/get_permissions_response.py +0 -136
- kinde_sdk/model/get_permissions_response.pyi +0 -136
- kinde_sdk/model/get_properties_response.py +0 -136
- kinde_sdk/model/get_properties_response.pyi +0 -136
- kinde_sdk/model/get_property_values_response.py +0 -136
- kinde_sdk/model/get_property_values_response.pyi +0 -136
- kinde_sdk/model/get_redirect_callback_urls_response.py +0 -106
- kinde_sdk/model/get_redirect_callback_urls_response.pyi +0 -106
- kinde_sdk/model/get_roles_response.py +0 -136
- kinde_sdk/model/get_roles_response.pyi +0 -136
- kinde_sdk/model/get_subscriber_response.py +0 -126
- kinde_sdk/model/get_subscriber_response.pyi +0 -126
- kinde_sdk/model/get_subscribers_response.py +0 -136
- kinde_sdk/model/get_subscribers_response.pyi +0 -136
- kinde_sdk/model/get_webhooks_response.py +0 -126
- kinde_sdk/model/get_webhooks_response.pyi +0 -126
- kinde_sdk/model/logout_redirect_urls.py +0 -101
- kinde_sdk/model/logout_redirect_urls.pyi +0 -101
- kinde_sdk/model/model_property.py +0 -129
- kinde_sdk/model/model_property.pyi +0 -129
- kinde_sdk/model/organization.py +0 -109
- kinde_sdk/model/organization.pyi +0 -109
- kinde_sdk/model/organization_user.py +0 -161
- kinde_sdk/model/organization_user.pyi +0 -161
- kinde_sdk/model/organization_user_permission.py +0 -200
- kinde_sdk/model/organization_user_permission.pyi +0 -200
- kinde_sdk/model/organization_user_role.py +0 -99
- kinde_sdk/model/organization_user_role.pyi +0 -99
- kinde_sdk/model/organization_user_role_permissions.py +0 -148
- kinde_sdk/model/organization_user_role_permissions.pyi +0 -148
- kinde_sdk/model/organization_users.py +0 -57
- kinde_sdk/model/organization_users.pyi +0 -57
- kinde_sdk/model/permissions.py +0 -109
- kinde_sdk/model/permissions.pyi +0 -109
- kinde_sdk/model/property_value.py +0 -119
- kinde_sdk/model/property_value.pyi +0 -119
- kinde_sdk/model/redirect_callback_urls.py +0 -101
- kinde_sdk/model/redirect_callback_urls.pyi +0 -101
- kinde_sdk/model/role.py +0 -109
- kinde_sdk/model/role.pyi +0 -109
- kinde_sdk/model/roles.py +0 -109
- kinde_sdk/model/roles.pyi +0 -109
- kinde_sdk/model/roles_permission_response.py +0 -131
- kinde_sdk/model/roles_permission_response.pyi +0 -131
- kinde_sdk/model/subscriber.py +0 -109
- kinde_sdk/model/subscriber.pyi +0 -109
- kinde_sdk/model/subscribers_subscriber.py +0 -119
- kinde_sdk/model/subscribers_subscriber.pyi +0 -119
- kinde_sdk/model/success_response.py +0 -89
- kinde_sdk/model/success_response.pyi +0 -89
- kinde_sdk/model/token_error_response.py +0 -89
- kinde_sdk/model/token_error_response.pyi +0 -89
- kinde_sdk/model/token_introspect.py +0 -141
- kinde_sdk/model/token_introspect.pyi +0 -141
- kinde_sdk/model/update_organization_users_response.py +0 -175
- kinde_sdk/model/update_organization_users_response.pyi +0 -175
- kinde_sdk/model/update_role_permissions_response.py +0 -153
- kinde_sdk/model/update_role_permissions_response.pyi +0 -153
- kinde_sdk/model/update_user_response.py +0 -139
- kinde_sdk/model/update_user_response.pyi +0 -139
- kinde_sdk/model/update_webhook_response.py +0 -148
- kinde_sdk/model/update_webhook_response.pyi +0 -148
- kinde_sdk/model/user.py +0 -388
- kinde_sdk/model/user.pyi +0 -388
- kinde_sdk/model/user_identity.py +0 -138
- kinde_sdk/model/user_identity.pyi +0 -138
- kinde_sdk/model/user_profile.py +0 -158
- kinde_sdk/model/user_profile.pyi +0 -158
- kinde_sdk/model/user_profile_v2.py +0 -178
- kinde_sdk/model/user_profile_v2.pyi +0 -178
- kinde_sdk/model/users.py +0 -59
- kinde_sdk/model/users.pyi +0 -59
- kinde_sdk/model/users_response.py +0 -489
- kinde_sdk/model/users_response.pyi +0 -489
- kinde_sdk/model/webhook.py +0 -151
- kinde_sdk/model/webhook.pyi +0 -151
- kinde_sdk/models/__init__.py +0 -84
- kinde_sdk/paths/__init__.py +0 -70
- kinde_sdk/paths/api_v1_apis/__init__.py +0 -7
- kinde_sdk/paths/api_v1_apis/get.py +0 -310
- kinde_sdk/paths/api_v1_apis/get.pyi +0 -299
- kinde_sdk/paths/api_v1_apis/post.py +0 -470
- kinde_sdk/paths/api_v1_apis/post.pyi +0 -459
- kinde_sdk/paths/api_v1_apis_api_id/__init__.py +0 -7
- kinde_sdk/paths/api_v1_apis_api_id/delete.py +0 -364
- kinde_sdk/paths/api_v1_apis_api_id/delete.pyi +0 -353
- kinde_sdk/paths/api_v1_apis_api_id/get.py +0 -364
- kinde_sdk/paths/api_v1_apis_api_id/get.pyi +0 -353
- kinde_sdk/paths/api_v1_apis_api_id_applications/__init__.py +0 -7
- kinde_sdk/paths/api_v1_apis_api_id_applications/patch.py +0 -601
- kinde_sdk/paths/api_v1_apis_api_id_applications/patch.pyi +0 -590
- kinde_sdk/paths/api_v1_applications/__init__.py +0 -7
- kinde_sdk/paths/api_v1_applications/get.py +0 -419
- kinde_sdk/paths/api_v1_applications/get.pyi +0 -409
- kinde_sdk/paths/api_v1_applications/post.py +0 -474
- kinde_sdk/paths/api_v1_applications/post.pyi +0 -455
- kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/__init__.py +0 -7
- kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/delete.py +0 -415
- kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/delete.pyi +0 -404
- kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/get.py +0 -353
- kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/get.pyi +0 -342
- kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/post.py +0 -519
- kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/post.pyi +0 -508
- kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/put.py +0 -512
- kinde_sdk/paths/api_v1_applications_app_id_auth_logout_urls/put.pyi +0 -501
- kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/__init__.py +0 -7
- kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/delete.py +0 -415
- kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/delete.pyi +0 -404
- kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/get.py +0 -353
- kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/get.pyi +0 -342
- kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/post.py +0 -519
- kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/post.pyi +0 -508
- kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/put.py +0 -512
- kinde_sdk/paths/api_v1_applications_app_id_auth_redirect_urls/put.pyi +0 -501
- kinde_sdk/paths/api_v1_applications_application_id/__init__.py +0 -7
- kinde_sdk/paths/api_v1_applications_application_id/delete.py +0 -360
- kinde_sdk/paths/api_v1_applications_application_id/delete.pyi +0 -349
- kinde_sdk/paths/api_v1_applications_application_id/get.py +0 -353
- kinde_sdk/paths/api_v1_applications_application_id/get.pyi +0 -342
- kinde_sdk/paths/api_v1_applications_application_id/patch.py +0 -558
- kinde_sdk/paths/api_v1_applications_application_id/patch.pyi +0 -547
- kinde_sdk/paths/api_v1_applications_application_id_connections/__init__.py +0 -7
- kinde_sdk/paths/api_v1_applications_application_id_connections/get.py +0 -353
- kinde_sdk/paths/api_v1_applications_application_id_connections/get.pyi +0 -342
- kinde_sdk/paths/api_v1_applications_application_id_connections_connection_id/__init__.py +0 -7
- kinde_sdk/paths/api_v1_applications_application_id_connections_connection_id/delete.py +0 -369
- kinde_sdk/paths/api_v1_applications_application_id_connections_connection_id/delete.pyi +0 -358
- kinde_sdk/paths/api_v1_applications_application_id_connections_connection_id/post.py +0 -350
- kinde_sdk/paths/api_v1_applications_application_id_connections_connection_id/post.pyi +0 -339
- kinde_sdk/paths/api_v1_business/__init__.py +0 -7
- kinde_sdk/paths/api_v1_business/get.py +0 -446
- kinde_sdk/paths/api_v1_business/get.pyi +0 -436
- kinde_sdk/paths/api_v1_business/patch.py +0 -541
- kinde_sdk/paths/api_v1_business/patch.pyi +0 -530
- kinde_sdk/paths/api_v1_connected_apps_auth_url/__init__.py +0 -7
- kinde_sdk/paths/api_v1_connected_apps_auth_url/get.py +0 -405
- kinde_sdk/paths/api_v1_connected_apps_auth_url/get.pyi +0 -393
- kinde_sdk/paths/api_v1_connected_apps_revoke/__init__.py +0 -7
- kinde_sdk/paths/api_v1_connected_apps_revoke/post.py +0 -378
- kinde_sdk/paths/api_v1_connected_apps_revoke/post.pyi +0 -366
- kinde_sdk/paths/api_v1_connected_apps_token/__init__.py +0 -7
- kinde_sdk/paths/api_v1_connected_apps_token/get.py +0 -365
- kinde_sdk/paths/api_v1_connected_apps_token/get.pyi +0 -354
- kinde_sdk/paths/api_v1_connections/__init__.py +0 -7
- kinde_sdk/paths/api_v1_connections/get.py +0 -439
- kinde_sdk/paths/api_v1_connections/get.pyi +0 -428
- kinde_sdk/paths/api_v1_connections/post.py +0 -613
- kinde_sdk/paths/api_v1_connections/post.pyi +0 -579
- kinde_sdk/paths/api_v1_connections_connection_id/__init__.py +0 -7
- kinde_sdk/paths/api_v1_connections_connection_id/delete.py +0 -360
- kinde_sdk/paths/api_v1_connections_connection_id/delete.pyi +0 -349
- kinde_sdk/paths/api_v1_connections_connection_id/get.py +0 -353
- kinde_sdk/paths/api_v1_connections_connection_id/get.pyi +0 -342
- kinde_sdk/paths/api_v1_connections_connection_id/patch.py +0 -551
- kinde_sdk/paths/api_v1_connections_connection_id/patch.pyi +0 -540
- kinde_sdk/paths/api_v1_environment_feature_flags/__init__.py +0 -7
- kinde_sdk/paths/api_v1_environment_feature_flags/delete.py +0 -299
- kinde_sdk/paths/api_v1_environment_feature_flags/delete.pyi +0 -288
- kinde_sdk/paths/api_v1_environment_feature_flags/get.py +0 -299
- kinde_sdk/paths/api_v1_environment_feature_flags/get.pyi +0 -288
- kinde_sdk/paths/api_v1_environment_feature_flags_feature_flag_key/__init__.py +0 -7
- kinde_sdk/paths/api_v1_environment_feature_flags_feature_flag_key/delete.py +0 -353
- kinde_sdk/paths/api_v1_environment_feature_flags_feature_flag_key/delete.pyi +0 -342
- kinde_sdk/paths/api_v1_environment_feature_flags_feature_flag_key/patch.py +0 -504
- kinde_sdk/paths/api_v1_environment_feature_flags_feature_flag_key/patch.pyi +0 -493
- kinde_sdk/paths/api_v1_event_types/__init__.py +0 -7
- kinde_sdk/paths/api_v1_event_types/get.py +0 -310
- kinde_sdk/paths/api_v1_event_types/get.pyi +0 -299
- kinde_sdk/paths/api_v1_events_event_id/__init__.py +0 -7
- kinde_sdk/paths/api_v1_events_event_id/get.py +0 -364
- kinde_sdk/paths/api_v1_events_event_id/get.pyi +0 -353
- kinde_sdk/paths/api_v1_feature_flags/__init__.py +0 -7
- kinde_sdk/paths/api_v1_feature_flags/post.py +0 -553
- kinde_sdk/paths/api_v1_feature_flags/post.pyi +0 -526
- kinde_sdk/paths/api_v1_feature_flags_feature_flag_key/__init__.py +0 -7
- kinde_sdk/paths/api_v1_feature_flags_feature_flag_key/delete.py +0 -353
- kinde_sdk/paths/api_v1_feature_flags_feature_flag_key/delete.pyi +0 -342
- kinde_sdk/paths/api_v1_feature_flags_feature_flag_key/put.py +0 -493
- kinde_sdk/paths/api_v1_feature_flags_feature_flag_key/put.pyi +0 -467
- kinde_sdk/paths/api_v1_industries/__init__.py +0 -7
- kinde_sdk/paths/api_v1_industries/get.py +0 -332
- kinde_sdk/paths/api_v1_industries/get.pyi +0 -322
- kinde_sdk/paths/api_v1_organization/__init__.py +0 -7
- kinde_sdk/paths/api_v1_organization/get.py +0 -353
- kinde_sdk/paths/api_v1_organization/get.pyi +0 -342
- kinde_sdk/paths/api_v1_organization/post.py +0 -639
- kinde_sdk/paths/api_v1_organization/post.pyi +0 -619
- kinde_sdk/paths/api_v1_organization_org_code/__init__.py +0 -7
- kinde_sdk/paths/api_v1_organization_org_code/delete.py +0 -341
- kinde_sdk/paths/api_v1_organization_org_code/delete.pyi +0 -330
- kinde_sdk/paths/api_v1_organization_org_code/patch.py +0 -616
- kinde_sdk/paths/api_v1_organization_org_code/patch.pyi +0 -605
- kinde_sdk/paths/api_v1_organization_org_code_handle/__init__.py +0 -7
- kinde_sdk/paths/api_v1_organization_org_code_handle/delete.py +0 -353
- kinde_sdk/paths/api_v1_organization_org_code_handle/delete.pyi +0 -342
- kinde_sdk/paths/api_v1_organizations/__init__.py +0 -7
- kinde_sdk/paths/api_v1_organizations/get.py +0 -429
- kinde_sdk/paths/api_v1_organizations/get.pyi +0 -419
- kinde_sdk/paths/api_v1_organizations_org_code_feature_flags/__init__.py +0 -7
- kinde_sdk/paths/api_v1_organizations_org_code_feature_flags/delete.py +0 -353
- kinde_sdk/paths/api_v1_organizations_org_code_feature_flags/delete.pyi +0 -342
- kinde_sdk/paths/api_v1_organizations_org_code_feature_flags/get.py +0 -353
- kinde_sdk/paths/api_v1_organizations_org_code_feature_flags/get.pyi +0 -342
- kinde_sdk/paths/api_v1_organizations_org_code_feature_flags_feature_flag_key/__init__.py +0 -7
- kinde_sdk/paths/api_v1_organizations_org_code_feature_flags_feature_flag_key/delete.py +0 -362
- kinde_sdk/paths/api_v1_organizations_org_code_feature_flags_feature_flag_key/delete.pyi +0 -351
- kinde_sdk/paths/api_v1_organizations_org_code_feature_flags_feature_flag_key/patch.py +0 -417
- kinde_sdk/paths/api_v1_organizations_org_code_feature_flags_feature_flag_key/patch.pyi +0 -406
- kinde_sdk/paths/api_v1_organizations_org_code_properties/__init__.py +0 -7
- kinde_sdk/paths/api_v1_organizations_org_code_properties/get.py +0 -353
- kinde_sdk/paths/api_v1_organizations_org_code_properties/get.pyi +0 -342
- kinde_sdk/paths/api_v1_organizations_org_code_properties/patch.py +0 -504
- kinde_sdk/paths/api_v1_organizations_org_code_properties/patch.pyi +0 -493
- kinde_sdk/paths/api_v1_organizations_org_code_properties_property_key/__init__.py +0 -7
- kinde_sdk/paths/api_v1_organizations_org_code_properties_property_key/put.py +0 -417
- kinde_sdk/paths/api_v1_organizations_org_code_properties_property_key/put.pyi +0 -406
- kinde_sdk/paths/api_v1_organizations_org_code_users/__init__.py +0 -7
- kinde_sdk/paths/api_v1_organizations_org_code_users/get.py +0 -536
- kinde_sdk/paths/api_v1_organizations_org_code_users/get.pyi +0 -525
- kinde_sdk/paths/api_v1_organizations_org_code_users/patch.py +0 -641
- kinde_sdk/paths/api_v1_organizations_org_code_users/patch.pyi +0 -630
- kinde_sdk/paths/api_v1_organizations_org_code_users/post.py +0 -653
- kinde_sdk/paths/api_v1_organizations_org_code_users/post.pyi +0 -641
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id/__init__.py +0 -7
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id/delete.py +0 -362
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id/delete.pyi +0 -351
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions/__init__.py +0 -7
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions/get.py +0 -410
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions/get.pyi +0 -400
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions/post.py +0 -483
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions/post.pyi +0 -473
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions_permission_id/__init__.py +0 -7
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions_permission_id/delete.py +0 -371
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_permissions_permission_id/delete.pyi +0 -360
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles/__init__.py +0 -7
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles/get.py +0 -337
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles/get.pyi +0 -327
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles/post.py +0 -483
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles/post.pyi +0 -473
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles_role_id/__init__.py +0 -7
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles_role_id/delete.py +0 -371
- kinde_sdk/paths/api_v1_organizations_org_code_users_user_id_roles_role_id/delete.pyi +0 -360
- kinde_sdk/paths/api_v1_permissions/__init__.py +0 -7
- kinde_sdk/paths/api_v1_permissions/get.py +0 -441
- kinde_sdk/paths/api_v1_permissions/get.pyi +0 -431
- kinde_sdk/paths/api_v1_permissions/post.py +0 -457
- kinde_sdk/paths/api_v1_permissions/post.pyi +0 -446
- kinde_sdk/paths/api_v1_permissions_permission_id/__init__.py +0 -7
- kinde_sdk/paths/api_v1_permissions_permission_id/delete.py +0 -353
- kinde_sdk/paths/api_v1_permissions_permission_id/delete.pyi +0 -342
- kinde_sdk/paths/api_v1_permissions_permission_id/patch.py +0 -514
- kinde_sdk/paths/api_v1_permissions_permission_id/patch.pyi +0 -503
- kinde_sdk/paths/api_v1_properties/__init__.py +0 -7
- kinde_sdk/paths/api_v1_properties/get.py +0 -483
- kinde_sdk/paths/api_v1_properties/get.pyi +0 -472
- kinde_sdk/paths/api_v1_properties/post.py +0 -557
- kinde_sdk/paths/api_v1_properties/post.pyi +0 -532
- kinde_sdk/paths/api_v1_properties_property_id/__init__.py +0 -7
- kinde_sdk/paths/api_v1_properties_property_id/delete.py +0 -353
- kinde_sdk/paths/api_v1_properties_property_id/delete.pyi +0 -342
- kinde_sdk/paths/api_v1_properties_property_id/put.py +0 -538
- kinde_sdk/paths/api_v1_properties_property_id/put.pyi +0 -527
- kinde_sdk/paths/api_v1_property_categories/__init__.py +0 -7
- kinde_sdk/paths/api_v1_property_categories/get.py +0 -483
- kinde_sdk/paths/api_v1_property_categories/get.pyi +0 -472
- kinde_sdk/paths/api_v1_property_categories/post.py +0 -479
- kinde_sdk/paths/api_v1_property_categories/post.pyi +0 -461
- kinde_sdk/paths/api_v1_property_categories_category_id/__init__.py +0 -7
- kinde_sdk/paths/api_v1_property_categories_category_id/put.py +0 -499
- kinde_sdk/paths/api_v1_property_categories_category_id/put.pyi +0 -488
- kinde_sdk/paths/api_v1_roles/__init__.py +0 -7
- kinde_sdk/paths/api_v1_roles/get.py +0 -441
- kinde_sdk/paths/api_v1_roles/get.pyi +0 -431
- kinde_sdk/paths/api_v1_roles/post.py +0 -467
- kinde_sdk/paths/api_v1_roles/post.pyi +0 -457
- kinde_sdk/paths/api_v1_roles_role_id/__init__.py +0 -7
- kinde_sdk/paths/api_v1_roles_role_id/delete.py +0 -353
- kinde_sdk/paths/api_v1_roles_role_id/delete.pyi +0 -342
- kinde_sdk/paths/api_v1_roles_role_id/patch.py +0 -531
- kinde_sdk/paths/api_v1_roles_role_id/patch.pyi +0 -520
- kinde_sdk/paths/api_v1_roles_role_id_permissions/__init__.py +0 -7
- kinde_sdk/paths/api_v1_roles_role_id_permissions/get.py +0 -508
- kinde_sdk/paths/api_v1_roles_role_id_permissions/get.pyi +0 -497
- kinde_sdk/paths/api_v1_roles_role_id_permissions/patch.py +0 -567
- kinde_sdk/paths/api_v1_roles_role_id_permissions/patch.pyi +0 -557
- kinde_sdk/paths/api_v1_roles_role_id_permissions_permission_id/__init__.py +0 -7
- kinde_sdk/paths/api_v1_roles_role_id_permissions_permission_id/delete.py +0 -362
- kinde_sdk/paths/api_v1_roles_role_id_permissions_permission_id/delete.pyi +0 -351
- kinde_sdk/paths/api_v1_subscribers/__init__.py +0 -7
- kinde_sdk/paths/api_v1_subscribers/get.py +0 -432
- kinde_sdk/paths/api_v1_subscribers/get.pyi +0 -422
- kinde_sdk/paths/api_v1_subscribers/post.py +0 -410
- kinde_sdk/paths/api_v1_subscribers/post.pyi +0 -399
- kinde_sdk/paths/api_v1_subscribers_subscriber_id/__init__.py +0 -7
- kinde_sdk/paths/api_v1_subscribers_subscriber_id/get.py +0 -351
- kinde_sdk/paths/api_v1_subscribers_subscriber_id/get.pyi +0 -340
- kinde_sdk/paths/api_v1_timezones/__init__.py +0 -7
- kinde_sdk/paths/api_v1_timezones/get.py +0 -332
- kinde_sdk/paths/api_v1_timezones/get.pyi +0 -322
- kinde_sdk/paths/api_v1_user/__init__.py +0 -7
- kinde_sdk/paths/api_v1_user/delete.py +0 -363
- kinde_sdk/paths/api_v1_user/delete.pyi +0 -352
- kinde_sdk/paths/api_v1_user/get.py +0 -382
- kinde_sdk/paths/api_v1_user/get.pyi +0 -371
- kinde_sdk/paths/api_v1_user/patch.py +0 -530
- kinde_sdk/paths/api_v1_user/patch.pyi +0 -519
- kinde_sdk/paths/api_v1_user/post.py +0 -693
- kinde_sdk/paths/api_v1_user/post.pyi +0 -674
- kinde_sdk/paths/api_v1_users/__init__.py +0 -7
- kinde_sdk/paths/api_v1_users/get.py +0 -487
- kinde_sdk/paths/api_v1_users/get.pyi +0 -477
- kinde_sdk/paths/api_v1_users_user_id_feature_flags_feature_flag_key/__init__.py +0 -7
- kinde_sdk/paths/api_v1_users_user_id_feature_flags_feature_flag_key/patch.py +0 -417
- kinde_sdk/paths/api_v1_users_user_id_feature_flags_feature_flag_key/patch.pyi +0 -406
- kinde_sdk/paths/api_v1_users_user_id_password/__init__.py +0 -7
- kinde_sdk/paths/api_v1_users_user_id_password/put.py +0 -594
- kinde_sdk/paths/api_v1_users_user_id_password/put.pyi +0 -567
- kinde_sdk/paths/api_v1_users_user_id_properties/__init__.py +0 -7
- kinde_sdk/paths/api_v1_users_user_id_properties/get.py +0 -353
- kinde_sdk/paths/api_v1_users_user_id_properties/get.pyi +0 -342
- kinde_sdk/paths/api_v1_users_user_id_properties/patch.py +0 -504
- kinde_sdk/paths/api_v1_users_user_id_properties/patch.pyi +0 -493
- kinde_sdk/paths/api_v1_users_user_id_properties_property_key/__init__.py +0 -7
- kinde_sdk/paths/api_v1_users_user_id_properties_property_key/put.py +0 -417
- kinde_sdk/paths/api_v1_users_user_id_properties_property_key/put.pyi +0 -406
- kinde_sdk/paths/api_v1_users_user_id_refresh_claims/__init__.py +0 -7
- kinde_sdk/paths/api_v1_users_user_id_refresh_claims/post.py +0 -364
- kinde_sdk/paths/api_v1_users_user_id_refresh_claims/post.pyi +0 -353
- kinde_sdk/paths/api_v1_webhooks/__init__.py +0 -7
- kinde_sdk/paths/api_v1_webhooks/get.py +0 -310
- kinde_sdk/paths/api_v1_webhooks/get.pyi +0 -299
- kinde_sdk/paths/api_v1_webhooks/patch.py +0 -514
- kinde_sdk/paths/api_v1_webhooks/patch.pyi +0 -503
- kinde_sdk/paths/api_v1_webhooks/post.py +0 -533
- kinde_sdk/paths/api_v1_webhooks/post.pyi +0 -522
- kinde_sdk/paths/api_v1_webhooks_webhook_id/__init__.py +0 -7
- kinde_sdk/paths/api_v1_webhooks_webhook_id/delete.py +0 -364
- kinde_sdk/paths/api_v1_webhooks_webhook_id/delete.pyi +0 -353
- kinde_sdk/paths/oauth2_introspect/__init__.py +0 -7
- kinde_sdk/paths/oauth2_introspect/post.py +0 -449
- kinde_sdk/paths/oauth2_introspect/post.pyi +0 -438
- kinde_sdk/paths/oauth2_revoke/__init__.py +0 -7
- kinde_sdk/paths/oauth2_revoke/post.py +0 -447
- kinde_sdk/paths/oauth2_revoke/post.pyi +0 -436
- kinde_sdk/paths/oauth2_user_profile/__init__.py +0 -7
- kinde_sdk/paths/oauth2_user_profile/get.py +0 -256
- kinde_sdk/paths/oauth2_user_profile/get.pyi +0 -247
- kinde_sdk/paths/oauth2_v2_user_profile/__init__.py +0 -7
- kinde_sdk/paths/oauth2_v2_user_profile/get.py +0 -269
- kinde_sdk/paths/oauth2_v2_user_profile/get.pyi +0 -259
- kinde_sdk/rest.py +0 -255
- kinde_sdk/schemas.py +0 -2476
- kinde_sdk/test/__init__.py +0 -0
- kinde_sdk/test/test_kinde_api_client.py +0 -293
- kinde_sdk/test/test_models/__init__.py +0 -0
- kinde_sdk/test/test_models/test_add_organization_users_response.py +0 -37
- kinde_sdk/test/test_models/test_api.py +0 -26
- kinde_sdk/test/test_models/test_api_result.py +0 -36
- kinde_sdk/test/test_models/test_apis.py +0 -26
- kinde_sdk/test/test_models/test_applications.py +0 -26
- kinde_sdk/test/test_models/test_category.py +0 -26
- kinde_sdk/test/test_models/test_connected_apps_access_token.py +0 -36
- kinde_sdk/test/test_models/test_connected_apps_auth_url.py +0 -37
- kinde_sdk/test/test_models/test_connection.py +0 -26
- kinde_sdk/test/test_models/test_create_application_response.py +0 -26
- kinde_sdk/test/test_models/test_create_category_response.py +0 -26
- kinde_sdk/test/test_models/test_create_connection_response.py +0 -26
- kinde_sdk/test/test_models/test_create_organization_response.py +0 -26
- kinde_sdk/test/test_models/test_create_property_response.py +0 -26
- kinde_sdk/test/test_models/test_create_subscriber_success_response.py +0 -26
- kinde_sdk/test/test_models/test_create_user_response.py +0 -37
- kinde_sdk/test/test_models/test_create_webhook_response.py +0 -26
- kinde_sdk/test/test_models/test_delete_webhook_response.py +0 -26
- kinde_sdk/test/test_models/test_error.py +0 -37
- kinde_sdk/test/test_models/test_error_response.py +0 -36
- kinde_sdk/test/test_models/test_event_type.py +0 -26
- kinde_sdk/test/test_models/test_get_application_response.py +0 -26
- kinde_sdk/test/test_models/test_get_applications_response.py +0 -26
- kinde_sdk/test/test_models/test_get_categories_response.py +0 -26
- kinde_sdk/test/test_models/test_get_connections_response.py +0 -26
- kinde_sdk/test/test_models/test_get_environment_feature_flags_response.py +0 -26
- kinde_sdk/test/test_models/test_get_event_response.py +0 -26
- kinde_sdk/test/test_models/test_get_event_types_response.py +0 -26
- kinde_sdk/test/test_models/test_get_organization_feature_flags_response.py +0 -26
- kinde_sdk/test/test_models/test_get_organization_users_response.py +0 -26
- kinde_sdk/test/test_models/test_get_organizations_response.py +0 -37
- kinde_sdk/test/test_models/test_get_organizations_user_permissions_response.py +0 -26
- kinde_sdk/test/test_models/test_get_organizations_user_roles_response.py +0 -26
- kinde_sdk/test/test_models/test_get_permissions_response.py +0 -26
- kinde_sdk/test/test_models/test_get_properties_response.py +0 -26
- kinde_sdk/test/test_models/test_get_property_values_response.py +0 -26
- kinde_sdk/test/test_models/test_get_redirect_callback_urls_response.py +0 -26
- kinde_sdk/test/test_models/test_get_roles_response.py +0 -26
- kinde_sdk/test/test_models/test_get_subscriber_response.py +0 -26
- kinde_sdk/test/test_models/test_get_subscribers_response.py +0 -26
- kinde_sdk/test/test_models/test_get_webhooks_response.py +0 -26
- kinde_sdk/test/test_models/test_logout_redirect_urls.py +0 -26
- kinde_sdk/test/test_models/test_model_property.py +0 -26
- kinde_sdk/test/test_models/test_organization.py +0 -37
- kinde_sdk/test/test_models/test_organization_user.py +0 -37
- kinde_sdk/test/test_models/test_organization_user_permission.py +0 -26
- kinde_sdk/test/test_models/test_organization_user_role.py +0 -26
- kinde_sdk/test/test_models/test_organization_user_role_permissions.py +0 -26
- kinde_sdk/test/test_models/test_organization_users.py +0 -27
- kinde_sdk/test/test_models/test_permissions.py +0 -26
- kinde_sdk/test/test_models/test_property_value.py +0 -26
- kinde_sdk/test/test_models/test_redirect_callback_urls.py +0 -26
- kinde_sdk/test/test_models/test_role.py +0 -26
- kinde_sdk/test/test_models/test_roles.py +0 -26
- kinde_sdk/test/test_models/test_roles_permission_response.py +0 -26
- kinde_sdk/test/test_models/test_subscriber.py +0 -26
- kinde_sdk/test/test_models/test_subscribers_subscriber.py +0 -26
- kinde_sdk/test/test_models/test_success_response.py +0 -36
- kinde_sdk/test/test_models/test_token_error_response.py +0 -26
- kinde_sdk/test/test_models/test_token_introspect.py +0 -26
- kinde_sdk/test/test_models/test_update_organization_users_response.py +0 -26
- kinde_sdk/test/test_models/test_update_role_permissions_response.py +0 -26
- kinde_sdk/test/test_models/test_update_user_response.py +0 -26
- kinde_sdk/test/test_models/test_update_webhook_response.py +0 -26
- kinde_sdk/test/test_models/test_user.py +0 -37
- kinde_sdk/test/test_models/test_user_identity.py +0 -37
- kinde_sdk/test/test_models/test_user_profile.py +0 -37
- kinde_sdk/test/test_models/test_user_profile_v2.py +0 -37
- kinde_sdk/test/test_models/test_users.py +0 -27
- kinde_sdk/test/test_models/test_users_response.py +0 -36
- kinde_sdk/test/test_models/test_webhook.py +0 -26
- {kinde_python_sdk-1.2.9.dist-info → kinde_python_sdk-2.0.0b2.dist-info/licenses}/LICENSE +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from .framework.fastapi_framework import FastAPIFramework
|
|
2
|
+
from kinde_sdk.core.framework.framework_factory import FrameworkFactory
|
|
3
|
+
from kinde_sdk.core.storage.storage_factory import StorageFactory
|
|
4
|
+
from .storage.fastapi_storage_factory import FastAPIStorageFactory
|
|
5
|
+
|
|
6
|
+
# Register the FastAPI framework
|
|
7
|
+
FrameworkFactory.register_framework("fastapi", FastAPIFramework)
|
|
8
|
+
StorageFactory.register_framework_factory("fastapi", FastAPIStorageFactory)
|
|
9
|
+
|
|
10
|
+
__all__ = ['FastAPIFramework']
|
kinde_flask/__init__.py
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from .framework.flask_framework import FlaskFramework
|
|
2
|
+
from kinde_sdk.core.framework.framework_factory import FrameworkFactory
|
|
3
|
+
from kinde_sdk.core.storage.storage_factory import StorageFactory
|
|
4
|
+
from .storage.flask_storage_factory import FlaskStorageFactory
|
|
5
|
+
|
|
6
|
+
# Register the Flask framework
|
|
7
|
+
FrameworkFactory.register_framework("flask", FlaskFramework)
|
|
8
|
+
StorageFactory.register_framework_factory("flask", FlaskStorageFactory)
|
|
9
|
+
|
|
10
|
+
__all__ = ['FlaskFramework']
|
|
@@ -0,0 +1,557 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: kinde-python-sdk
|
|
3
|
+
Version: 2.0.0b2
|
|
4
|
+
Summary: Connect your app to the Kinde platform
|
|
5
|
+
Author-email: Kinde Engineering <engineering@kinde.com>
|
|
6
|
+
Project-URL: Homepage, https://github.com/kinde-oss/kinde-python-sdk
|
|
7
|
+
Classifier: Development Status :: 4 - Beta
|
|
8
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
9
|
+
Classifier: Natural Language :: English
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Programming Language :: Python
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Requires-Python: >=3.9
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
License-File: LICENSE
|
|
20
|
+
Requires-Dist: urllib3<3.0,>=2.2.0
|
|
21
|
+
Requires-Dist: python-dateutil<3.0,>=2.9.0
|
|
22
|
+
Requires-Dist: Authlib<2.0,>=1.3.0
|
|
23
|
+
Requires-Dist: pyjwt<3.0,>=2.10.0
|
|
24
|
+
Requires-Dist: requests<3.0,>=2.32.0
|
|
25
|
+
Requires-Dist: typing-extensions<5.0,>=4.11.0
|
|
26
|
+
Requires-Dist: frozendict<3.0,>=2.4.3
|
|
27
|
+
Requires-Dist: certifi<2025.0.0,>=2024.2.2
|
|
28
|
+
Requires-Dist: PyYAML<7.0.0,>=6.0.1
|
|
29
|
+
Requires-Dist: cryptography<42.0.0,>=41.0.0
|
|
30
|
+
Requires-Dist: python-dotenv<2.0.0,>=1.0.0
|
|
31
|
+
Requires-Dist: itsdangerous<3.0.0,>=2.2.0
|
|
32
|
+
Requires-Dist: nest-asyncio<2.0.0,>=1.5.8
|
|
33
|
+
Requires-Dist: httpx<0.26.0,>=0.25.0
|
|
34
|
+
Provides-Extra: fastapi
|
|
35
|
+
Requires-Dist: fastapi<1.0.0,>=0.110.0; extra == "fastapi"
|
|
36
|
+
Requires-Dist: python-multipart<1.0.0,>=0.0.6; extra == "fastapi"
|
|
37
|
+
Requires-Dist: uvicorn<0.26.0,>=0.25.0; extra == "fastapi"
|
|
38
|
+
Provides-Extra: flask
|
|
39
|
+
Requires-Dist: flask<4.0.0,>=3.0.0; extra == "flask"
|
|
40
|
+
Dynamic: license-file
|
|
41
|
+
|
|
42
|
+
# Kinde Python SDK
|
|
43
|
+
|
|
44
|
+
The Kinde SDK for Python.
|
|
45
|
+
|
|
46
|
+
You can also use the [Python starter kit here](https://github.com/kinde-starter-kits/python-starter-kit).
|
|
47
|
+
|
|
48
|
+
[](https://makeapullrequest.com) [](https://kinde.com/docs/developer-tools) [](https://thekindecommunity.slack.com)
|
|
49
|
+
|
|
50
|
+
## Documentation
|
|
51
|
+
|
|
52
|
+
For details on integrating this SDK into your project, head over to the [Kinde docs](https://kinde.com/docs/) and see the [Python SDK](https://kinde.com/docs/developer-tools/python-sdk/) doc 👍🏼.
|
|
53
|
+
|
|
54
|
+
## Storage Usage Examples
|
|
55
|
+
|
|
56
|
+
### Basic Usage
|
|
57
|
+
```python
|
|
58
|
+
from kinde_sdk.auth import OAuth
|
|
59
|
+
from kinde_sdk.core.storage import StorageManager
|
|
60
|
+
|
|
61
|
+
# Basic initialization via OAuth
|
|
62
|
+
# This is the recommended way to initialize the storage system
|
|
63
|
+
# OAuth automatically initializes the StorageManager with the provided config
|
|
64
|
+
oauth = OAuth(
|
|
65
|
+
client_id="your_client_id",
|
|
66
|
+
client_secret="your_client_secret",
|
|
67
|
+
redirect_uri="your_redirect_uri"
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
# Direct access to the storage manager
|
|
71
|
+
# This is safe to use after OAuth initialization
|
|
72
|
+
storage_manager = StorageManager()
|
|
73
|
+
|
|
74
|
+
# Store authentication data
|
|
75
|
+
storage_manager.set("user_tokens", {
|
|
76
|
+
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
|
|
77
|
+
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
|
|
78
|
+
"expires_at": 1678901234
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
# Retrieve tokens
|
|
82
|
+
tokens = storage_manager.get("user_tokens")
|
|
83
|
+
if tokens:
|
|
84
|
+
access_token = tokens.get("access_token")
|
|
85
|
+
# Use the access token for API requests
|
|
86
|
+
|
|
87
|
+
# Delete tokens when logging out
|
|
88
|
+
storage_manager.delete("user_tokens")
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Using a Custom Storage Backend
|
|
92
|
+
```python
|
|
93
|
+
oauth = OAuth(
|
|
94
|
+
client_id="your_client_id",
|
|
95
|
+
storage_config={
|
|
96
|
+
"type": "local_storage",
|
|
97
|
+
"options": {
|
|
98
|
+
# backend-specific options
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
)
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Handling Multi-Device Usage
|
|
105
|
+
The StorageManager automatically assigns a unique device ID to each client instance, ensuring that
|
|
106
|
+
the same user logged in on different devices won't experience session clashes. Keys are namespaced
|
|
107
|
+
with the device ID by default.
|
|
108
|
+
|
|
109
|
+
```python
|
|
110
|
+
# Get the current device ID
|
|
111
|
+
device_id = storage_manager.get_device_id()
|
|
112
|
+
print(f"Current device ID: {device_id}")
|
|
113
|
+
|
|
114
|
+
# Clear all data for the current device (useful for logout)
|
|
115
|
+
storage_manager.clear_device_data()
|
|
116
|
+
|
|
117
|
+
# For data that should be shared across all devices for the same user
|
|
118
|
+
# Use the "user:" prefix
|
|
119
|
+
storage_manager.set("user:shared_preferences", {"theme": "dark"})
|
|
120
|
+
|
|
121
|
+
# For data that should be global across all users and devices
|
|
122
|
+
# Use the "global:" prefix
|
|
123
|
+
storage_manager.set("global:app_settings", {"version": "1.0.0"})
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Best Practices for Storage Management
|
|
127
|
+
|
|
128
|
+
1. **Always initialize OAuth first**: The OAuth constructor initializes the StorageManager, so create your OAuth instance before accessing the storage.
|
|
129
|
+
|
|
130
|
+
2. **Manual initialization (if needed)**: If you need to use StorageManager before creating an OAuth instance, explicitly initialize it first:
|
|
131
|
+
```python
|
|
132
|
+
# Manual initialization
|
|
133
|
+
storage_manager = StorageManager()
|
|
134
|
+
storage_manager.initialize({"type": "memory"}) # or your preferred storage config
|
|
135
|
+
|
|
136
|
+
# You can also provide a specific device ID
|
|
137
|
+
storage_manager.initialize(
|
|
138
|
+
config={"type": "memory"},
|
|
139
|
+
device_id="custom-device-identifier"
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
# Now safe to use
|
|
143
|
+
storage_manager.set("some_key", {"some": "value"})
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
3. **Safe access pattern**: If you're unsure about initialization status, you can use this pattern:
|
|
147
|
+
```python
|
|
148
|
+
storage_manager = StorageManager()
|
|
149
|
+
if not storage_manager._initialized:
|
|
150
|
+
storage_manager.initialize()
|
|
151
|
+
|
|
152
|
+
# Now safe to use
|
|
153
|
+
data = storage_manager.get("some_key")
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
4. **Single configuration**: Configure the storage only once at application startup. Changing storage configuration mid-operation may lead to data inconsistency.
|
|
157
|
+
|
|
158
|
+
5. **Access from anywhere**: After initialization, you can safely access the StorageManager from any part of your application without passing it around.
|
|
159
|
+
|
|
160
|
+
6. **Device-specific data**: Understand that by default, data is stored with device-specific namespacing. To share data across devices, use the appropriate prefixes.
|
|
161
|
+
|
|
162
|
+
7. **Complete logout**: To ensure all device-specific data is cleared during logout, call `storage_manager.clear_device_data()`.
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
# After initializing both OAuth and KindeApiClient use the following fn to get proper urls
|
|
167
|
+
api_client.fetch_openid_configuration(oauth)
|
|
168
|
+
|
|
169
|
+
# Kinde Management API Module
|
|
170
|
+
|
|
171
|
+
This module provides a client for the Kinde Management API, allowing you to manage users, organizations, roles, permissions, and feature flags programmatically.
|
|
172
|
+
|
|
173
|
+
## Installation
|
|
174
|
+
|
|
175
|
+
No additional installation is required if you already have the Kinde Python SDK installed. The Management API module is included as part of the SDK.
|
|
176
|
+
|
|
177
|
+
## Usage
|
|
178
|
+
|
|
179
|
+
The Management API client requires:
|
|
180
|
+
- Your Kinde domain
|
|
181
|
+
- Client ID
|
|
182
|
+
- Client secret
|
|
183
|
+
|
|
184
|
+
### Initializing the client
|
|
185
|
+
|
|
186
|
+
You can access the Management API through the existing `KindeApiClient`:
|
|
187
|
+
|
|
188
|
+
```python
|
|
189
|
+
from kinde_sdk.kinde_api_client import KindeApiClient
|
|
190
|
+
from kinde_sdk.enums import GrantType
|
|
191
|
+
|
|
192
|
+
# Initialize the client with client credentials
|
|
193
|
+
client = KindeApiClient(
|
|
194
|
+
domain="your-domain.kinde.com",
|
|
195
|
+
callback_url="https://your-app.com/callback",
|
|
196
|
+
client_id="your-client-id",
|
|
197
|
+
client_secret="your-client-secret", # Required for management API
|
|
198
|
+
grant_type=GrantType.CLIENT_CREDENTIALS,
|
|
199
|
+
)
|
|
200
|
+
|
|
201
|
+
# Get the management client
|
|
202
|
+
management = client.get_management()
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Managing Users
|
|
206
|
+
|
|
207
|
+
```python
|
|
208
|
+
# List users
|
|
209
|
+
users = management.get_users(page_size=10)
|
|
210
|
+
|
|
211
|
+
# Get a specific user
|
|
212
|
+
user = management.get_user(user_id="user_id")
|
|
213
|
+
|
|
214
|
+
# Create a new user
|
|
215
|
+
new_user = management.create_user(
|
|
216
|
+
first_name="John",
|
|
217
|
+
last_name="Doe",
|
|
218
|
+
email="john.doe@example.com"
|
|
219
|
+
)
|
|
220
|
+
|
|
221
|
+
# Update a user
|
|
222
|
+
updated_user = management.update_user(
|
|
223
|
+
user_id="user_id",
|
|
224
|
+
first_name="John",
|
|
225
|
+
last_name="Smith"
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
# Delete a user
|
|
229
|
+
result = management.delete_user(user_id="user_id")
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### Managing Organizations
|
|
233
|
+
|
|
234
|
+
```python
|
|
235
|
+
# List organizations
|
|
236
|
+
organizations = management.get_organizations(page_size=10)
|
|
237
|
+
|
|
238
|
+
# Get a specific organization
|
|
239
|
+
org = management.get_organization(org_code="org_code")
|
|
240
|
+
|
|
241
|
+
# Create a new organization
|
|
242
|
+
new_org = management.create_organization(
|
|
243
|
+
name="Example Organization"
|
|
244
|
+
)
|
|
245
|
+
|
|
246
|
+
# Update an organization
|
|
247
|
+
updated_org = management.update_organization(
|
|
248
|
+
org_code="org_code",
|
|
249
|
+
name="Updated Organization Name"
|
|
250
|
+
)
|
|
251
|
+
|
|
252
|
+
# Delete an organization
|
|
253
|
+
result = management.delete_organization(org_code="org_code")
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Managing Roles
|
|
257
|
+
|
|
258
|
+
```python
|
|
259
|
+
# List roles
|
|
260
|
+
roles = management.get_roles(page_size=10)
|
|
261
|
+
|
|
262
|
+
# Get a specific role
|
|
263
|
+
role = management.get_role(role_id="role_id")
|
|
264
|
+
|
|
265
|
+
# Create a new role
|
|
266
|
+
new_role = management.create_role(
|
|
267
|
+
name="Admin",
|
|
268
|
+
description="Administrator role",
|
|
269
|
+
key="admin_role"
|
|
270
|
+
)
|
|
271
|
+
|
|
272
|
+
# Update a role
|
|
273
|
+
updated_role = management.update_role(
|
|
274
|
+
role_id="role_id",
|
|
275
|
+
name="Super Admin",
|
|
276
|
+
description="Super administrator role"
|
|
277
|
+
)
|
|
278
|
+
|
|
279
|
+
# Delete a role
|
|
280
|
+
result = management.delete_role(role_id="role_id")
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
### Managing Feature Flags
|
|
284
|
+
|
|
285
|
+
```python
|
|
286
|
+
# List feature flags
|
|
287
|
+
flags = management.get_feature_flags(page_size=10)
|
|
288
|
+
|
|
289
|
+
# Create a new feature flag
|
|
290
|
+
new_flag = management.create_feature_flag(
|
|
291
|
+
name="Dark Mode",
|
|
292
|
+
key="dark_mode",
|
|
293
|
+
description="Enable dark mode theme",
|
|
294
|
+
type="boolean",
|
|
295
|
+
default_value=False
|
|
296
|
+
)
|
|
297
|
+
|
|
298
|
+
# Update a feature flag
|
|
299
|
+
updated_flag = management.update_feature_flag(
|
|
300
|
+
feature_flag_id="flag_id",
|
|
301
|
+
name="Dark Theme",
|
|
302
|
+
description="Enable dark theme for the application"
|
|
303
|
+
)
|
|
304
|
+
|
|
305
|
+
# Delete a feature flag
|
|
306
|
+
result = management.delete_feature_flag(feature_flag_id="flag_id")
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
## Token Management
|
|
310
|
+
|
|
311
|
+
The Management API client automatically handles token management using client credentials:
|
|
312
|
+
|
|
313
|
+
- Tokens are automatically obtained when needed
|
|
314
|
+
- Tokens are cached to avoid unnecessary requests
|
|
315
|
+
- Tokens are refreshed when they expire
|
|
316
|
+
- Multiple instances of the client with the same domain and client ID share the same token
|
|
317
|
+
|
|
318
|
+
## Error Handling
|
|
319
|
+
|
|
320
|
+
All API methods can raise exceptions for HTTP errors. It's recommended to wrap calls in try/except blocks:
|
|
321
|
+
|
|
322
|
+
```python
|
|
323
|
+
try:
|
|
324
|
+
user = management.get_user(user_id="non_existent_id")
|
|
325
|
+
except Exception as e:
|
|
326
|
+
print(f"Error: {e}")
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
Complete example given below
|
|
330
|
+
|
|
331
|
+
```python
|
|
332
|
+
from kinde_sdk.kinde_api_client import KindeApiClient
|
|
333
|
+
from kinde_sdk.enums import GrantType
|
|
334
|
+
|
|
335
|
+
def main():
|
|
336
|
+
"""Main function demonstrating Management API usage."""
|
|
337
|
+
# Initialize the Kinde client with management capabilities
|
|
338
|
+
client = KindeApiClient(
|
|
339
|
+
domain="your-domain.kinde.com", # Replace with your Kinde domain
|
|
340
|
+
callback_url="https://your-app.com/callback", # Your auth callback URL
|
|
341
|
+
client_id="your-client-id", # Your client ID
|
|
342
|
+
client_secret="your-client-secret", # Required for management API
|
|
343
|
+
grant_type=GrantType.CLIENT_CREDENTIALS, # Use client credentials for management API
|
|
344
|
+
)
|
|
345
|
+
|
|
346
|
+
# Get the management client
|
|
347
|
+
management = client.get_management()
|
|
348
|
+
|
|
349
|
+
# Example 1: List users
|
|
350
|
+
print("Example 1: List users")
|
|
351
|
+
print("-" * 50)
|
|
352
|
+
users_result = management.get_users(page_size=10)
|
|
353
|
+
if users_result and "users" in users_result:
|
|
354
|
+
users = users_result["users"]
|
|
355
|
+
print(f"Total users: {len(users)}")
|
|
356
|
+
for user in users:
|
|
357
|
+
print(f"User: {user.get('first_name', '')} {user.get('last_name', '')} ({user.get('email', '')})")
|
|
358
|
+
else:
|
|
359
|
+
print("No users found or error occurred")
|
|
360
|
+
print()
|
|
361
|
+
|
|
362
|
+
# Example 2: Create a new user
|
|
363
|
+
print("Example 2: Create a new user")
|
|
364
|
+
print("-" * 50)
|
|
365
|
+
try:
|
|
366
|
+
new_user = management.create_user(
|
|
367
|
+
first_name="Test",
|
|
368
|
+
last_name="User",
|
|
369
|
+
email="testuser@example.com",
|
|
370
|
+
)
|
|
371
|
+
print(f"User created: {new_user}")
|
|
372
|
+
|
|
373
|
+
# Store the user ID for later examples
|
|
374
|
+
user_id = new_user.get("id")
|
|
375
|
+
print(f"User ID: {user_id}")
|
|
376
|
+
except Exception as e:
|
|
377
|
+
print(f"Error creating user: {e}")
|
|
378
|
+
print()
|
|
379
|
+
|
|
380
|
+
# Example 3: Update a user
|
|
381
|
+
print("Example 3: Update a user")
|
|
382
|
+
print("-" * 50)
|
|
383
|
+
try:
|
|
384
|
+
# Use the user ID from Example 2
|
|
385
|
+
if 'user_id' in locals():
|
|
386
|
+
updated_user = management.update_user(user_id,
|
|
387
|
+
first_name="Updated",
|
|
388
|
+
last_name="User"
|
|
389
|
+
)
|
|
390
|
+
print(f"User updated: {updated_user}")
|
|
391
|
+
else:
|
|
392
|
+
print("No user ID available for update")
|
|
393
|
+
except Exception as e:
|
|
394
|
+
print(f"Error updating user: {e}")
|
|
395
|
+
print()
|
|
396
|
+
|
|
397
|
+
# Example 4: List organizations
|
|
398
|
+
print("Example 4: List organizations")
|
|
399
|
+
print("-" * 50)
|
|
400
|
+
orgs_result = management.get_organizations(page_size=10)
|
|
401
|
+
if orgs_result and "organizations" in orgs_result:
|
|
402
|
+
orgs = orgs_result["organizations"]
|
|
403
|
+
print(f"Total organizations: {len(orgs)}")
|
|
404
|
+
for org in orgs:
|
|
405
|
+
print(f"Organization: {org.get('name', '')} (Code: {org.get('code', '')})")
|
|
406
|
+
else:
|
|
407
|
+
print("No organizations found or error occurred")
|
|
408
|
+
print()
|
|
409
|
+
|
|
410
|
+
# Example 5: Create a new organization
|
|
411
|
+
print("Example 5: Create a new organization")
|
|
412
|
+
print("-" * 50)
|
|
413
|
+
try:
|
|
414
|
+
new_org = management.create_organization(
|
|
415
|
+
name="Test Organization"
|
|
416
|
+
)
|
|
417
|
+
print(f"Organization created: {new_org}")
|
|
418
|
+
|
|
419
|
+
# Store the org code for later examples
|
|
420
|
+
org_code = new_org.get("code")
|
|
421
|
+
print(f"Organization Code: {org_code}")
|
|
422
|
+
except Exception as e:
|
|
423
|
+
print(f"Error creating organization: {e}")
|
|
424
|
+
print()
|
|
425
|
+
|
|
426
|
+
# Example 6: Update an organization
|
|
427
|
+
print("Example 6: Update an organization")
|
|
428
|
+
print("-" * 50)
|
|
429
|
+
try:
|
|
430
|
+
# Use the org code from Example 5
|
|
431
|
+
if 'org_code' in locals():
|
|
432
|
+
updated_org = management.update_organization(org_code,
|
|
433
|
+
name="Updated Organization"
|
|
434
|
+
)
|
|
435
|
+
print(f"Organization updated: {updated_org}")
|
|
436
|
+
else:
|
|
437
|
+
print("No organization code available for update")
|
|
438
|
+
except Exception as e:
|
|
439
|
+
print(f"Error updating organization: {e}")
|
|
440
|
+
print()
|
|
441
|
+
|
|
442
|
+
# Example 7: List roles
|
|
443
|
+
print("Example 7: List roles")
|
|
444
|
+
print("-" * 50)
|
|
445
|
+
roles_result = management.get_roles(page_size=10)
|
|
446
|
+
if roles_result and "roles" in roles_result:
|
|
447
|
+
roles = roles_result["roles"]
|
|
448
|
+
print(f"Total roles: {len(roles)}")
|
|
449
|
+
for role in roles:
|
|
450
|
+
print(f"Role: {role.get('name', '')} (Key: {role.get('key', '')})")
|
|
451
|
+
else:
|
|
452
|
+
print("No roles found or error occurred")
|
|
453
|
+
print()
|
|
454
|
+
|
|
455
|
+
# Example 8: Create a new role
|
|
456
|
+
print("Example 8: Create a new role")
|
|
457
|
+
print("-" * 50)
|
|
458
|
+
try:
|
|
459
|
+
new_role = management.create_role(
|
|
460
|
+
name="Test Role",
|
|
461
|
+
description="A test role created via the Management API",
|
|
462
|
+
key="test_role"
|
|
463
|
+
)
|
|
464
|
+
print(f"Role created: {new_role}")
|
|
465
|
+
|
|
466
|
+
# Store the role ID for later examples
|
|
467
|
+
role_id = new_role.get("id")
|
|
468
|
+
print(f"Role ID: {role_id}")
|
|
469
|
+
except Exception as e:
|
|
470
|
+
print(f"Error creating role: {e}")
|
|
471
|
+
print()
|
|
472
|
+
|
|
473
|
+
# Example 9: Get feature flags
|
|
474
|
+
print("Example 9: Get feature flags")
|
|
475
|
+
print("-" * 50)
|
|
476
|
+
flags_result = management.get_feature_flags(page_size=10)
|
|
477
|
+
if flags_result and "feature_flags" in flags_result:
|
|
478
|
+
flags = flags_result["feature_flags"]
|
|
479
|
+
print(f"Total feature flags: {len(flags)}")
|
|
480
|
+
for flag in flags:
|
|
481
|
+
print(f"Flag: {flag.get('name', '')} (Key: {flag.get('key', '')})")
|
|
482
|
+
else:
|
|
483
|
+
print("No feature flags found or error occurred")
|
|
484
|
+
print()
|
|
485
|
+
|
|
486
|
+
# Example 10: Create a new feature flag
|
|
487
|
+
print("Example 10: Create a new feature flag")
|
|
488
|
+
print("-" * 50)
|
|
489
|
+
try:
|
|
490
|
+
new_flag = management.create_feature_flag(
|
|
491
|
+
name="Test Flag",
|
|
492
|
+
key="test_flag",
|
|
493
|
+
description="A test feature flag created via the Management API",
|
|
494
|
+
type="boolean",
|
|
495
|
+
default_value=False
|
|
496
|
+
)
|
|
497
|
+
print(f"Feature flag created: {new_flag}")
|
|
498
|
+
|
|
499
|
+
# Store the flag ID for later examples
|
|
500
|
+
flag_id = new_flag.get("id")
|
|
501
|
+
print(f"Flag ID: {flag_id}")
|
|
502
|
+
except Exception as e:
|
|
503
|
+
print(f"Error creating feature flag: {e}")
|
|
504
|
+
print()
|
|
505
|
+
|
|
506
|
+
# Example 11: Clean up (delete created resources)
|
|
507
|
+
print("Example 11: Clean up")
|
|
508
|
+
print("-" * 50)
|
|
509
|
+
|
|
510
|
+
# Delete the feature flag (if created)
|
|
511
|
+
if 'flag_id' in locals():
|
|
512
|
+
try:
|
|
513
|
+
result = management.delete_feature_flag(flag_id)
|
|
514
|
+
print(f"Feature flag deleted: {result}")
|
|
515
|
+
except Exception as e:
|
|
516
|
+
print(f"Error deleting feature flag: {e}")
|
|
517
|
+
|
|
518
|
+
# Delete the role (if created)
|
|
519
|
+
if 'role_id' in locals():
|
|
520
|
+
try:
|
|
521
|
+
result = management.delete_role(role_id)
|
|
522
|
+
print(f"Role deleted: {result}")
|
|
523
|
+
except Exception as e:
|
|
524
|
+
print(f"Error deleting role: {e}")
|
|
525
|
+
|
|
526
|
+
# Delete the organization (if created)
|
|
527
|
+
if 'org_code' in locals():
|
|
528
|
+
try:
|
|
529
|
+
result = management.delete_organization(org_code)
|
|
530
|
+
print(f"Organization deleted: {result}")
|
|
531
|
+
except Exception as e:
|
|
532
|
+
print(f"Error deleting organization: {e}")
|
|
533
|
+
|
|
534
|
+
# Delete the user (if created)
|
|
535
|
+
if 'user_id' in locals():
|
|
536
|
+
try:
|
|
537
|
+
result = management.delete_user(user_id)
|
|
538
|
+
print(f"User deleted: {result}")
|
|
539
|
+
except Exception as e:
|
|
540
|
+
print(f"Error deleting user: {e}")
|
|
541
|
+
|
|
542
|
+
if __name__ == "__main__":
|
|
543
|
+
main()
|
|
544
|
+
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
## Publishing
|
|
548
|
+
|
|
549
|
+
The core team handles publishing.
|
|
550
|
+
|
|
551
|
+
## Contributing
|
|
552
|
+
|
|
553
|
+
Please refer to Kinde’s [contributing guidelines](https://github.com/kinde-oss/.github/blob/489e2ca9c3307c2b2e098a885e22f2239116394a/CONTRIBUTING.md).
|
|
554
|
+
|
|
555
|
+
## License
|
|
556
|
+
|
|
557
|
+
By contributing to Kinde, you agree that your contributions will be licensed under its MIT License.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
kinde_fastapi/__init__.py,sha256=FzB0zDBbzaLLvGZBPrBZN94I6LRZdkT4RSmGUsbh3mA,470
|
|
2
|
+
kinde_flask/__init__.py,sha256=bKBuqqY9ZTBQL9vLmtuOm2FOjGpoLqyCj3CxKrt7nho,451
|
|
3
|
+
kinde_python_sdk-2.0.0b2.dist-info/licenses/LICENSE,sha256=iT6AIO6NJn_mo0kDD5mpz2zp9GpzH6YdhqOmkCBg-kQ,1385
|
|
4
|
+
kinde_sdk/__init__.py,sha256=ENi586ORHEtNgZlBCJmXYYXUmfH_yL3VzHzuOW52-mo,571
|
|
5
|
+
kinde_python_sdk-2.0.0b2.dist-info/METADATA,sha256=Kz3wkIyPyEuRRsphUoeYnm6E11b7QMOeZQqLxf_9lU8,17545
|
|
6
|
+
kinde_python_sdk-2.0.0b2.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
|
|
7
|
+
kinde_python_sdk-2.0.0b2.dist-info/top_level.txt,sha256=TUU3EVjV6O4brF-mooQr6pnTk-jXJphmIWRHCIdyIgI,36
|
|
8
|
+
kinde_python_sdk-2.0.0b2.dist-info/RECORD,,
|
kinde_sdk/__init__.py
CHANGED
|
@@ -1,29 +1,22 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
|
-
# flake8: noqa
|
|
4
|
-
|
|
5
1
|
"""
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Provides endpoints to manage your Kinde Businesses # noqa: E501
|
|
2
|
+
Kinde Python SDK
|
|
3
|
+
~~~~~~~~~~~~~~~
|
|
9
4
|
|
|
10
|
-
|
|
11
|
-
Contact: support@kinde.com
|
|
12
|
-
Generated by: https://openapi-generator.tech
|
|
5
|
+
This is the Kinde Python SDK for interacting with the Kinde API.
|
|
13
6
|
"""
|
|
14
7
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
from kinde_sdk.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
8
|
+
from kinde_sdk.auth.oauth import OAuth
|
|
9
|
+
from kinde_sdk.core.storage.storage_factory import StorageFactory
|
|
10
|
+
from kinde_sdk.core.framework.framework_factory import FrameworkFactory
|
|
11
|
+
from kinde_sdk.core.framework.framework_interface import FrameworkInterface
|
|
12
|
+
from kinde_sdk.core.framework.null_framework import NullFramework
|
|
13
|
+
|
|
14
|
+
__version__ = "2.1.0"
|
|
15
|
+
|
|
16
|
+
__all__ = [
|
|
17
|
+
"OAuth",
|
|
18
|
+
"StorageFactory",
|
|
19
|
+
"FrameworkFactory",
|
|
20
|
+
"FrameworkInterface",
|
|
21
|
+
"NullFramework",
|
|
22
|
+
]
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.2
|
|
2
|
-
Name: kinde-python-sdk
|
|
3
|
-
Version: 1.2.9
|
|
4
|
-
Summary: Connect your app to the Kinde platform
|
|
5
|
-
Author-email: Kinde Engineering <engineering@kinde.com>
|
|
6
|
-
Project-URL: Homepage, https://github.com/kinde-oss/kinde-python-sdk
|
|
7
|
-
Classifier: Development Status :: 5 - Production/Stable
|
|
8
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
9
|
-
Classifier: Natural Language :: English
|
|
10
|
-
Classifier: Operating System :: OS Independent
|
|
11
|
-
Classifier: Programming Language :: Python
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
14
|
-
Requires-Python: >=3.8
|
|
15
|
-
Description-Content-Type: text/markdown
|
|
16
|
-
License-File: LICENSE
|
|
17
|
-
Requires-Dist: urllib3
|
|
18
|
-
Requires-Dist: python-dateutil
|
|
19
|
-
Requires-Dist: Authlib
|
|
20
|
-
Requires-Dist: pyjwt
|
|
21
|
-
Requires-Dist: requests
|
|
22
|
-
Requires-Dist: typing-extensions>=4.11.0
|
|
23
|
-
Requires-Dist: frozendict>=2.4.3
|
|
24
|
-
Requires-Dist: certifi>=2024.7.4
|
|
25
|
-
|
|
26
|
-
# Kinde Python SDK
|
|
27
|
-
|
|
28
|
-
The Kinde SDK for Python.
|
|
29
|
-
|
|
30
|
-
You can also use the [Python starter kit here](https://github.com/kinde-starter-kits/python-starter-kit).
|
|
31
|
-
|
|
32
|
-
[](https://makeapullrequest.com) [](https://kinde.com/docs/developer-tools) [](https://thekindecommunity.slack.com)
|
|
33
|
-
|
|
34
|
-
## Documentation
|
|
35
|
-
|
|
36
|
-
For details on integrating this SDK into your project, head over to the [Kinde docs](https://kinde.com/docs/) and see the [Python SDK](https://kinde.com/docs/developer-tools/python-sdk/) doc 👍🏼.
|
|
37
|
-
|
|
38
|
-
## Publishing
|
|
39
|
-
|
|
40
|
-
The core team handles publishing.
|
|
41
|
-
|
|
42
|
-
## Contributing
|
|
43
|
-
|
|
44
|
-
Please refer to Kinde’s [contributing guidelines](https://github.com/kinde-oss/.github/blob/489e2ca9c3307c2b2e098a885e22f2239116394a/CONTRIBUTING.md).
|
|
45
|
-
|
|
46
|
-
## License
|
|
47
|
-
|
|
48
|
-
By contributing to Kinde, you agree that your contributions will be licensed under its MIT License.
|