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.

Files for sfn_workflow_client, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size sfn_workflow_client-0.3.0-py3-none-any.whl (12.9 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size sfn_workflow_client-0.3.0.tar.gz (11.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page