NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3245 most downloaded on PyPI
Descope Python SDK
Last release 11 days ago
07 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
73 releases · first in 2022
One column per quarter.
Return full error message: We fixed our errors so that more information will be provided when returned.
Tenant validation functions: Fixed a bug that resulted in some scenarios in which the validate_tenant_roles and validate_tenant_permissions functions
validate_tenant_roles and validate_tenant_permissions functions returned the wrong results.Get a user's OAuth provider tokens: When using your own OAuth provider account, you can now choose to request additional scopes and have the provider'
get_provider_token function, which retrieves the token for your application to use.delete_settings function, you can define which tenant's SAML configuration should be deleted.search audit function. For a full list of filter options see function's documentation.Set and expire user passwords: You can now expire a user's password using the expire_password function, which will make the user reset it on their nex
expire_password function, which will make the user reset it on their next authentication. There's also the option to set a new one using the set_password function; notice that even when choosing a password, the user will still need reset it on their next authentication.validate_session, refresh_session and validate_and_refresh_session functions) we aligned the response to include the session JWT claims under the sessionToken key. On top of that - information such as user ID (sub), project ID (iss) and associations such as tenants - are all populated with the relevant values.User custom attributes 💫 : We're glad to announce that we now support adding custom attributes to the user object! The default user object is great, b
custom_attributes property. Option to set, update and delete the values are also available from the SDK.add_to_login_ids parameter.export_flow. Examples can be found in the SDK's README.get_settings function, you can now fetch a specific tenant's SSO configuration. Example on how to do so in the repo's README, under the 'Manage SSO Settings' section.update_picture command, and user custom attributes using the update_custom_attribute command.DEFAULT_TIMEOUT_SECONDS property and is set to 60 seconds. (@tebeka)Automatic configuration of base URL: Some Python frameworks require setting the base URL parameter manually to Descope's API. We have now fixed this b
PEP8 naming convention alignment: We made sure our Python SDK is aligned to the PEP8 naming convention; this includes the following breaking changes:
transactionID argument of the sign_up_finish function has changed to transaction_idupdateJWT function has changed to update_jwtinvite User command to programmatically invite users to your project. Just like in the console, you can control which tenants and roles will be associated to the invited users.masked_address parameter when working with OTP / Magic Link / Enchanted Link to present it in Flow Screens or your own proprietary UI.search_all User response. Use the page parameter to define how many results should return in each page.SameSite=Strict Cookies: We changed the configuration of cookies so that they are SameSite=Strict. For more information on how to configure custom dom
SameSite=Strict.
For more information on how to configure custom domains correctly - visit our documentation.loginOptions > login_optionsrefreshToken > refresh_tokenDeliveryMethod.PHONE > DeliveryMethod.SMSvalidate_session: The validate_session function will now return the parsed JWT response.domain parameter, which is used for auto registering new users to a specific tenant, if their identifiers are from the defined domain.validate_and_refresh_session function: A fix to allow either and not both actions in method was applied.🚨 Session and Refresh token split 🚨: Session validation and refresh have been split in order to allow more control over session management. 3 new func
* `validate_session` - only validates the session.
* `refresh_session` - refreshes a session.
* `validate_and_refresh_session` - combines the two, validate and refresh as needed.
These function replace the following which have been removed:
* `validate_session_request` - replaced by `validate_and_refresh_session` with the change of requiring both tokens, and the two new functions added for more granular control.
* `refresh_token`: replaced by `refresh_session`, behavior remains with more consistent naming and input validation.
Username removed as parameter from SSO User Attributes Mapping: Username was a deprecated parameter in the SSO User Attributes Mapping dropdown. We re…
externalId to login_id.linkId, to make it clearer for the Descoper to use.v2 of the key response API; in order to support other frameworks, such as OpenID Connect, the key response's structure was updated, and keys are now a sub-attribute of keys.
v1: [{...}]v2: {"keys": [{...}]}updateJwt API.Username was a deprecated parameter in the SSO User Attributes Mapping dropdown. We removed it to resolve the confusion.Change exchange to POST by @dorsha in https://github.com/descope/python-sdk/pull/63
Full Changelog: https://github.com/descope/python-sdk/compare/0.2.0...0.3.0
Pin dependencies by @descope in https://github.com/descope/python-sdk/pull/49
Full Changelog: https://github.com/descope/python-sdk/compare/0.1.0...0.2.0
Initial Python sdk code by @guyp-descope in https://github.com/descope/python-sdk/pull/1
Full Changelog: https://github.com/descope/python-sdk/commits/0.1.0
Your coding agent can read these notes before it upgrades. Set up the MCP server →