Releases: globus/globus-sdk-python
v4.0.0b2
Added
- On Python 3.11+, the SDK will populate the
__notes__of API errors with a message containing the full body of the error response.
__notes__is part of the default presentation of a traceback. (#1299)
Removed
-
The following methods and parameters, which were deprecated in globus-sdk v3, have been removed (#1309):
- The
skip_activation_checkparameter forTransferDataandDeleteData. - The
recursive_symlinksparameter forTransferData. - The
add_symlink_itemmethod ofTransferData.
- The
Changed
- Passing non-
Scopetypes toScope.with_dependencyandScope.with_dependenciesnow raises aTypeError. Previously, this was allowed at runtime but created an invalidScopeobject. (#1300)
v3.64.0
Added
- Added
SearchClient.update_indexas a method for modifying index names and descriptions. (#1310)
Deprecated
-
The following Transfer features have been deprecated: (#1308, #1309)
-
The
add_symlink_itemmethod ofTransferData.
This is not supported by any collections. -
The
recursive_symlinksparameter toTransferData.
This is not supported by any collections. -
The
skip_activation_checkparameter toTransferDataandDeleteData.
This no longer has any effect when set.
-
v3.63.0
v4.0.0b1
Breaking Changes
-
The
RequestsTransportobject has been refactored to separate it from configuration which controls request retries. A newRetryConfigobject is introduced and provided asclient.retry_configon all client types. The interface for controlling these configurations has been updated. (#1275)-
The
transport_classattribute has been removed from client classes. -
Clients now accept
transport, an instance ofRequestsTransport, andretry_config, an instance ofRetryConfig, instead oftransport_params. -
Users seeking to customize the retry backoff, sleep maximum, and max retries should now use
retry_config, as these are no longer controlled throughtransport. -
The capabilities of the
RequestsTransport.tune()context manager have been divided intoRequestsTransport.tune()andRetryConfig.tune(). -
The retry configuration is exposed to retry checks as an attribute of the
RequestCallerInfo, which is provided on theRetryContext. As a result, checks can examine the configuration.
-
-
Interfaces for normalizing scope data have changed. (#1289)
-
The
scopes_to_strfunction has been replaced withScopeParser.serialize. -
ScopeParser.serializewill raise an error if the serialized data is empty. A flag,reject_empty=False, can be passed to disable this check. -
The
scopes_to_scope_listfunction has been removed.
-
Removed
-
Removed the
filter_roleparameter toFlowsClient.list_flows.
This parameter was deprecated inglobus-sdkversion 3. (#1291) -
Removed
SearchClient.update_entry.
This method was deprecated inglobus-sdkversion 3. (#1292) -
Removed
SearchClient.create_entry.
This method was deprecated inglobus-sdkversion 3. (#1293) -
Removed the
SearchQuerytype. Users should useSearchQueryV1instead.
SearchQuerywas deprecated inglobus-sdkversion 3. (#1294)
Changed
-
The legacy token storage adapters are now only available from the
globus_sdk.token_storage.legacysubpackage.
Users are encouraged to migrate to the newer tooling available directly fromglobus_sdk.token_storage. (#1290) -
Update
warn_deprecatedto emitRemovedInV5Warningand removeRemovedInV4Warningclass (#1295)
v3.62.0
v4.0.0a4
Breaking Changes
-
The
function_dataargument toComputeClientV2.register_functionhas been renamed todatato be consistent with other usages. -
AuthClientno longer acceptsclient_idas a parameter and does not provide it as an attribute. This was deprecated in globus-sdk version 3. (#1271)
Added
- Add
RequestCallerInfodata object toRequestsTransport.requestfor passing caller context information. (#1261)
Removed
-
The
TimerJob.from_transfer_dataclassmethod, which was deprecated in globus-sdk version 3, has been removed. Users should use theTransferTimerclass to construct timers which submit transfer tasks. (#1269) -
The
oauth2_validate_tokenmethod has been removed fromNativeAppAuthClientandConfidentialAppAuthClient.
This method was deprecated in globus-sdk v3. (#1270) -
Removed
AuthClient.oauth2_userinfo. This method was deprecated inglobus-sdkversion 3. (#1272) -
Removed support for
ConfidentialAppAuthClient.get_identities. This usage was deprecated inglobus-sdkversion 3. (#1273)-
Users calling the Get Identities API on behalf of a client identity should instead get tokens for the client and use those tokens to call
AuthClient.get_identities. For example, by instantiating anAuthClientusing aClientCredentialsAuthorizer. -
This also means that it is no longer valid to use a
ConfidentialAppAuthClientto initialize anIdentityMap.
-
-
TransferClient.create_endpointhas been removed. This method primarily supported creation of GCSv4 servers and was deprecated inglobus-sdkv3. (#1276) -
GCSClient.connector_id_to_name()has been removed. It was deprecated inglobus-sdkversion 3. Users should useglobus_sdk.ConnectorTableinstead. (#1277) -
Removed support for Endpoint Activation, a feature which was specific to Globus Connect Server v4. (#1279)
-
Removed the activation methods:
TransferClient.endpoint_autoactivate,TransferClient.endpoint_activate,TransferClient.endpoint_deactivate, andTransferClient.endpoint_get_activation_requirements -
Removed the specialized
ActivationRequirementsResponseparsed response type -
TransferClient.update_endpointwould previously check themyproxy_serverandoauth_serverparameters, which were solely used for the purpose of configuring activation. It no longer does so.
-
-
Removed the
ComputeClientalias. This name was deprecated inglobus-sdkversion 3. Users should useComputeClientV2orComputeClientV3instead. (#1282) -
Removed
GlobusAPIError.raw_text. This attribute was deprecated inglobus-sdkversion 3. Users should use thetextattribute instead. (#1283) -
Removed
TransferClientmethods for modifying "endpoint servers", a feature specific to Globus Connect Server v4. Specifically,add_endpoint_server,update_endpoint_server, anddelete_endpoint_server. These methods were deprecated inglobus-sdkversion 3. (#1284) -
Removed the
ComputeFunctionDocumentandComputeFunctionMetadataclasses. These helpers were deprecated inglobus-sdkversion 3. -
Removed
TransferClient.operation_symlink. This method was deprecated inglobus-sdkversion 3. (#1286)
Changed
-
Renamed the
globus_sdk._testingsubpackage toglobus_sdk.testing. (#1251) -
Renamed the
globus_sdk.tokenstoragesubpackage toglobus_sdk.token_storageand removed theglobus_sdk.experimental.tokenstorage(#1252) -
Remove support for normalizing nested iterables of scopes, e.g.
[["scope1"], "scope2"](#1259)
v3.61.0
Deprecated
v4.0.0a3
Breaking Changes
-
All defaults of
Noneconverted toglobus_sdk.MISSINGfor all payload types in the Transfer client. (#1216) -
The
transfer_clientparameter toTransferDataandDeleteDatahas been removed.
See the upgrading doc for transition details. (#1236) -
In Globus Auth client classes, defaults of
Noneare converted toMISSINGfor optional fields. (#1236)
Added
SpecificFlowClienthas a new method,add_app_transfer_data_access_scopewhich facilitates declaration of scope requirements when starting flows which interact with collections that needdata_accessscopes. (#1166)
Removed
globus_sdk.experimental.scope_parserhas been removed. Useglobus_sdk.scopesinstead. (#1236)
Changed
-
Scopeobjects are now immutable. (#1208)-
Scope.dependenciesis now a tuple, not a list. -
The
add_dependencymethod has been removed, since mutating aScopeis no longer possible. -
A new evolver method,
Scope.with_dependencyhas been added. It extends thedependenciestuple in a newScopeobject. -
A batch version of
Scope.with_dependencyhas been added,Scope.with_dependencies. -
An evolver for the
optionalfield of aScopeis also now available, namedScope.with_optional.
-
-
Scope parsing has been separated from the main
Scopeclass into a dedicatedScopeParserwhich provides parsing methods. (#1208)-
Use
globus_sdk.scopes.ScopeParserfor complex parsing use-cases. TheScopeParser.parseclassmethod parses strings into lists of scope objects. -
Scope.merge_scopeshas been moved toScopeParser.merge_scopes. -
Scope.parseis changed to callScopeParser.parseand verify that there is exactly one result, which it returns. This means thatScope.parsenow returns a singleScope, not alist[Scope]. -
Scope.serializeandScope.deserializehave been removed as methods.
Usestr(scope_object)as a replacement forserialize()andScope.parseas a replacement fordeserialize().
-
-
Payload types now inherit from
dictrather thanUserDict. ThePayloadWrapperutility class has been replaced withPayload. (#1222) -
Payload types are more consistent about encoding missing values using
MISSING. (#1222) -
The SDK's
ScopeBuildertypes have been replaced withStaticScopeCollectionandDynamicScopeCollectiontypes. (#1237)-
Scopes provided as constants by the SDK are now
Scopeobjects, not strings. They can be converted to strings trivially withstr(scope). -
The various scope builder types have been renamed.
SpecificFlowScopes,GCSEndpointScopes, andGCSCollectionScopesreplaceSpecificFlowScopeBuilder,GCSEndpointScopeBuilder, andGCSCollectionScopeBuilder.
-
-
The
ScopeBuildertypes have been simplified and improved as the newScopeCollectiontypes. (#1237)-
ScopeBuilderis replaced withStaticScopeCollectionandDynamicScopeCollection. Thescopesattribute of client classes is now a scope collection. -
The attributes of
ScopeCollections areScopeobjects, not strings. -
ScopeCollections define__iter__, yielding the provided scopes, but not__str__.
-
v3.60.0
v3.59.0
Added
-
Added the
TransferClient.set_subscription_admin_verified()method. (#1227) -
Updated
ComputeClientV2.get_endpointswith a newrolekwarg. (#1238)
Development
-
Convert the CHANGELOG to Markdown-compatible headers.
This resolves rendering issues in Dependabot PRs in the CLI,
and simplifies compatibility between RST and Markdown.