Skip to content

Releases: globus/globus-sdk-python

v4.3.0

17 Dec 22:56
4.3.0
f0ee30a

Choose a tag to compare

Added

  • Added support to the TransferClient for the Streams API (#1351)

    • CreateTunnelData is a payload builder for tunnel creation documents
    • TransferClient.create_tunnel() supports tunnel creation
    • TransferClient.update_tunnel() supports updates to a tunnel
    • TransferClient.get_tunnel() fetches a tunnel by ID
    • TransferClient.delete_tunnel() deletes a tunnel
    • TransferClient.list_tunnels() fetches all of the current user's tunnels
    • TransferClient.get_stream_access_point() fetches a Stream Access Point by ID

v4.2.0

03 Dec 22:48
4.2.0
69a6d82

Choose a tag to compare

Python Support

  • Add support for Python 3.14. (#1340)

  • Remove support for Python 3.8. (#1341)

Added

  • GlobusApp and SDK client classes now support usage as context managers, and feature a new close() 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 a close() method.

    • GlobusApp will close any token storage via close() if the token storage was created by the app on init. Explicitly created storages will not be closed and must be explicitly closed via their close() method.

    • Any class inheriting from BaseClient features close(), 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_scope for TimersClient instances which are integrated with GlobusApp. This method registers the specific flow user scope 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=True in a GlobusAppConfig.

Fixed

  • Fixed a resource leak in which a GlobusApp would create internal client objects and never close the associated transports. (#1326)

Development

  • Added a new make install recipe.

v4.1.0

23 Oct 17:07
4.1.0
15101e5

Choose a tag to compare

Added

  • Updated create_flow and update_flow to accept an authentication policy to assign to a flow. (#1334)
    • Note: SDK support for this feature is being released in advance of service support, which will follow at a later time.

v4.0.1

13 Oct 16:13
4.0.1
3a18cb3

Choose a tag to compare

Fixed

  • Fix the route for TransferClient.set_subscription_admin_verified() (#1331)

v4.0.0

08 Oct 18:38
4.0.0
12056d0

Choose a tag to compare

No changes from v4.0.0b2

v3.65.0

03 Oct 01:56
3.65.0
a56fd4e

Choose a tag to compare

Added

  • Add a FlowTimer payload class to aid in creating timers that run flows.
  • Add the statuses parameter to GroupsClient.get_my_groups(). (#1317)
  • Add .change_role() to the Globus Groups BatchMembershipActions helper class. (#1318)
  • Add .change_roles() to the Globus Groups GroupsManager class. (#1318)

Development

  • Fix a Poetry deprecation warning in the test suite. (#1320)

v4.0.0b2

24 Sep 18:20
4.0.0b2
6a9e604

Choose a tag to compare

v4.0.0b2 Pre-release
Pre-release

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_check parameter for TransferData and DeleteData.
    • The recursive_symlinks parameter for TransferData.
    • The add_symlink_item method of TransferData.

Changed

  • Passing non-Scope types to Scope.with_dependency and Scope.with_dependencies now raises a TypeError. Previously, this was allowed at runtime but created an invalid Scope object. (#1300)

v3.64.0

24 Sep 16:14
3.64.0
38569b7

Choose a tag to compare

Added

  • Added SearchClient.update_index as a method for modifying index names and descriptions. (#1310)

Deprecated

  • The following Transfer features have been deprecated: (#1308, #1309)

    • The add_symlink_item method of TransferData.
      This is not supported by any collections.

    • The recursive_symlinks parameter to TransferData.
      This is not supported by any collections.

    • The skip_activation_check parameter to TransferData and DeleteData.
      This no longer has any effect when set.

v3.63.0

08 Sep 14:08
3.63.0
9d3fd95

Choose a tag to compare

Changed

  • Renamed the GroupsClient method set_subscription_admin_verified_id to
    set_subscription_admin_verified. (#1302)

    • GroupsClient.set_subscription_admin_verified_id still exists but emits a
      deprecation warning.

v4.0.0b1

31 Jul 20:30
4.0.0b1
40a0cf7

Choose a tag to compare

v4.0.0b1 Pre-release
Pre-release

Breaking Changes

  • The RequestsTransport object has been refactored to separate it from configuration which controls request retries. A new RetryConfig object is introduced and provided as client.retry_config on all client types. The interface for controlling these configurations has been updated. (#1275)

    • The transport_class attribute has been removed from client classes.

    • Clients now accept transport, an instance of RequestsTransport, and retry_config, an instance of RetryConfig, instead of transport_params.

    • Users seeking to customize the retry backoff, sleep maximum, and max retries should now use retry_config, as these are no longer controlled through transport.

    • The capabilities of the RequestsTransport.tune() context manager have been divided into RequestsTransport.tune() and RetryConfig.tune().

    • The retry configuration is exposed to retry checks as an attribute of the RequestCallerInfo, which is provided on the RetryContext. As a result, checks can examine the configuration.

  • Interfaces for normalizing scope data have changed. (#1289)

    • The scopes_to_str function has been replaced with ScopeParser.serialize.

    • ScopeParser.serialize will 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_list function has been removed.

Removed

  • Removed the filter_role parameter to FlowsClient.list_flows.
    This parameter was deprecated in globus-sdk version 3. (#1291)

  • Removed SearchClient.update_entry.
    This method was deprecated in globus-sdk version 3. (#1292)

  • Removed SearchClient.create_entry.
    This method was deprecated in globus-sdk version 3. (#1293)

  • Removed the SearchQuery type. Users should use SearchQueryV1 instead.
    SearchQuery was deprecated in globus-sdk version 3. (#1294)

Changed

  • The legacy token storage adapters are now only available from the globus_sdk.token_storage.legacy subpackage.
    Users are encouraged to migrate to the newer tooling available directly from globus_sdk.token_storage. (#1290)

  • Update warn_deprecated to emit RemovedInV5Warning and remove RemovedInV4Warning class (#1295)