Skip to content

[Feature] Full DAG parameter support #696

@gyli

Description

@gyli

Description

Dag-factory does not support all Airflow DAG parameters yet. AI help me conduct the review of the gap, and the result looks solid:

  ┌─────────────────────────────────┬─────────────────┬───────────────────────────────────────────────────────┬─────────────────┐
  │            Parameter            │ Available Since │                     What it does                      │ In Airflow 3.x? │
  ├─────────────────────────────────┼─────────────────┼───────────────────────────────────────────────────────┼─────────────────┤
  │ user_defined_macros             │ Airflow 1.x     │ Custom Jinja2 macros ({{ my_macro() }})               │ Yes             │
  ├─────────────────────────────────┼─────────────────┼───────────────────────────────────────────────────────┼─────────────────┤
  │ user_defined_filters            │ Airflow 1.x     │ Custom Jinja2 filters                                 │ Yes             │
  ├─────────────────────────────────┼─────────────────┼───────────────────────────────────────────────────────┼─────────────────┤
  │ template_undefined              │ Airflow 1.x     │ Jinja2 Undefined class (default: StrictUndefined)     │ Yes             │
  ├─────────────────────────────────┼─────────────────┼───────────────────────────────────────────────────────┼─────────────────┤
  │ jinja_environment_kwargs        │ Airflow 2.x     │ Extra kwargs for Jinja2 Environment                   │ Yes             │
  ├─────────────────────────────────┼─────────────────┼───────────────────────────────────────────────────────┼─────────────────┤
  │ owner_links                     │ Airflow 2.3     │ Dict mapping owner names to URLs in the UI            │ Yes             │
  ├─────────────────────────────────┼─────────────────┼───────────────────────────────────────────────────────┼─────────────────┤
  │ max_consecutive_failed_dag_runs │ Airflow 2.9     │ Pause DAG after N consecutive failures                │ Yes             │
  ├─────────────────────────────────┼─────────────────┼───────────────────────────────────────────────────────┼─────────────────┤
  │ auto_register                   │ Airflow 2.7     │ Whether to auto-register DAG in DagBag (default True) │ Yes             │
  ├─────────────────────────────────┼─────────────────┼───────────────────────────────────────────────────────┼─────────────────┤
  │ fail_fast                       │ Airflow 3.x     │ Fail all remaining tasks if one task fails            │ Yes             │
  ├─────────────────────────────────┼─────────────────┼───────────────────────────────────────────────────────┼─────────────────┤
  │ deadline                        │ Airflow 3.x     │ DeadlineAlert list for SLA-like alerting              │ Yes             │
  ├─────────────────────────────────┼─────────────────┼───────────────────────────────────────────────────────┼─────────────────┤
  │ disable_bundle_versioning       │ Airflow 3.x     │ Opt out of bundle versioning                          │ Yes             │
  └─────────────────────────────────┴─────────────────┴───────────────────────────────────────────────────────┴─────────────────┘

Ideally they all should be supported.

Use case/motivation

No response

Related issues

No response

Are you willing to submit a PR?

  • Yes, I am willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions