Globus-sdk

Latest version: v3.50.0

Safety actively analyzes 701475 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 8 of 16

3.11.0

--------------------

Added
~~~~~

* Implement ``__dir__`` for the lazy importer in ``globus_sdk``. This
enables tab completion in the interpreter and other features with
rely upon ``dir(globus_sdk)`` (:pr:`603`)

* Add an initial Globus Flows client class, ``globus_sdk.FlowsClient`` (:pr:`604`)

* ``globus_sdk.FlowsAPIError`` is the error class for this client
* ``FlowsClient.list_flows`` is implemented as a method for listing deployed
flows, with some of the filtering parameters of this API supported as
keyword arguments
* The scopes for the Globus Flows API can be accessed via
``globus_sdk.scopes.FlowsScopes`` or ``globus_sdk.FlowsClient.scopes``

Changed
~~~~~~~

* Adjust behaviors of ``TransferData`` and ``TimerJob`` to make
``TimerJob.from_transfer_data`` work and to defer requesting the
``submission_id`` until the task submission call (:pr:`602`)

* ``TransferData`` avoids passing ``null`` for several values when they are
omitted, ranging from optional parameters to ``add_item`` to
``skip_activation_check``

* ``TransferData`` and ``DeleteData`` now support usage in which the
``transfer_client`` parameters is ``None``. In these cases, if
``submission_id`` is omitted, it will be omitted from the document,
allowing the creation of a partial task submsision document with no
``submission_id``

* ``TimerJob.from_transfer_data`` will now raise a ``ValueError`` if the input
document contains ``submission_id`` or ``skip_activation_check``

* ``TransferClient.submit_transfer`` and ``TransferClient.submit_delete`` now
check to see if the data being sent contains a ``submission_id``. If it does
not, ``get_submission_id`` is called automatically and set as the
``submission_id`` on the payload. The new ``submission_id`` is set on the
object passed to these methods, meaning that these methods are now
side-effecting.

The newly recommended usage for ``TransferData`` and ``DeleteData`` is to pass
the endpoints as named parameters:

.. code-block:: python

-- for TransferData --
old usage
transfer_client = TransferClient()
transfer_data = TransferData(transfer_client, ep1, ep2)
new (recommended) usage
transfer_data = TransferData(source_endpoint=ep1, destination_endpoint=ep2)

-- for DeleteData --
old usage
transfer_client = TransferClient()
delete_data = TransferData(transfer_client, ep)
new (recommended) usage
delete_data = DeleteData(endpoint=ep)

.. _changelog-3.10.1:

3.10.1

--------------------

Changed
~~~~~~~

* Use ``setattr`` in the lazy-importer. This makes attribute access after
imports faster by several orders of magnitude. (:pr:`591`)

Documentation
~~~~~~~~~~~~~

* Add guest collection example script to docs (:pr:`590`)

.. _changelog-3.10.0:

3.10.0

--------------------

Removed
~~~~~~~

* Remove nonexistent ``monitor_ongoing`` scope from ``TransferScopes`` (:pr:`583`)

Added
~~~~~

* Add User Credential methods to ``GCSClient`` (:pr:`582`)

* ``get_user_credential_list``
* ``get_user_credential``
* ``create_user_credential``
* ``update_user_credential``
* ``delete_user_credential``

* Add ``connector_id_to_name`` helper to ``GCSClient`` to resolve GCS Connector
UUIDs to human readable Connector display names (:pr:`582`)

.. _changelog-3.9.0:

3.9.0

-------------------

Added
~~~~~

* Add helper objects and methods for interacting with Globus Connect Server
Storage Gateways (:pr:`554`)

* New methods on ``GCSClient``: ``create_storage_gateway``, ``get_storage_gateway``,
``get_storage_gateway_list``, ``update_storage_gateway``,
``delete_storage_gateway``

* New helper classes for constructing storage gateway documents.
``StorageGatewayDocument`` is the main one, but also
``POSIXStoragePolicies`` and ``POSIXStagingStoragePolicies`` are added for
declaring the storage gateway ``policies`` field. More policy helpers will
be added in future versions.

