Skip to main content

CLI tool that converts Python airflow Dags to YAML Dags for use with dagfactory

Project description

Python to Yaml Dag Converter for MWAA Serverless

License

Python to Yaml Dag Converter for MWAA Serverless is a command-line tool for converting Apache Airflow® Dags written in Python to dag-factory compatible Dags written in YAML.

Prerequisites

  • Python 3.11+

Benefits

  • Onboard existing Python Dags to declarative YAML
  • Ensures compatibility with DagFactory 1.0
  • Convert Python Dags to MWAA Serverless compatible YAML
  • Upload converted YAML to S3

⚡ Quick Start

Step 1: Install

pip install python-to-yaml-dag-converter-mwaa-serverless

Step 2: Use

dag-converter convert <python-dag-file>

Call with the --help flag for more options

Step 3: Review

Review the converted Dags in the output_yaml folder in the current directory

Options

  • --help Show help message and exit
  • --output: PATH Path to output converted YAML Dag(s) to [default: output_yaml]
  • --bucket: TEXT S3 bucket to upload converted Dags to. Uses local AWS credentials
  • --validate/--no-validate: Validate the output YAML using DagFactory
  • --debug/--no-debug Enable logging DagBag objects to .initial_task_attributes before and after conversion

Limitations

  • Only AWS operators and AWS provider packages are supported
  • Behavior that is not supported in dag-factory will not be converted
  • Dynamic task mapping conversion is not supported

Examples

dag-converter convert airflow_s3.py

Contributing and Bug Reporting

See CONTRIBUTING for more information.

Security

See CONTRIBUTING for more information.

License

This project is licensed under the Apache-2.0 License.

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

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file python_to_yaml_dag_converter_mwaa_serverless-0.1.4.tar.gz.

File metadata

File hashes

Hashes for python_to_yaml_dag_converter_mwaa_serverless-0.1.4.tar.gz
Algorithm Hash digest
SHA256 91531f2f6bf691ce7c2cbc13ce3b548e2a475a06bf23535abf948b50cd2c8bd0
MD5 e3c445bf7b571df0d1e07fef28d63189
BLAKE2b-256 eef3997ac3fdc0bdad16b5c342637c63fc30698b91e23be84944448355158a9a

See more details on using hashes here.

File details

Details for the file python_to_yaml_dag_converter_mwaa_serverless-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for python_to_yaml_dag_converter_mwaa_serverless-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 560ce38574a2d958305b4e3743e679296e78fcc411b690b18872dee2fd7b12af
MD5 5b3aa358df9bf905dd1caffa12bb0b16
BLAKE2b-256 1d6fbf2ef846d065fe83d566d53c6bb5a12cf64e99cc2c25c65aacc598cb267b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page