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

File metadata

File hashes

Hashes for python_to_yaml_dag_converter_mwaa_serverless-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2f65c2b6a0a4a37364120907d3c0e88492cab8209014ac4593895165095765e1
MD5 ba8b52975575d7b5d28d354295a45d6f
BLAKE2b-256 7de745d9eefef2b85dc58929a27d2b567c6feaf54564a27c974fe8989d20c3a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for python_to_yaml_dag_converter_mwaa_serverless-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8a63e4e714016e3f011c71a9f2f515499faa5bdf651aea8f6dac70ec36903f77
MD5 0db714ba8c800cc8fa6899dbe6a30c9d
BLAKE2b-256 1196e8728079eca81f037ee99c795b23731135bfcf19723fee35a6439204115c

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