Currently the operator allows to set requirement as list that needs to be hard coded.
It would be nice if airflow can support reading from file directly (something similar to how operators read sql file)
airflow/operators/python.py
"""
    Allows a workflow to "branch" or follow a path following the execution
    of this task.
    It derives the PythonOperator and expects a Python function that returns
    a single task_id or list of task_ids to follow. The task_id(s) returned
    should point to a task directly downstream from {self}. All other "branches"
    or directly downstream tasks are marked with a state of ``skipped`` so that
    these paths can't move forward. The ``skipped`` states are propagated
    downstream to allow for the DAG state to fill up and the DAG run's state
    to be inferred.
    """
    def execute(self, context: Context) -> Any:
        branch = super().execute(context)
        
        if isinstance(branch, str):
            branches = {branch}
        elif isinstance(branch, list):
            branches = set(branch)
        else:
            raise AirflowException("Branch callable must return either a task ID or a list of IDs")
        valid_task_ids = set(context["dag"].task_ids)
        invalid_task_ids = branches - valid_task_ids
        if invalid_task_ids:
            raise AirflowException(
                f"Branch callable must return valid task_ids. Invalid tasks found: {invalid_task_ids}"
            )
        self.skip_all_except(context['ti'], branch)
        return branch
class ShortCircuitOperator(PythonOperator, SkipMixin):