dstandish opened a new issue #14945: URL: https://github.com/apache/airflow/issues/14945
Our docs on dag policy demonstrate usage with type annotations: https://airflow.apache.org/docs/apache-airflow/stable/concepts.html?highlight=dag_policy#dag-level-cluster-policy ```python def dag_policy(dag: DAG): """Ensure that DAG has at least one tag""" if not dag.tags: raise AirflowClusterPolicyViolation( f"DAG {dag.dag_id} has no tags. At least one tag required. File path: {dag.filepath}" ) ``` The problem is, by the time you import DAG with `from airflow import DAG`, airflow will have already loaded up the `settings.py` file (where processing of airflow_local_settings.py is done), and it seems nothing in your airflow local settings file gets imported. To test this you can add a local settings file containing this: ``` from airflow import DAG raise Exception('hello') ``` Now run `airflow dags list` and observe that no error will be raised. Remove the `DAG` import. Now you'll see the error. Any suggestions how to handle this? There are a couple conf settings imported from settings. We could move these to `airflow/__init__.py`. But less straightforward would be what to do about `settings.initialize()`. Perhaps we could make it so that initialized is called within settings? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
