The TaskFlow API lets you define a DAG with Python functions decorated with @dag and @task. Values returned by one task and passed as an argument to the next are passed automatically via XCom, and dependencies are inferred from the function calls, which makes writing lighter.
Example
@task
def extraire(): return [1, 2, 3]
@task
def charger(lignes): print(lignes)
charger(extraire())