Skip to main content

Tools to help developers build services that implement the Action Provider specification.

Project description

CI Status Documentation Status PyPi Package Compatible Python Versions Code Style

This is an experimental toolkit to help developers build Action Providers for use in Globus Automate including for invocation via Globus Flows.

As this is experimental, no support is implied or provided 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.

Basic Usage

Install the base toolkit with pip install globus_action_provider_tools

You can then import the toolkit’s standalone components from globus_action_provider_tools. This is useful in instances where you want to use pieces of the library to perform a function (such as token validation via the TokenChecker or API schema validation via the ActionStatus or ActionRequest) and plug into other web frameworks.

from flask import Flask
from globus_action_provider_tools import ActionProviderDescription

description = ActionProviderDescription(
    globus_auth_scope="https://auth.globus.org/scopes/00000000-0000-0000-0000-000000000000/action_all",
    title="My Action Provider",
    admin_contact="support@example.org",
    synchronous=True,
    input_schema={
        "$id": "whattimeisitnow.provider.input.schema.json",
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "Exmaple Action Provider",
        "type": "object",
        "properties": {"message": {"type": "string"}},
        "required": ["message"],
        "additionalProperties": False,
    },
    api_version="1.0",
    subtitle="Just an example",
    description="",
    keywords=["example", "testing"],
    visible_to=["public"],
    runnable_by=["all_authenticated_users"],
    administered_by=["support@example.org"],
)

To install the Flask helpers as well for use specifically in developing Flask based Action Providers, install this library using pip install globus_action_provider_tools[flask]

Reporting Issues

If you’re experiencing a problem using globus_action_provider_tools, or have an idea for how to improve the toolkit, please open an issue in the repository and share your feedback.

Testing, Development, and Contributing

Welcome and thank you for taking the time to contribute!

The globus_action_provider_tools package is developed using poetry so to get started you’ll need to install poetry. Once installed, clone the repository and run make install to install the package and its dependencies locally in a virtual environment (typically .venv).

And that’s it, you’re ready to dive in and make code changes. Once you’re satisfied with your changes, be sure to run make autoformat to run the project’s autoformatters on your changes and make test to validate there are no breaking changes introduced. Both these steps must be run for us to accept incoming changes. Once you feel your work is ready to be submitted, feel free to create a PR.

PyPi Releases

Please follow the steps below when creating a new release of the toolkit:

  • Create a new release branch
    • git checkout -b release/X.Y.Z

  • Update the project’s dependencies
    • poetry update

  • Update the project version (follow semantic versioning) in pyproject.toml
    • poetry version patch|minor|major

  • Update the project version in globus_action_provider_tools/__init__.py

  • Create a pull request into the main branch, wait for CI tests to complete

  • Merge the passing pull request

  • Create and publish a git tag for the new release
    • git tag v$(poetry version -s)

    • git push –tags

  • Create a new GH release that references the recently created tag. Provide release notes with information on the changeset. Once the release is created, there’s a GH workflow that will build the toolkit and publish it to pypi.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

globus-action-provider-tools-0.11.3.tar.gz (29.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

globus_action_provider_tools-0.11.3-py3-none-any.whl (36.2 kB view details)

Uploaded Python 3

File details

Details for the file globus-action-provider-tools-0.11.3.tar.gz.

File metadata

  • Download URL: globus-action-provider-tools-0.11.3.tar.gz
  • Upload date:
  • Size: 29.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.6.13 Linux/5.4.0-1047-azure

File hashes

Hashes for globus-action-provider-tools-0.11.3.tar.gz
Algorithm Hash digest
SHA256 3ed8d8c04f632efd0834a9c28aa6c9e79a420f3f08fa7dd23a35010011f81547
MD5 00f60948198b5d53684bce2fac4ced45
BLAKE2b-256 32b8e5805fd0967184ddc945dbc90db52121b34803a13557d0f33b184d909e7e

See more details on using hashes here.

File details

Details for the file globus_action_provider_tools-0.11.3-py3-none-any.whl.

File metadata

File hashes

Hashes for globus_action_provider_tools-0.11.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d482c680905eb521721f88835c24af3a3eff01aac451c10a82ddd122eaf7928e
MD5 749ec9dd77f11cecd43d723c6b93c70b
BLAKE2b-256 0158b4c16cf52394e2b88d5eebba1bace5a565dd583bc05b34faa546eaf4850c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page