Metadata-Version: 2.4
Name: airflow-priority
Version: 1.3.0
Summary: Priority Tags for Airflow Dags
Project-URL: Repository, https://github.com/airflow-laminar/airflow-priority
Project-URL: Homepage, https://github.com/airflow-laminar/airflow-priority
Author-email: the airflow-priority authors <t.paine154@gmail.com>
License: Apache-2.0
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.9
Requires-Dist: apache-airflow<3,>=2
Provides-Extra: aws
Requires-Dist: boto3; extra == 'aws'
Requires-Dist: botocore; extra == 'aws'
Provides-Extra: config
Requires-Dist: airflow-config>=0.1.2; extra == 'config'
Provides-Extra: datadog
Requires-Dist: datadog-api-client; extra == 'datadog'
Provides-Extra: develop
Requires-Dist: airflow-config>=0.1.2; extra == 'develop'
Requires-Dist: boto3; extra == 'develop'
Requires-Dist: botocore; extra == 'develop'
Requires-Dist: build; extra == 'develop'
Requires-Dist: bump-my-version; extra == 'develop'
Requires-Dist: check-manifest; extra == 'develop'
Requires-Dist: datadog-api-client; extra == 'develop'
Requires-Dist: discord-py; extra == 'develop'
Requires-Dist: hatchling; extra == 'develop'
Requires-Dist: httpx; extra == 'develop'
Requires-Dist: logfire; extra == 'develop'
Requires-Dist: newrelic-telemetry-sdk; extra == 'develop'
Requires-Dist: opsgenie-sdk; extra == 'develop'
Requires-Dist: pagerduty; extra == 'develop'
Requires-Dist: pytest; extra == 'develop'
Requires-Dist: pytest-cov; extra == 'develop'
Requires-Dist: ruff; extra == 'develop'
Requires-Dist: slack-sdk; extra == 'develop'
Requires-Dist: twine; extra == 'develop'
Requires-Dist: uv; extra == 'develop'
Requires-Dist: wheel; extra == 'develop'
Provides-Extra: discord
Requires-Dist: discord-py; extra == 'discord'
Provides-Extra: logfire
Requires-Dist: logfire; extra == 'logfire'
Provides-Extra: newrelic
Requires-Dist: newrelic-telemetry-sdk; extra == 'newrelic'
Provides-Extra: opsgenie
Requires-Dist: opsgenie-sdk; extra == 'opsgenie'
Provides-Extra: pagerduty
Requires-Dist: pagerduty; extra == 'pagerduty'
Provides-Extra: slack
Requires-Dist: slack-sdk; extra == 'slack'
Provides-Extra: symphony
Requires-Dist: httpx; extra == 'symphony'
Description-Content-Type: text/markdown

# airflow-priority

Priority Tags for Airflow Dags

