# Edge

# Edge



(upstream_task, downstream_task, key=None, mapped=False)[source]

Edges represent connections between Tasks.

At a minimum, an edge links an upstream_task and a downstream_task indicating that the downstream task shouldn't attempt to run until the upstream task is complete.

In addition, edges can specify a key that describe how upstream results are passed to the downstream task.


  • upstream_task (Task): the task that must run before the downstream_task
  • downstream_task (Task): the task that will be run after the upstream_task. The upstream task state is passed to the downstream task's trigger function to determine whether the downstream task should run.
  • key (str, optional): Passing a key indicates that the upstream result should be passed to the downstream task as a keyword argument given by key.
  • mapped (bool, optional): boolean indicating whether this edge represents a mapped task; defaults to False
The key indicates that the result of the upstream task should be passed to the downstream task under the key.

In general, Edges are created and handled in the background by the Flow class and will not be directly instantiated by users.


    from prefect import *
    from prefect.core import Edge

    class Add(Task):
        def run(self, x):
            return x + 1

    class Number(Task):
        def run(self):
            return 2

    # passes the result of the Number() task to Add() as 'x'
    edge = Edge(Number(), Add(), key='x')




Represents the Edge as a dict.

This documentation was auto-generated from commit n/a
on June 17, 2020 at 17:27 UTC