Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.28.0a1 #1669

Merged
merged 2 commits into from
Sep 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

This file was deleted.

This file was deleted.

28 changes: 0 additions & 28 deletions changelog.d/20240906_104313_rjmello_support_globus_apps.rst

This file was deleted.

This file was deleted.

4 changes: 0 additions & 4 deletions changelog.d/20240909_171516_kevin_update_parsl.rst

This file was deleted.

17 changes: 0 additions & 17 deletions changelog.d/20240919_155327_chris_json_serializer.rst

This file was deleted.

2 changes: 1 addition & 1 deletion compute_endpoint/globus_compute_endpoint/version.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# single source of truth for package version,
# see https://packaging.python.org/en/latest/single_source_version/
__version__ = "2.27.1"
__version__ = "2.28.0a1"

# TODO: remove after a `globus-compute-sdk` release
# this is needed because it's imported by `globus-compute-sdk` to do the version check
Expand Down
2 changes: 1 addition & 1 deletion compute_endpoint/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
REQUIRES = [
"requests>=2.31.0,<3",
"globus-sdk", # version will be bounded by `globus-compute-sdk`
"globus-compute-sdk==2.27.1",
"globus-compute-sdk==2.28.0a1",
"globus-compute-common==0.4.1",
"globus-identity-mapping==0.3.0",
# table printing used in list-endpoints
Expand Down
2 changes: 1 addition & 1 deletion compute_sdk/globus_compute_sdk/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

# single source of truth for package version,
# see https://packaging.python.org/en/latest/single_source_version/
__version__ = "2.27.1"
__version__ = "2.28.0a1"


def compare_versions(
Expand Down
80 changes: 80 additions & 0 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,86 @@ Changelog

.. scriv-insert-here

.. _changelog-2.28.0a0:

globus-compute-sdk & globus-compute-endpoint v2.28.0a0
------------------------------------------------------

New Functionality
^^^^^^^^^^^^^^^^^

- The multi-user endpoint now saves user-endpoint standard file streams (aka
``stdout`` and ``stderr``) to the UEP's ``endpoint.log``. This makes it much
easier to identity implementation missteps that affect the early UEP boot
process, before the UEP's logging is bootstrapped.

- The SDK ``Client`` and ``WebClient`` now support using a ``GlobusApp`` for authentication.
For standard interactive login flows, users can leave the ``app`` argument blank when
initializing the ``Client``, or pass in a custom ``UserApp``. For client authentication,
users can leave the ``app`` argument blank and set the ``GLOBUS_COMPUTE_CLIENT_ID`` and
``GLOBUS_COMPUTE_CLIENT_SECRET`` environment variables, or pass in a custom ``ClientApp``.

For more information on how to use a ``GlobusApp``, see the `Globus SDK documentation
<https://globus-sdk-python.readthedocs.io/en/stable/experimental/examples/oauth2/globus_app.html>`_.

Users can still pass in a custom ``LoginManager`` to the ``login_manager`` argument, but
this is mutually exclusive with the ``app`` argument.

E.g.,

.. code-block:: python

from globus_compute_sdk import Client
from globus_sdk.experimental.globus_app import UserApp

gcc = Client()

# or

my_app = UserApp("my-app", client_id="...")
gcc = Client(app=my_app)

- Added a new data serialization strategy, ``JSONData``, which serializes/deserializes
function args and kwargs via JSON. Usage example:

.. code-block:: python

from globus_compute_sdk import Client, Executor
from globus_compute_sdk.serialize import JSONData

gcc = Client(
data_serialization_strategy=JSONData()
)

with Executor(<your endpoint UUID>, client=gcc) as gcx:
# do something with gcx

Bug Fixes
^^^^^^^^^

- We no longer raise an exception if a user defines the ``GLOBUS_COMPUTE_CLIENT_ID``
environment variable without defining ``GLOBUS_COMPUTE_SECRET_KEY``. The reverse,
however, will still raise an exception.

Removed
^^^^^^^

- Removed ``http_timeout``, ``funcx_home``, and ``task_group_id`` arguments to
:doc:`Client <reference/client>`, that were previously deprecated in
:ref:`v2.3.0 <changelog-2.3.0>` (Aug 2023)

Deprecated
^^^^^^^^^^

- The ``WebClient.user_app_name`` attribute has been marked for deprecation and
will be removed in a future release. Please directly use ``WebClient.app_name``
instead.

Changed
^^^^^^^

- Bumped ``parsl`` dependency version to `2024.9.9 <https://pypi.org/project/parsl/2024.9.9/>`_.

.. _changelog-2.27.1:

globus-compute-sdk & globus-compute-endpoint v2.27.1
Expand Down
Loading