[![Build Status](https://github.com/airflow-laminar/airflow-priority/actions/workflows/build.yml/badge.svg?branch=main&event=push)](https://github.com/airflow-laminar/airflow-priority/actions/workflows/build.yml)
[![codecov](https://codecov.io/gh/airflow-laminar/airflow-priority/branch/main/graph/badge.svg)](https://codecov.io/gh/airflow-laminar/airflow-priority)
[![License](https://img.shields.io/github/license/airflow-laminar/airflow-priority)](https://github.com/airflow-laminar/airflow-priority)
[![PyPI](https://img.shields.io/pypi/v/airflow-priority.svg)](https://pypi.python.org/pypi/airflow-priority)

## Overview

This repo provides an [Airflow Plugin](https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/plugins.html) for priority-driven DAG failure alerting.
In layman's terms, one need only add a [tag](https://airflow.apache.org/docs/apache-airflow/stable/howto/add-dag-tags.html) to their DAG in `P1, P2, P3, P4, P5`, where `P1` corresponds to highest priority and `P5` corresponds to lowest, and that dag will send a notification to a backend integration.

[See the documentation for more information on getting started](https://airflow-laminar.github.io/airflow-priority/docs/src/introduction.html)

## Integrations

| Integration                                                                                                                                                                                                        | Metric / Tag                                                      | Docs                                                                                |
| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- | :---------------------------------------------------------------------------------- |
| <a href="https://www.datadoghq.com"><img width=180 src="https://raw.githubusercontent.com/airflow-laminar/airflow-priority/refs/heads/main/docs/img/logos/datadog.png" alt="datadog logo"></a>                     | `airflow.custom.priority.p{1,2,3,4,5}.{failed,succeeded,running}` | [Link](https://airflow-laminar.github.io/airflow-priority/docs/src/datadog.html)    |
| <a href="http://discord.com"><img width=180 src="https://raw.githubusercontent.com/airflow-laminar/airflow-priority/refs/heads/main/docs/img/logos/discord.png" alt="discord logo"></a>                            | `N/A`                                                             | [Link](https://airflow-laminar.github.io/airflow-priority/docs/src/discord.html)    |
| <a href="https://logfire.pydantic.dev"><img width=180 src="https://raw.githubusercontent.com/airflow-laminar/airflow-priority/refs/heads/main/docs/img/logos/logfire.png" alt="logfire logo"></a>                  | `airflow.priority.p{1,2,3,4,5}.{failed,succeeded,running}`        | [Link](https://airflow-laminar.github.io/airflow-priority/docs/src/logfire.html)    |
| <a href="https://pagerduty.com"><img width=180 src="https://raw.githubusercontent.com/airflow-laminar/airflow-priority/refs/heads/main/docs/img/logos/pagerduty.png" alt="pagerduty logo"></a>                     | `N/A`                                                             | [Link](https://airflow-laminar.github.io/airflow-priority/docs/src/pagerduty.html)  |
| <a href="https://newrelic.com"><img width=180 src="https://raw.githubusercontent.com/airflow-laminar/airflow-priority/refs/heads/main/docs/img/logos/newrelic.png" alt="newrelic logo"></a>                        | `airflow.custom.priority.p{1,2,3,4,5}.{failed,succeeded,running}` | [Link](https://airflow-laminar.github.io/airflow-priority/docs/src/newrelic.html)   |
| <a href="https://www.atlassian.com/software/opsgenie"><img width=175 src="https://raw.githubusercontent.com/airflow-laminar/airflow-priority/refs/heads/main/docs/img/logos/opsgenie.png" alt="opsgenie logo"></a> | `N/A`                                                             | [Link](https://airflow-laminar.github.io/airflow-priority/docs/src/opsgenie.html)   |
| <a href="http://slack.com"><img width=175 src="https://raw.githubusercontent.com/airflow-laminar/airflow-priority/refs/heads/main/docs/img/logos/slack.png" alt="slack logo"></a>                                  | `N/A`                                                             | [Link](https://airflow-laminar.github.io/airflow-priority/docs/src/slack.html)      |
| <a href="http://symphony.com"><img width=175 src="https://raw.githubusercontent.com/airflow-laminar/airflow-priority/refs/heads/main/docs/img/logos/symphony.png" alt="symphony logo"></a>                         | `N/A`                                                             | [Link](https://airflow-laminar.github.io/airflow-priority/docs/src/symphony.html)   |
| [AWS Cloudwatch](https://aws.amazon.com/cloudwatch/)                                                                                                                                                               | `airflow.custom.priority.p{1,2,3,4,5}.{failed,succeeded,running}` | [Link](https://airflow-laminar.github.io/airflow-priority/docs/src/cloudwatch.html) |

## Installation

You can install from pip:

```bash
pip install airflow-priority
```

Or via conda:

```bash
conda install airflow-priority -c conda-forge
```

## License

This software is licensed under the Apache 2.0 license. See the [LICENSE](LICENSE) file for details.
