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)
tests/operators/test_python.py
super().tearDown()
        with create_session() as session:
            session.query(DagRun).delete()
            session.query(TI).delete()
    def clear_run(self):
        self.run = False
    def _assert_calls_equal(self, first, second):
        assert isinstance(first, Call)
        assert isinstance(second, Call)
        assert first.args == second.args
        
        test_args = ["an_int", "a_date", "a_templated_string"]
        first.kwargs = {key: value for (key, value) in first.kwargs.items() if key in test_args}
        second.kwargs = {key: value for (key, value) in second.kwargs.items() if key in test_args}
        assert first.kwargs == second.kwargs
class TestPythonOperator(TestPythonBase):
    def do_run(self):
        self.run = True
    def is_run(self):
        return self.run
    def test_python_operator_run(self):
        """Tests that the python callable is invoked on task run."""
        task = PythonOperator(python_callable=self.do_run, task_id='python_operator', dag=self.dag)
        assert not self.is_run()
        task.run(start_date=DEFAULT_DATE, end_date=DEFAULT_DATE)
        assert self.is_run()
    def test_python_operator_python_callable_is_callable(self):