Releases: globus/globus-sdk-python
v3.30.0
Added
-
TransferClient.operation_ls
now supports thelimit
andoffset
parameters (#868) -
A new sentinel value,
globus_sdk.MISSING
, has been introduced.
It is used for method calls which need to distinguish missing parameters from an explicitNone
used to signifynull
(#885)globus_sdk.MISSING
is now supported in payload data for all methods, and will be automatically removed from the payload before sending to the server
Changed
GroupPolicies
objects now treat an explicit instantiation withhigh_assurance_timeout=None
as setting the timeout tonull
(#885)
v3.29.0
Changed
-
The inheritance structure used for Globus Auth client classes has changed.
(#849)-
A new class,
AuthLoginClient
, is the base forNativeAppAuthClient
andConfidentialAppAuthClient
. These classes no longer inherit from
AuthClient
, and therefore no longer inherit certain methods which would
never succeed if called. -
AuthClient
is now the only class which provides functionality
for accessing Globus Auth APIs. -
AuthClient
no longer includes methods for OAuth 2 login flows which
would only be valid to call onAuthLoginClient
subclasses.
-
Deprecated
-
Several features of Auth client classes are now deprecated. (#849)
-
Setting
AuthClient.client_id
or accessing it as an attribute
is deprecated and will emit a warning. -
ConfidentialAppAuthClient.get_identities
has been preserved as a valid
call, but will emit a warning. Users wishing to access this API via client
credentials should prefer to get an access token using a client credential
callout, and then use that token to callAuthClient.get_identities()
.
-
-
The
AuthClient.oauth2_userinfo
method has been deprecated in favor of
AuthClient.userinfo
. Callers should prefer the new method name. (#865)
v3.28.0
Python Support
- Add support for Python 3.12. (#808)
Added
-
Add a
prompt
keyword parameter toAuthClient.oauth2_get_authorize_url()
. (#813)Setting this parameter requires users to authenticate with an identity provider, even if they are already logged in. Doing so can help avoid errors caused by unexpected session required policies, which would otherwise require a second, follow-up login flow.
prompt
could previously only be set via thequery_params
keyword parameter. It is now more discoverable. -
Add
TimerClient.pause_job
andTimerClient.resume_job
for pausing and resuming timers. (#827)
Documentation
- Add an example script which handles creating and running a flow. (#826)
Development
- Added responses to
_testing
reflecting an inactive Timers job (#828)
v3.27.0
v3.26.0
Added
-
New components are introduced to the experimental subpackage. See the SDK Experimental documentation for more details.
-
Add tools which manipulate Globus Auth Requirements error data.
globus_sdk.experimental.auth_requirements_error
provides a data container class,GlobusAuthRequirementsError
, and functions for converting and validating data against this shape. (#768) -
Introduce an experimental Globus Auth scope parser in
globus_sdk.experimental.scope_parser
(#752)
-
Changed
- The
scopes
class attribute ofSpecificFlowClient
is now specialized to ensure that type checkers will allow access toSpecificFlowClient
scopes andresource_server
values withoutcast
ing. The value used is a specialized stub which raises useful errors when class-based access is performed. Thescopes
instance attribute is unchanged. (#793)
v3.25.0
Added
- The
jwt_params
argument todecode_id_token()
now allows"leeway"
to be included to pass aleeway
parameter to pyjwt. (#790)
Fixed
decode_id_token()
defaulted to having no tolerance for clock drift. Slight clock drift could lead to JWT claim validation errors. The new default is 0.5s which should be sufficient for most cases. (#790)
Documentation
- New scripts in the example gallery demonstrate usage of the Globus Auth Developer APIs to List, Create, Delete, and Update Projects. (#777)
v3.24.0
Added
-
Add
FlowsClient.list_runs
as a method for listing all runs for the current user, with support for pagination. (#782) -
Add
SearchClient
methods for managing search index lifecycle:create_index
,delete_index
, andreopen_index
(#785)
Changed
-
The enforcement logic for URLs in
BaseClient
instantiation has been improved to only require thatservice_name
be set ifbase_url
is not provided. (#786)-
This change primarily impacts subclasses, which no longer need to set the
service_name
class variable if they ensure that thebase_url
is always passed with a non-null value. -
Direct instantiation of
BaseClient
is now possible, although not recommended for most use-cases.
-
v3.23.0
Added
-
Add
AuthClient
methods to support the Projects APIs for listing, creating, updating, and deleting projects. -
globus_sdk._testing
now exposes a method,construct_error
which makes it simpler to explicitly construct and return a Globus SDK error object for testing. This is used in the SDK's own testsuite and is available for_testing
users. (#770) -
AuthClient.oauth2_get_authorize_url
now supports the following parameters for session management:session_required_identities
,session_required_single_domain
, andsession_required_policies
. Each of these accept list inputs, as returned byErrorInfo.authorization_parameters
. (#773)
Changed
-
AuthClient
,NativeAppAuthClient
, andConfidentialAppAuthClient
have had their init signatures updated to explicitly list available parameters. (#764)-
Type annotations for these classes are now more accurate
-
The
NativeAppAuthClient
andConfidentialAppAuthClient
classes do not acceptauthorizer
in their init signatures. Previously this was accepted but raised aGlobusSDKUsageError
. Attempting to pass anauthorizer
will now result in aTypeError
.
-
session_required_policies
parsing inAuthorizationParameterInfo
now supports the policies being returned as alist[str]
in addition to supportingstr
(#769)
Fixed
-
AuthorizationParameterInfo
is now more type-safe, and will not return parsed data from a response without checking that the data has correct types (#769) -
Adjust the
FlowsClient.get_run()
include_flow_description
parameter so it is submitted only when it has a value. (#778)
Documentation
- The
_testing
documentation has been expanded with a dropdown view of the response contents for each method. In support of this, client method testing docs have been reorganized into a page per service. (#767)
v3.22.0
-
Add support for
AuthClient.get_identity_providers
for looking up Identity
Providers by domain or ID in Globus Auth (#757) -
Add a method to the Globus Search client,
SearchClient.batch_delete_by_subject
(#760) -
Add
AuthScopes.manage_projects
to scope data. This is also accessible as
AuthClient.scopes.manage_projects
(#761) -
Alpha features of globus-sdk are now documented in the "Unstable" doc section (#753)