Skip to main content

Enhanced, asyncio-compatible client for AWS Step Functions.

Project description

sfn_workflow_client

CircleCI 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-1.1.1.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

sfn_workflow_client-1.1.1-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file sfn_workflow_client-1.1.1.tar.gz.

File metadata

  • Download URL: sfn_workflow_client-1.1.1.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.7 Linux/5.13.0-1023-aws

File hashes

Hashes for sfn_workflow_client-1.1.1.tar.gz
Algorithm Hash digest
SHA256 38b7a0f415dfc87001660bc71532b95200ff4f5a82a0a026f0fd4b354037e652
MD5 a0a68a7aa3ceed8f4fa62180adbb1843
BLAKE2b-256 b306c57c8cbb6f6081ad20272e9ce21e148e787dd1c845195d6c60b5d7845113

See more details on using hashes here.

File details

Details for the file sfn_workflow_client-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for sfn_workflow_client-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 88032cd65b0cc04d2c7c2a60550ee77787e8b1cd88b353dcfe06601f80d38292
MD5 fa7f86aa41ab8808dfeb389e05e87d63
BLAKE2b-256 2dc21d37e110d0a8cf2bf150bed793bf2e5e82681327827f2858435a27e6aa5c

See more details on using hashes here.

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