Releases: globus/globus-sdk-python
v4.3.0
Added
-
Added support to the
TransferClientfor the Streams API (#1351)CreateTunnelDatais a payload builder for tunnel creation documentsTransferClient.create_tunnel()supports tunnel creationTransferClient.update_tunnel()supports updates to a tunnelTransferClient.get_tunnel()fetches a tunnel by IDTransferClient.delete_tunnel()deletes a tunnelTransferClient.list_tunnels()fetches all of the current user's tunnelsTransferClient.get_stream_access_point()fetches a Stream Access Point by ID
v4.2.0
Python Support
Added
-
GlobusAppand SDK client classes now support usage as context managers, and feature a newclose()method to close internal resources.close()is automatically called on exit. (#1326)-
In support of this, token storages now all feature a
close()method, which does nothing in the default implementation.
Previously, only storages with underlying resources to manage featured aclose()method. -
GlobusAppwill close any token storage viaclose()if the token storage was created by the app on init. Explicitly created storages will not be closed and must be explicitly closed via theirclose()method. -
Any class inheriting from
BaseClientfeaturesclose(), which will close any transport object created during client construction. -
Transports which are created explicitly will not be closed by their clients, and must be explicitly closed.
-
-
Add
TimersClient.add_app_flow_user_scopeforTimersClientinstances which are integrated withGlobusApp. This method registers the specific flowuserscope dependency needed for a flow timer. (#1333) -
Added automatic Globus Auth Requirements Error (GARE) redriving to GlobusApp (#1339).
- More details available at
globus_app_gare_integration - This feature is disabled by default but can be turned on by setting
auto_retry_gares=Truein a GlobusAppConfig.
- More details available at
Fixed
- Fixed a resource leak in which a
GlobusAppwould create internal client objects and never close the associated transports. (#1326)
Development
- Added a new
make installrecipe.
v4.1.0
v4.0.1
v4.0.0
v3.65.0
Added
- Add a
FlowTimerpayload class to aid in creating timers that run flows. - Add the
statusesparameter toGroupsClient.get_my_groups(). (#1317) - Add
.change_role()to the Globus GroupsBatchMembershipActionshelper class. (#1318) - Add
.change_roles()to the Globus GroupsGroupsManagerclass. (#1318)
Development
- Fix a Poetry deprecation warning in the test suite. (#1320)
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)