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 2 of 16

3.44.0

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

Added
~~~~~

- Added a reference to the new Flows all scope under
``globus_sdk.scopes.FlowsScopes.all``. (:pr:`1016`)

.. rubric:: Experimental

- Added support for ``ScopeCollectionType`` to GlobusApp's ``__init__`` and
``add_scope_requirements`` methods. (:pr:`1020`)

Changed
~~~~~~~

- Updated ``ScopeCollectionType`` to be defined recursively. (:pr:`1020`)

- ``TransferClient.add_app_data_access_scope`` now raises an error if it is
given an invalid collection ID. (:pr:`1022`)

.. rubric:: Experimental

- Changed the experimental ``GlobusApp`` class in the following way (:pr:`1017`):

- ``app_name`` is no longer required (defaults to "Unnamed Globus App")

- Token storage now defaults to including the client id in the path.

- Old (unix) : ``~/.globus/app/{app_name}/tokens.json``

- New (unix): ``~/.globus/app/{client_id}/{app_name}/tokens.json``

- Old (win): ``~\AppData\Local\globus\app\{app_name}\tokens.json``

- New (win): ``~\AppData\Local\globus\app\{client_id}\{app_name}\tokens.json``

- ``GlobusAppConfig.token_storage`` now accepts shorthand string references:
``"json"`` to use a ``JSONTokenStorage``, ``"sqlite"`` to use a
``SQLiteTokenStorage`` and ``"memory"`` to use a ``MemoryTokenStorage``.

- ``GlobusAppConfig.token_storage`` also now accepts a ``TokenStorageProvider``,
a class with a ``for_globus_app(...) -> TokenStorage`` class method.

- Renamed the experimental ``FileTokenStorage`` attribute ``.filename`` to
``.filepath``.

- Changed the experimental ``GlobusApp`` class in the following ways (:pr:`1018`):

- ``LoginFlowManagers`` now insert ``GlobusApp.app_name`` into any native
client login flows as the ``prefill_named_grant``.

- ``GlobusAppConfig`` now accepts a ``login_redirect_uri`` parameter to specify
the redirect URI for a login flow.

- Invalid when used with a ``LocalServerLoginFlowManager``.

- Defaults to ``"https://auth.globus.org/v2/web/auth-code"`` for native
client flows. Raises an error if not set for confidential ones.

- ``UserApp`` now allows for the use of confidential client flows with the use of
either a ``LocalServerLoginFlowManager`` or a configured ``login_redirect_uri``.

- ``GlobusAppConfig.login_flow_manager`` now accepts shorthand string references
``"command-line"`` to use a ``CommandLineLoginFlowManager`` and
``"local-server"`` to use a ``LocalServerLoginFlowManager``.

- ``GlobusAppConfig.login_flow_manager`` also now accepts a
``LoginFlowManagerProvider``, a class with a
``for_globus_app(...) -> LoginFlowManager`` class method.

Development
~~~~~~~~~~~

- Added a scope normalization function ``globus_sdk.scopes.scopes_to_scope_list`` to
translate from ``ScopeCollectionType`` to a list of ``Scope`` objects.
(:pr:`1020`)

.. _changelog-3.43.0:

3.43.0

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

Added
~~~~~

- The ``TransferClient.task_list`` method now supports ``orderby`` as a
parameter. (:pr:`1011`)

Changed
~~~~~~~

- The ``SQLiteTokenStorage`` component in ``globus_sdk.experimental`` has been
changed in several ways to improve its interface. (:pr:`1004`)

- ``:memory:`` is no longer accepted as a database name. Attempts to use it
will trigger errors directing users to use ``MemoryTokenStorage`` instead.

- Parent directories for a target file are automatically created, and this
behavior is inherited from the ``FileTokenStorage`` base class. (This was
previously a feature only of the ``JSONTokenStorage``.)

- The ``config_storage`` table has been removed from the generated database
schema, the schema version number has been incremented to ``2``, and
methods and parameters related to manipulation of ``config_storage`` have
been removed.

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

- Added a new experimental "Updated Examples" section which rewrites and reorders
many examples to aid in discovery. (:pr:`1008`)

