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-1.1.1.tar.gz
(11.1 kB
view details)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38b7a0f415dfc87001660bc71532b95200ff4f5a82a0a026f0fd4b354037e652 |
|
MD5 | a0a68a7aa3ceed8f4fa62180adbb1843 |
|
BLAKE2b-256 | b306c57c8cbb6f6081ad20272e9ce21e148e787dd1c845195d6c60b5d7845113 |
File details
Details for the file sfn_workflow_client-1.1.1-py3-none-any.whl
.
File metadata
- Download URL: sfn_workflow_client-1.1.1-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.10.7 Linux/5.13.0-1023-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88032cd65b0cc04d2c7c2a60550ee77787e8b1cd88b353dcfe06601f80d38292 |
|
MD5 | fa7f86aa41ab8808dfeb389e05e87d63 |
|
BLAKE2b-256 | 2dc21d37e110d0a8cf2bf150bed793bf2e5e82681327827f2858435a27e6aa5c |