Typed Python interface to AWS Simple Workflow service
Project description
Python interface to SWF
Typed Python interface to AWS Simple Workflow service
- Type annotations
- Explicit exceptions
- Execution state construction
- Consistent method/attribute/parameter names (see below)
- Consistent model struture
- Automatic flattening of paged-list responses
- next-page calls are run concurrently and on-demand
- Better execution filtering
The most interesting part is state construction: given an execution history, this
library can build a full state of the execution and all of its tasks with all details;
see swf_typed.build_state
. The rest of the API simply mirror's SWF's.
See also
- py-swf - typed and object-oriented interface layer
- mypy-boto3-swf - type-annotated layer
- python-simple-workflow - higher-level interface layer
Installation
pip install swf-typed
Usage
Example
import swf_typed
execution = swf_typed.ExecutionId(id="spam", run_id="abcd1234")
execution_details = swf_typed.describe_execution(execution, domain="eggs")
print(execution_details.configuration)
events = swf_typed.get_execution_history(execution, domain="eggs")
state = swf_typed.build_state(events)
for task in state.tasks:
print(task.status)
Terminology
This library uses a slight terminology change from SWF SDKs/APIs:
- Workflow type -> workflow
- Workflow execution -> execution
- Workflow execution
workflowId
-> execution ID - Activity type -> activity
- Activity task -> task
- Activity worker -> worker
- Activity task
activityId
-> task ID
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
swf-typed-1.1.2rc0.tar.gz
(32.7 kB
view hashes)
Built Distribution
Close
Hashes for swf_typed-1.1.2rc0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58547d82bbd58903eb01279cf1fd0e3852bd6cade9d973c70563f471f8e7df54 |
|
MD5 | afb4c6f51956215ccdea523c9728a94a |
|
BLAKE2b-256 | f7342285a00f22321426fc94a5c836eb3b9b470fa1c429a86da1dddbc758fe74 |