Skip to main content

AirFunctions

AirFunctions is a Python framework that brings Airflow-like workflow orchestration to AWS Step Functions. It provides an intuitive Python API for building, testing, and deploying complex state machines while maintaining the reliability and scalability of AWS Step Functions.

Features

  • Airflow-like Python API: Write AWS Step Functions workflows using familiar Python syntax
  • Local Testing: Test your workflows locally before deployment
  • Easy Composition: Build complex state machines using simple operators like >> and conditional logic
  • Fast Deployment: Streamlined deployment process using Terraform
  • Lambda Integration: Seamless integration with AWS Lambda functions

Quick Start

from airfunctions.bundle import Config, TerraformBundler
from airfunctions.steps import Choice, Pass, lambda_task

# Define your Lambda tasks
@lambda_task
def step_1(event, context):
    return event

# Create workflows using familiar operators
workflow = (
    step_1 
    >> Pass("pass1") 
    >> Choice("my_choice", default=step_2).choose(
        condition=step_1.output("value") == 10, 
        next_step=step_3
    )
)

# Deploy to AWS Step Functions
workflow.to_statemachine("my-workflow")

# Configure and deploy using Terraform
Config().resource_prefix = "my-project-"
bundler = TerraformBundler()
bundler.validate()
bundler.apply()

Key Concepts

  • Lambda Tasks: Decorate your Python functions with @lambda_task to convert them into AWS Lambda functions
  • Flow Operators: Use >> to chain steps together
  • Conditional Logic: Build branching workflows using Choice steps
  • Parallel Execution: Run steps in parallel using list syntax
  • State Management: Access task outputs using the .output() method

Installation

pip install airfunctions

Metadata

Release files for airfunctions 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for airfunctions 0.2.0
File Size Uploaded
airfunctions-0.2.0.tar.gz 24.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for airfunctions 0.2.0
File Interpreter ABI Platform
airfunctions-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 52.1 kB

Release files / airfunctions-0.2.0.tar.gz

Download URL airfunctions-0.2.0.tar.gz
Size 24.3 kB
Tags Source
SHA-256 checksum
How to use checksums
fe9af154d47c9f05f63621c11730b645d4b88ac6c6b56c3cffe407abade9f325
BLAKE2b-256 checksum
How to use checksums
b905e51dd8d348a33467c13a4ab3a980b7446aaca7ee684beeb1a6ddecbab878
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.1 CPython/3.12.7 Darwin/24.1.0

Release files / airfunctions-0.2.0-py3-none-any.whl

Download URL airfunctions-0.2.0-py3-none-any.whl
Size 27.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f1985aa8e71cd49d3b083569dc03a3b8589c7db4e348bb1ae303d838555415a3
BLAKE2b-256 checksum
How to use checksums
24cb7090ee90fa9378350596e1f557a46e46e1a234299699ee170460a1314a61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.1 CPython/3.12.7 Darwin/24.1.0

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page