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_IDAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_DEFAULT_REGIONAWS_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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|