Releases: globus/globus-sdk-python
Release list
v4.8.1
v4.8.0
Added
-
The SDK now supports use of
orjsonas an alternative JSON encoder and decoder. Whenorjsonis installed, the SDK will automatically use it in place of the stdlibjsonmodule. (#1385) -
RequestsTransportobjects are now visible viaRequestsTransport.get_current_transport(), a staticmethod, while the transport is sending a request or being used to handle a response. This method raises aLookupErrorif there is no currently active transport. (#1385) -
The request encoders defined in
globus_sdk.transporthave been refactored intoRequestsRepresentationProvider\s, objects responsible for encoding and decodingrequestsdata in specific formats. In order to retain compatibility, they are still available aliased under their previous names, as "encoders". (#1385)
Removed
- The
pinnedfield was removed from the experimentalBookmarkCreateDocumentandBookmarkUpdateDocumentclasses to align with the API, which does not support the field.
Deprecated
-
The
RequestsTransportclass supports configuration of request encoding via a class-variable mapping,encoders. This limits the ability of the SDK to apply per-object customizations, as in the case oforjsonsupport. The class variableencodersis deprecated. Users who wish to customize request encoding and response decoding should leverage the newrepresentation_providersinstance variable instead. -
The
globus_sdk.transport.encodersmodule is deprecated. Useglobus_sdk.transport.representation_providersinstead.
v4.7.0
v4.6.0
Added
-
Support for managing bookmarks via the Transfer v2 client (#1379)
-
Added
FlowsClient.get_registered_api(), which retrieves a registered API by ID. (#1386) -
Added
FlowsClient.list_registered_apis(), which retrieves a list of registered APIs. (#1387)
Fixed
- Switch to lazy reading of response json to work with streaming responses. (#1381)
v4.5.0
Added
-
Added a new
globus_sdk.experimental.gcs_downloadermodule which provides experimental tooling for downloading files from HTTPS GCS Collections. The new module provides aGCSDownloaderclass for detecting requirements and downloading files. (#1342) -
Added the experimental
TransferClientV2client class along with helper classesTunnelCreateDocumentandTunnelUpdateDocument(#1370) -
JSON:API iteration and pagination is now supported through
IterableJSONAPIResponseandJSONAPIPaginator(#1370) -
Added a new
GCSCollectionClientclass inglobus_sdk.experimental.gcs_collection_client.
The new client has no methods other than the base HTTP ones, but contains the collection ID and scopes in the correct locations for the SDK token management mechanisms to use. (#1375) -
Added support for
filter_rolesas a parameter toSearchClient.index_list. (#1376)
Changed
- All tunnels support in
TransferClienthas been labeled as Beta as the underlying API is still in development. For the most up to date interfaces it is recommended to use theTransferClientV2(#1370)
Fixed
- Various fixes for tunnels support in
TransferClient(#1370)
v4.4.1
v4.4.0
v4.3.1
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.