* Add support for more ``StorageGatewayPolicies`` documents. (:pr:`562`)
The following types are now available:

* ``BlackPearlStoragePolicies``
* ``BoxStoragePolicies``
* ``CephStoragePolicies``
* ``GoogleDriveStoragePolicies``
* ``GoogleCloudStoragePolicies``
* ``OneDriveStoragePolicies``
* ``AzureBlobStoragePolicies``
* ``S3StoragePolicies``
* ``ActiveScaleStoragePolicies``
* ``IrodsStoragePolicies``
* ``HPSSStoragePolicies``

* Add ``https`` scope to ``GCSCollectionScopeBuilder`` (:pr:`563`)

* ``ScopeBuilder`` objects now implement ``__str__`` for easy viewing.
For example, ``print(globus_sdk.TransferClient.scopes)`` (:pr:`568`)

* Several improvements to Transfer helper objects (:pr:`573`)

* Add ``TransferData.add_filter_rule`` for adding filter rules (exclude
rules) to transfers

* Add ``skip_activation_check`` as an argument to ``DeleteData`` and
``TransferData``

* The ``sync_level`` argument to ``TransferData`` is now annotated more
accurately to reject bad strings

Changed
~~~~~~~

* Update the fields used to extract ``AuthAPIError`` messages (:pr:`566`)

* Imports from ``globus_sdk`` are now evaluated lazily via module-level
``__getattr__`` on python 3.7+ (:pr:`571`)

* This improves the performance of imports for almost all use-cases, in some
cases by over 80%

* The method ``globus_sdk._force_eager_imports()`` can be used to force
non-lazy imports, for latency sensitive applications which wish to control
when the time cost of import evaluation is paid. This method is private and is
therefore is not covered under the ``globus-sdk``'s SemVer guarantees, but it is
expected to remain stable for the foreseeable future.

* Improve handling of array-style API responses (:pr:`575`)

* Response objects now define ``__bool__`` as ``bool(data)``. This
means that ``bool(response)`` could be ``False`` if the data is ``{}``,
``[]``, ``0``, or other falsey-types. Previously,
``__bool__`` was not defined, meaning it was always ``True``

* ``globus_sdk.response.ArrayResponse`` is a new class which describes
responses which are expected to hold a top-level array. It satisfies the
sequence protocol, allowing indexing with integers and slices, iteration
over the array data, and length checking with ``len(response)``

* ``globus_sdk.GroupsClient.get_my_groups`` returns an ``ArrayResponse``,
meaning the response data can now be iterated and otherwise used

.. _changelog-3.8.0:

3.8.0

-------------------

Added
~~~~~

* Several changes expose more details of HTTP requests (:pr:`551`)

* ``GlobusAPIError`` has a new property ``headers`` which provides the
case-insensitive mapping of header values from the response

* ``GlobusAPIError`` and ``GlobusHTTPResponse`` now include ``http_reason``,
a string property containing the "reason" from the response

* ``BaseClient.request`` and ``RequestsTransport.request`` now have options
for setting boolean options ``allow_redirects`` and ``stream``, controlling
how requests are processed

* New tools for working with optional and dependent scope strings (:pr:`553`)

* A new class is provided for constructing optional and dependent scope
strings, ``MutableScope``. Import as in
``from globus_sdk.scopes import MutableScope``

* ``ScopeBuilder`` objects provide a method, ``make_mutable``, which converts
from a scope name to a ``MutableScope`` object. See documentation on scopes
for usage details

.. _changelog-3.7.0:

3.7.0

-------------------

Added
~~~~~

* Add a client for the Timer service (:pr:`548`)

* Add ``TimerClient`` class, along with ``TimerJob`` for constructing data
to pass to the Timer service for job creation, and ``TimerAPIError``
* Modify ``globus_sdk.config`` utilities to provide URLs for Actions and
Timer services

Fixed
~~~~~

* Fix annotations to allow request data to be a string. This is
supported at runtime but was missing from annotations. (:pr:`549`)

.. _changelog-3.6.0:

Page 8 of 16

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.