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.

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.15.0.tar.gz (32.2 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file globus_action_provider_tools-0.15.0.tar.gz.

File metadata

File hashes

Hashes for globus_action_provider_tools-0.15.0.tar.gz
Algorithm Hash digest
SHA256 3289f3fbdf343e1af62bd49eddb836dd7bb683dacc7a1c5f125073daa3aff37e
MD5 cdfc9351dbb0dbf702a5332af7944f7a
BLAKE2b-256 a05dbd5da8e020d6ae2b142bf7c56a98233a9d37da83ce48385f4aa46160700e

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for globus_action_provider_tools-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7ea0831205f6853275f58c644b9a21d903fc0e81fe9ede0e03433f2d23f0eff9
MD5 5f54c3bd334f019c329ada0544e0e87b
BLAKE2b-256 11b48dad2910fea3b7184bda1ba5e1dc9e893985d8c16c40d211107640434037

See more details on using hashes here.

Provenance

Supported by

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