Skip to main content

Enhanced, asyncio-compatible client for AWS Step Functions.

Project description

sfn-workflow-client

License

Enhanced, asyncio-compatible client for AWS Step Functions.

Features:

  • Trigger new executions
  • Query for state machine execution status
  • Wait for an execution to complete
  • Fetch execution history

Table of Contents:

Installation

sfn-workflow-client requires Python 3.6 or above.

pip install sfn-workflow-client

Guide

from sfn_workflow_client.enums import ExecutionStatus
from sfn_workflow_client.workflow import Workflow

# Initialize a workflow client
workflow = Workflow("my-state-machine")
# Fetch all executions
collection = await workflow.executions.fetch()
# Fetch currently running executions
collection = await workflow.executions.fetch(status=ExecutionStatus.running)
# Start a new execution
execution = await workflow.executions.create().start()
# Start a new execution and wait until it completes (useful for tests)
execution = await workflow.executions.start_sync()
# Find an execution by trace ID (for tests)
execution = await workflow.executions.fetch().find_by_trace_id("abc")
# Fetch the event history of an execution
events = await execution.events.fetch()

Development

To develop sfn-workflow-client, install dependencies and enable the pre-commit hook:

pip install pre-commit tox
pre-commit install

To run functional tests, you need to create an AWS IAM role with permissions to:

  • Create/update/delete state machines
  • Start/stop executions

Set the following environment variables:

  • AWS_ACCOUNT_ID
  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • AWS_DEFAULT_REGION
  • AWS_IAM_ROLE_ARN

To run tests:

tox

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

sfn_workflow_client-0.2.0.tar.gz (11.2 kB view hashes)

Uploaded Source

Built Distribution

sfn_workflow_client-0.2.0-py3-none-any.whl (13.1 kB view hashes)

Uploaded Python 3

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