- ``GlobusApp``, ``UserApp`, and ``ClientApp`` class reference docs. (:pr:`1013`)

- Added a narrative example titled ``Using a GlobusApp`` detailing the basics of
constructing and using a GlobusApp. (:pr:`1013`)

- Remove unwritten example updates from toctree. (:pr:`1014`)

.. _changelog-3.42.0:

3.42.0

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

Python Support
~~~~~~~~~~~~~~

- Remove support for Python 3.7. (:pr:`997`)

Added
~~~~~

- Add ``globus_sdk.ConnectorTable`` which provides information on supported
Globus Connect Server connectors. This object maps names to IDs and vice versa. (:pr:`955`)

- Support adding query parameters to ``ConfidentialAppAuthClient.oauth2_token_introspect``
via a ``query_params`` argument. (:pr:`984`)

- Add ``get_gcs_info`` as a helper method to ``GCSClient`` for getting information
from a Globus Connect Server's ``info`` API route.

- Add ``endpoint_client_id`` as a property to ``GCSClient``.

- Clients will now emit a ``X-Globus-Client-Info`` header which reports the
version of the ``globus-sdk`` which was used to send a request. Users may
customize this header further by modifying the ``globus_client_info`` object
attached to the transport object. (:pr:`990`)

.. rubric:: Experimental

- Add a new abstract class, ``TokenStorage``, to ``experimental``.
``TokenStorage`` expands the functionality of ``StorageAdapter`` but is not
fully backwards compatible. (:pr:`980`)

- ``FileTokenStorage``, ``JSONTokenStorage``, ``MemoryTokenStorage`` and
``SQLiteTokenStorage`` are new concrete implementations of ``TokenStorage``.

- Add ``ValidatingStorageAdapter`` to ``experimental``, which validates that
identity is maintained and scope requirements are met on token
storage/retrieval. (:pr:`978`, :pr:`980`)

- Add a new abstract class, ``AuthorizerFactory`` to ``experimental``.
``AuthorizerFactory`` provides an interface for getting a
``GlobusAuthorizer`` from a ``ValidatingTokenStorage``. (:pr:`985`)

- ``AccessTokenAuthorizerFactory``, ``RefreshTokenAuthorizerFactory``, and
``ClientCredentialsAuthorizerFactory`` are new concrete implementations
of ``AuthorizerFactory``.

- Add a new abstract class, ``GlobusApp`` to ``experimental``. A ``GlobusApp``
is an abstraction which allows users to define their authorization
requirements implicitly and explicitly, attach that state to their
various clients, and drive login flows. (:pr:`986`)

- ``UserApp`` and ``ClientApp`` are new implementations of ``GlobusApp``
which handle authentications for user-login and client-credentials.

- ``GlobusAppConfig`` is an object which can be used to control
``GlobusApp`` behaviors.

- Add ``app`` as an optional argument to ``BaseClient`` which will accept a
``GlobusApp`` to handle authentication, token validation, and token storage when
using the client.

- Add ``default_scope_requirements`` as a property to ``BaseClient``
for subclasses to define scopes to automatically be used with a ``GlobusApp``. The
default implementation raises a ``NotImplementedError``.

- Add ``add_app_scope`` to ``BaseClient`` as an interface for adding additional
scope requirements to its ``app``.

- ``AuthClient``, ``FlowsClient``, ``GCSClient``, ``GroupsClient``, ``SearchClient``,
``TimerClient``, and ``TransferClient`` all add ``app`` as an optional argument and
define ``default_scope_requirements`` so that they can be used with a ``GlobusApp``.

- Add ``add_app_data_access_scope`` to ``TransferClient`` as an interface
for adding a dependent data access scope requirements needed for interacting
with standard Globus Connect Server mapped collections to its ``app``.

- Auto-login (overridable in config) GlobusApp login retry on token validation error. (:pr:`994`)

- Added the configuration parameter ``GlobusAppConfig.environment``. (:pr:`1001`)

Changed
~~~~~~~

- ``GCSClient`` instances now have a non-None ``resource_server`` property.

- ``GlobusAuthorizationParameters`` no longer enforces that at least one
field is set. (:pr:`989`)

- Improved the validation and checking used inside of
``globus_sdk.tokenstorage.SimpleJSONFileAdapter`` and
``globus_sdk.experimental.tokenstorage.JSONTokenStorage``. (:pr:`997`)

Deprecated
~~~~~~~~~~

- ``GCSClient.connector_id_to_name`` has been deprecated.
Use ``ConnectorTable.lookup`` instead. (:pr:`955`)

Fixed
~~~~~

.. rubric:: Experimental

- When a ``JSONTokenStorage`` is used, the containing directory will be automatically be
created if it doesn't exist. (:pr:`998`)

- ``GlobusApp.add_scope_requirements`` now has the side effect of clearing the
authorizer cache for any referenced resource servers. (:pr:`1000`)

- ``GlobusAuthorizer.scope_requirements`` was made private and a new method for
accessing scope requirements was added at ``GlobusAuthorizer.get_scope_requirements``.
(:pr:`1000`)

- A ``GlobusApp`` will now auto-create an Auth consent client for dependent scope
evaluation against consents as a part of instantiation. (:pr:`1000`)

- Fixed a bug where specifying dependent tokens in a new ``GlobusApp`` would cause the app
to infinitely prompt for log in. (:pr:`1002`)

- Fixed a ``GlobusApp`` bug which would cause LocalServerLoginFlowManager to error on
MacOS when versions earlier than Python 3.11. (:pr:`1003`)

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

- Document how to manage Globus SDK warnings. (:pr:`988`)

.. _changelog-3.41.0:

3.41.0

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

Added
~~~~~

- Added a new AuthClient method ``get_consents`` and supporting local data objects.
These allows a client to poll and interact with the current Globus Auth consent state
of a particular identity rooted at their client. (:pr:`971`)

- Added ``LoginFlowManager`` and ``CommandLineLoginFLowManager`` to experimental (:pr:`972`)

- Added ``LocalServerLoginFlowManager`` to experimental (:pr:`977`)

- Added support to ``FlowsClient`` for the ``validate_flow`` operation of the
Globus Flows service. (:pr:`979`)

.. _changelog-3.40.0:

3.40.0

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

Added
~~~~~

- Add ``globus_sdk.tokenstorage.MemoryAdapter`` for the simplest possible
in-memory token storage mechanism. (:pr:`964`)

- ``ConfidentialAppAuthClient.oauth2_get_dependent_tokens`` now supports the
``scope`` parameter as a string or iterable of strings. (:pr:`965`)

- Moved scope parsing out of experimental. The ``Scope`` construct is now importable from
the top level ``globus_sdk`` module. (:pr:`966`)

- Support updating subscriptions assigned to flows in the Flows service. (:pr:`974`)

Development
~~~~~~~~~~~

- Fix concurrency problems in the test suite caused by isort's ``.isorted`` temporary files. (:pr:`973`)

.. _changelog-3.39.0:

3.39.0

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

Added
~~~~~

- Added ``TransferClient.operation_stat`` helper method for getting the status of a path on a collection (:pr:`961`)

.. _changelog-3.38.0:

Page 2 of 16

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.