Prefect Improvement Notices are used to propose, discuss, accept, and memorialize any major architectural decisions for Prefect Core.
Introducing PINs for recording Prefect decisions.
Adding metadata to
States in order to track task results and serialization methods.
A description of a more complex and executable
Result object that clarifies the logic introduced by PIN-2.
A proposal for automatically combining tasks to ensure data locality; ultimately declined as a general approach.
A proposal for removing auto-converting non-task objects into
Constant Tasks; ultimately declined as the benefits outweigh the costs.
A proposal for refactoring environments into
Storage classes and execution
Environment classes with specific, loosely coupled interfaces.
A proposal for event-driven or long-running flows that run in response to events that arrive in an irregular stream.
A proposal for a flexible and live-updating Prefect Cloud command line client.
A proposal for a new way of building schedules that captures a wider variety of use cases.
A proposal for a way to loop over single tasks with arbitrary control logic and all Prefect semantics intact
A proposal to introduce user-provided callbacks for
Environments which users can use to specify additional behavior before a Flow is run and after a FlowRun has ended.
A proposal to run Flows from Prefect Cloud with local Python resources and packages.
A proposal to enable starting a Flow based on events from user provided sources by leveraging the existing Schedule features.
Status: Proposed; supersedes PIN 8.
A proposal to interpret
Skip states as
Finished instead of
Successful while also introducing more conditional control flow constructs.