Skip to content

Commit

Permalink
Merge pull request #197 from sirosen/release/0.20.1
Browse files Browse the repository at this point in the history
Release v0.20.1
  • Loading branch information
sirosen authored Dec 4, 2024
2 parents e341731 + cc79958 commit 9b4188e
Show file tree
Hide file tree
Showing 25 changed files with 467 additions and 528 deletions.
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ repos:

# Enforce Python 3.8+ idioms.
- repo: https://github.com/asottile/pyupgrade
rev: v3.17.0
rev: v3.19.0
hooks:
- id: pyupgrade
args: [--py38-plus]
Expand All @@ -45,10 +45,10 @@ repos:
hooks:
- id: flake8
additional_dependencies:
- flake8-bugbear==24.8.19
- flake8-bugbear==24.10.31

- repo: https://github.com/sirosen/slyp
rev: 0.7.1
rev: 0.8.1
hooks:
- id: slyp

Expand Down
29 changes: 29 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,35 @@ Unreleased changes are documented in files in the `changelog.d`_ directory.

.. scriv-insert-here
.. _changelog-0.20.1:

0.20.1 — 2024-12-04
===================

Deprecations
------------

* ``AuthState.get_dependent_tokens`` is now deprecated. It will be removed in
a future release.

Features
--------

* A new component, ``ClientFactory`` is now exposed in
``globus_action_provider_tools.client_factory``. This allows users to
customize the transport-layer settings used for Auth and Groups clients which
are constructed by the Action Provider Tools library, and sets initial
parameters for this tuning.

* The number of retries for both client types is reduced to 1 (from an
SDK-default of 5).
* The HTTP timeout is reduced to 30 seconds (from an SDK default of 60s).
* The max sleep duration is reduced to 5 seconds (from an SDK default of
10s).
* ActionProviderConfig, AuthStateBuilder, and AuthState are all customized to
accept a ClientFactory, and to use the client factory for any client
building operations.

.. _changelog-0.20.0:

0.20.0 — 2024-11-07
Expand Down
Binary file removed docs/source/_static/images/globus_110x110.png
Binary file not shown.
Binary file added docs/source/_static/images/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 1 addition & 7 deletions docs/source/action_provider_interface.rst
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
Action Provider Interface
=========================

We provide an overview of the *Action Provider Interface* as a guide for use
when implementing an *Action Provider*.

.. raw:: html
:file: cli/example_action_run.html

The Action Provider Interface is a RESTful model for starting, monitoring,
canceling and removing state associated with the invocation of an Action.
Following the REST resource life-cycle pattern, each Action invocation returns
Expand All @@ -24,7 +18,7 @@ Life-cycle described below specifically supports these execution modes as well
as handling failures and Actions which may be, temporarily, unable to make
progress.

Action Life-cycle
Action Lifecycle
^^^^^^^^^^^^^^^^^

The Life-cycle of an Action defines the set of states that the Action may be in,
Expand Down
18 changes: 0 additions & 18 deletions docs/source/cli/example_action_request.html

This file was deleted.

12 changes: 0 additions & 12 deletions docs/source/cli/example_action_run.html

This file was deleted.

8 changes: 0 additions & 8 deletions docs/source/cli/export_credentials.html

This file was deleted.

8 changes: 0 additions & 8 deletions docs/source/cli/introspect_client.html

This file was deleted.

15 changes: 0 additions & 15 deletions docs/source/cli/query_scope_uuid.html

This file was deleted.

34 changes: 12 additions & 22 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,33 +42,23 @@
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = "sphinx_material"
html_logo = "_static/images/globus_110x110.png"
html_theme = "furo"
html_logo = "_static/images/logo.png"
html_title = "globus-action-provider-tools"

# Material theme options (see theme.conf for more information)
# Theme options (see theme.conf for more information)
html_theme_options = {
# Set the name of the project to appear in the navigation.
"nav_title": "Globus Action Provider Tools",
# Set the color and the accent color
"color_primary": "blue",
"color_accent": "light-blue",
# Set the repo location to get a badge with stats
"repo_url": "https://github.com/globus/action-provider-tools",
"repo_name": "Action Provider Tools",
# Visible levels of the global TOC; -1 means unlimited
"globaltoc_depth": 2,
# If False, expand all TOC entries
"globaltoc_collapse": True,
# If True, show hidden TOC entries
"globaltoc_includehidden": False,
"repo_type": "github",
"master_doc": True,
"light_css_variables": {
"color-brand-primary": "#27518F",
},
}
pygments_style = "stata-light"

html_sidebars = {
"**": ["logo-text.html", "globaltoc.html", "localtoc.html", "searchbox.html"]
}
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = "friendly"
pygments_dark_style = "monokai" # this is a furo-specific option

html_show_sourcelink = True

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
Expand Down
37 changes: 13 additions & 24 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
@@ -1,35 +1,24 @@
Globus Action Provider - Python SDK
=====================================

This SDK is a Python toolkit to help developers create Action Providers for use
in `Globus <https://www.globus.org>`_ Automate or for invocation via Globus
Flows.
This SDK is a Python framework for creating Action Providers for
invocation via `Globus Flows <https://docs.globus.org/api/flows/>`_.

The *Globus Flows* service
provides a means of coordinating multiple actions across potentially long
periods of time to perform orchestration of complex processes.

Actions require a uniform interface for invocation, monitoring, and termination.
We refer to the service endpoints which can be invoked
in this manner as *Action Providers* and this uniform interface for interacting
with Action Providers as the *Action Provider Interface*.

This toolkit is experimental and no support is implied for any sort of use of
this package. It is published for ease of distribution among those planning
to use it for its intended experimental purpose.


Introduction
============

The fundamental purpose of the Globus Automate platform is to tie together
multiple operations or units of work into a coordinated orchestration. We refer
to each of these operations as an *Action*. In particular, the *Flows* service
provides a means of coordinating multiple actions across potentially long
periods of time to perform some aggregate function larger than any single Action
provides. The *Triggers* service ties *Events*, or occurrences within a managed
environment, to Actions such that each occurrence of the Event automatically
invokes the Action associated with it.

In both the Flows and the Triggers cases, the Actions require a uniform
interface for invocation, monitoring and possibly termination so that new
Actions may be introduced without requiring customization or re-implementation
of the invoking services. We refer to the service endpoints which can be invoked
in this manner as *Action Providers* and the uniform interface for interacting
with the Action Providers as the *Action Provider Interface*. This toolkit
facilitates the creation of custom Action Providers which can be invoked
throughout the Globus Automate platform.
Table of Contents
-----------------

.. toctree::
:maxdepth: 2
Expand Down
2 changes: 1 addition & 1 deletion docs/source/license.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
License
=======

Copyright 2016 University of Chicago
Copyright 2016-2024 University of Chicago

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ build-backend = "poetry.core.masonry.api"

[tool.poetry]
name = "globus-action-provider-tools"
version = "0.20.0"
version = "0.20.1"
description = "Tools to help developers build services that implement the Action Provider specification."
authors = [
"Globus Team <[email protected]>",
Expand Down
Loading

0 comments on commit 9b4188e

Please sign in to comment.