Used in https://github.com/mhenc/airflow/blob/master/airflow/dag_processing/manager.py#L613

should be straighforward
orientation: str = conf.get_mandatory_value("webserver", "dag_orientation"),
    catchup: bool = conf.getboolean("scheduler", "catchup_by_default"),
    on_success_callback: None | DagStateChangeCallback | list[DagStateChangeCallback] = None,
    on_failure_callback: None | DagStateChangeCallback | list[DagStateChangeCallback] = None,
    doc_md: str | None = None,
    params: dict | None = None,
    access_control: dict | None = None,
    is_paused_upon_creation: bool | None = None,
    jinja_environment_kwargs: dict | None = None,
    render_template_as_native_obj: bool = False,
    tags: list[str] | None = None,
    owner_links: dict[str, str] | None = None,
    auto_register: bool = True,
) -> Callable[[Callable], Callable[..., DAG]]:
    """
    Python dag decorator. Wraps a function into an Airflow DAG.
    Accepts kwargs for operator kwarg. Can be used to parameterize DAGs.
    :param dag_args: Arguments for DAG object
    :param dag_kwargs: Kwargs for DAG object.
    """
    def wrapper(f: Callable) -> Callable[..., DAG]:
        @functools.wraps(f)
        def factory(*args, **kwargs):
            
            
            
            f_sig = signature(f).bind(*args, **kwargs)
            
            f_sig.apply_defaults()