Enhanced, asyncio-compatible client for AWS Step Functions.
Project description
sfn-workflow-client
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
Release history Release notifications | RSS feed
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)
Built Distribution
Close
Hashes for sfn_workflow_client-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a15b180811759a6e1e27aedd684f1f65718784c3df18a8f99ee3b87ba691484 |
|
MD5 | d02239db3b4f49ec3f48849d4a97a6f1 |
|
BLAKE2b-256 | bf32a35f84025738fb4eef354bb00cbbcb6df9050b82ed1fab83e860fc5ce81e |
Close
Hashes for sfn_workflow_client-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 633cd8dd4defb51cf32dfc99087c6d4767426a4bf2b0a21b4ed5e972420219a9 |
|
MD5 | f2e24dbb05de1ef4c125595ad56e1afc |
|
BLAKE2b-256 | 81e36fd342f94a78dbffdff330b1ad60d81c6fd6bc907b343080f1bfdec776cf |