+1 for this change! I especially had lots of trouble with template files with 
templated filenames and this would solve it.

Few comments/questions:
"improved debuggability when things go wrong": Could you elaborate on how this 
proposal improves debuggability?
"better discoverability of whether a field is template-able”:
Would be good to mention that this proposal defines template-ability on 
argument-level instead of (currently) attribute-level
It appears that a code author would still have to read an operator’s source 
code to understand which arguments are template-able. How does this proposal 
improve discoverability?
Have you considered implementing template classes for other native types e.g. 
BoolTemplate or IntTemplate, or do you intend to use 
render_template_as_native_obj for that?

Bas

> On 16 Jul 2024, at 04:09, Tzu-ping Chung <t...@astronomer.io.INVALID> wrote:
> 
> Hi all,
> 
> Following previous discussions in Airflow 3 Dev Calls, I’m proposing a new 
> templating syntax for Airflow 3 to replace the current field-templating 
> behaviour. Link to document is attached below. While this is a big breaking 
> change in DAG syntax, I feel the benefits are significant enough to attempt 
> for the major version bump.
> 
> I want to also use this opportunity to raise a couple of issues related to 
> this, and some other proposed changes:
> 
> 1. Possibility of a transitional 2.11 to “back-port” some syntaxes backwards 
> so users can use them before they upgrade.
> 2. A separate “airflow_compat” package to allow users to minimally change the 
> code before upgrading to Airflow 3 to receive the new behaviour, and change 
> the DAG syntax later.
> 
> The new ideas do not depend on each other; they are means to a similar goal 
> approached from different directions.
> 
> I’m interested to hearing any thoughts on this.
> 
> TP
> 
> 
> https://docs.google.com/document/d/1R4uSF0MGWifKrWk_pzjDcaYtgwtmJo9q7wg1iFiFKO4/edit?usp=sharing

Reply via email to