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.0.tar.gz.

File metadata

File hashes

Hashes for python_to_yaml_dag_converter_mwaa_serverless-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2717568b3a74887cdd70266362dc998ff2ad2097ad5870476df4cfd64b462b32
MD5 c47613e8eb073a64e9a343aaddd56b89
BLAKE2b-256 dc0b9dc27add6e5b243d573108f3b995be1d86edd1ab73209c8b3105ed7957a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for python_to_yaml_dag_converter_mwaa_serverless-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 adf0ff65349d58efb531de50058ba9276b209cbafd3398d14649c08b4922dade
MD5 5d9da98c808afe21f13526b7f14c3d42
BLAKE2b-256 261f369694651d7da567f7cf746e26346e3e61dcab89b89c0fa0b3af9e949287

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