Skip to main content

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

Installation

pip install swf-typed

Usage

See the full documentation.

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


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)

Uploaded Source

Built Distribution

swf_typed-1.1.2rc0-py3-none-any.whl (32.1 kB view hashes)

Uploaded Python 3

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