This release is a pre-release and may not be stable for production use.
awehflow
awehflow is a configuration-driven framework for Apache Airflow that dynamically generates DAGs from simple HOCON or YAML files. It comes with built-in metrics, logging, and alerting to streamline your data orchestration.
Core Concepts
- Configuration-Driven: Define complex DAGs using a clear, hierarchical configuration. No need to write repetitive Python code for each pipeline.
- Dynamic DAG Generation: awehflow automatically constructs and orchestrates Airflow DAGs based on your configurations.
- Built-in Observability: Comes with out-of-the-box event handlers for persisting metrics to a database and alerters for notifications on pipeline status.
- Extensible: Easily add your own custom event handlers and alerters to integrate with any service.
Getting Started
- Getting Started Guide: A step-by-step guide on how to get your first awehflow pipeline up and running.
Configuration Reference
- Configuration Guide: A detailed walkthrough of the configuration system.
Custom Operators and Sensors
awehflow includes a collection of custom operators and sensors to extend Airflow's functionality. While these custom operators provide specialized capabilities, awehflow is fully compatible with all standard Airflow operators. You can use any operator available in your Airflow environment by referencing its fully qualified class name in your configuration.
- Operators Guide: Detailed documentation for all custom operators.
- Sensors Guide: Detailed documentation for all custom sensors.
Command-Line Interface (CLI)
awehflow includes a CLI for generating and validating configurations.
- CLI Documentation: A complete reference for all CLI commands.
Advanced Features
Event Handlers & Alerters
awehflow has a built-in event system that allows you to run custom code in response to pipeline events. Alerters are a special type of event handler designed for sending notifications.
- Alerts Guide: A detailed guide on how to configure and use alerters.
Troubleshooting
- Troubleshooting Guide: Solutions for common issues and debugging tips.
For Developers
Development Environment Setup
To contribute to awehflow, follow these steps to set up a development environment for a specific Airflow version.
- Install Miniconda: Follow the official instructions.
- Create Conda Environment (x86 on Mac ARM): If you are on an ARM-based Mac, create an x86-emulated environment. Add this function to your `.zsh
Metadata
Release files for awehflow 5.1.0rc2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| awehflow-5.1.0rc2.tar.gz | 48.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| awehflow-5.1.0rc2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 97.1 kB
Release files / awehflow-5.1.0rc2.tar.gz
| Download URL | awehflow-5.1.0rc2.tar.gz |
|---|---|
| Size | 48.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7b6af6cfcb883ce4446c7bee68b3e2807ca689e01c19dfc69693d571b9ffb4c3
|
|
BLAKE2b-256 checksum How to use checksums |
e43ca2cc469cb56f995ea56e5b7341b61af39d7368dcc1fc0be72032eb6aae12
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / awehflow-5.1.0rc2-py3-none-any.whl
| Download URL | awehflow-5.1.0rc2-py3-none-any.whl |
|---|---|
| Size | 48.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f521a62d8ec44d864fdc5f63e94ae8197202cbc96473a9d1ea103b6579b25491
|
|
BLAKE2b-256 checksum How to use checksums |
1d2d12c15decb3f07610b52d1bd1a0eb90aedbebe3200dda5b50b4a374833958
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|