Metadata-Version: 2.1
Name: airflow-provider-sifflet
Version: 1.0.1
Summary: Provider package airflow-provider-sifflet for Apache Airflow
Home-page: https://www.siffletdata.com/
Author: Sifflet
Author-email: support@siffletdata.com
License: Apache License 2.0
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Framework :: Apache Airflow
Classifier: Framework :: Apache Airflow :: Provider
Requires-Python: ~=3.7
Description-Content-Type: text/markdown
Requires-Dist: sifflet (>=0.2.1)
Provides-Extra: dev
Requires-Dist: apache-airflow ; extra == 'dev'

Sifflet Provider for Apache Airflow
=================================

This package provides operators and hook that integrate [Sifflet](https://www.siffletdata.com/) into Apache Airflow.
All classes for this provider package are in the `sifflet_provider` Python package.

## Installation

You can install this package on top of an existing Airflow 2.1+ installation

```shell
pip install airflow-provider-sifflet
```

The package supports the following python versions: 3.7, 3.8, 3.9, 3.10

## Configuration

In the Airflow user interface, configure a Connection for Sifflet.
Configure the following fields:

    Conn Id: sifflet_default
    Conn Type: Sifflet
    Sifflet Tenant: <Your tenant name>
    Sifflet Token: <Your Sifflet access token>

## Modules

### Operators

#### _SiffletDbtIngestOperator_

`SiffletDbtIngestOperator` sends your DBT artifacts to the Sifflet application.

Example usage:

```python
from sifflet_provider.operators.dbt import SiffletDbtIngestOperator

sifflet_dbt_ingest = SiffletDbtIngestOperator(
    task_id="sifflet_dbt_ingest",
    input_folder="<path to dbt project folder>",
    target="prod",
    project_name="<dbt project name>",
)
```

#### _SiffletRunRuleOperator_

`SiffletRunRuleOperator` Run one or several Sifflet rules - requires rule id(s).

Example usage:

```python
from sifflet_provider.operators.rule import SiffletRunRuleOperator

sifflet_run_rule = SiffletRunRuleOperator(
    task_id="sifflet_run_rule",
    rule_ids=[
        "3e2e2687-cd20-11ec-b38b-06bb20181849",
        "3e19eb3e-cd20-11ec-b38b-06bb20181849",
        "3e1a86f1-cd20-11ec-b38b-06bb20181849",
        "3e2e1fc3-cd20-11ec-b38b-06bb20181849",
    ],
    error_on_rule_fail=True
)
```

