prefect

Prefect is a workflow orchestration tool empowering developers to build, observe, and react to data pipelines

APACHE-2.0 License

Downloads
8.4M
Stars
14.5K
Committers
148

Bot releases are visible (Hide)

prefect - 2.14.18

Published by zzstoatzz 9 months ago

Release 2.14.18

This release includes:

Fixes

Documentation

New Contributors

See the release notes for details!

prefect - Release 2.14.17

Published by desertaxle 9 months ago

🧪 Experimental: Non-blocking submission of flow runs to the Runner web server

You can now submit runs of served flows without blocking the main thread, from inside or outside a flow run. If submitting flows from inside a parent flow, these submitted runs will be tracked as subflows of the parent flow run.

In order to use this feature, you must:

  • enable the experimental Runner webserver endpoints via
    prefect config set PREFECT_EXPERIMENTAL_ENABLE_EXTRA_RUNNER_ENDPOINTS=True
    
  • ensure the Runner web server is enabled, either by:
    • passing webserver=True to your serve call
    • enabling the webserver via
    prefect config set PREFECT_RUNNER_SERVER_ENABLE=True
    

You can then submit any flow available in the import space of the served flow, and you can submit multiple runs at once. If submitting flows from a parent flow, you may optionally block the parent flow run from completing until all submitted runs are complete with wait_for_submitted_runs().

import time

from pydantic import BaseModel

from prefect import flow, serve, task
from prefect.runner import submit_to_runner, wait_for_submitted_runs


class Foo(BaseModel):
    bar: str
    baz: int


class ParentFoo(BaseModel):
    foo: Foo
    x: int = 42

@task
def noop():
    pass

@flow(log_prints=True)
async def child(foo: Foo = Foo(bar="hello", baz=42)):
    print(f"received {foo.bar} and {foo.baz}")
    print("going to sleep")
    noop()
    time.sleep(20)


@task
def foo():
    time.sleep(2)

@flow(log_prints=True)
def parent(parent_foo: ParentFoo = ParentFoo(foo=Foo(bar="hello", baz=42))):
    print(f"I'm a parent and I received {parent_foo=}")

    submit_to_runner(
        child, [{"foo": Foo(bar="hello", baz=i)} for i in range(9)]
    )
    
    foo.submit()
    
    wait_for_submitted_runs() # optionally block until all submitted runs are complete
    

if __name__ == "__main__":
    # either enable the webserver via `webserver=True` or via
    # `prefect config set PREFECT_RUNNER_SERVER_ENABLE=True`
    serve(parent.to_deployment(__file__), limit=10, webserver=True)

This feature is experimental and subject to change. Please try it out and let us know what you think!

See the PR for implementation details.

👍 Enhancements

🧰 Fixes

✏️ Documentation

🧑‍🤝‍🧑 Contributors

  • @sgbaird

All changes: https://github.com/PrefectHQ/prefect/compare/2.14.16...2.14.17

prefect - Release 2.14.16

Published by urimandujano 9 months ago

🎉 Support for access block fields in prefect.yaml templating

You can now access fields on blocks used in your prefect.yaml files. This enables you to use values stored in blocks to provide dynamic configuration for attributes like your work_pool_name and job_variables.

Here's what it looks like in action:

deployments:
- name: test
  version: 0.1
  tags: []
  description: "Example flow"
  schedule: {}
  entrypoint: "flow.py:example_flow"
  parameters: {}
  work_pool:
    name: "{{ prefect.blocks.json.default-config.value.work_pool }}"
    work_queue: "{{ prefect.blocks.json.default-config.value.work_queue }}"

In the above example, we use fields from a JSON block to configure which work pool and queue we deploy our flow to. We can update where our flow is deployed to by updating the referenced block without needing to change our prefect.yaml at all!

Many thanks to @bjarneschroeder for contributing this functionality! Check out this PR for implementation details: https://github.com/PrefectHQ/prefect/pull/10938

👍🏼 Enhancements

⛑️ Fixes

✏️ Documentation

🥇 New Contributors

prefect - Release 2.14.15

Published by znicholasbrown 9 months ago

What's Changed

Hotfix

Full Changelog: https://github.com/PrefectHQ/prefect/compare/2.14.14...2.14.15

prefect - Release 2.14.14

Published by collincchoy 9 months ago

✨ Support for custom prefect.yaml deployment configuration files

You can now specify a prefect.yaml deployment configuration file while running prefect deploy by using the
--prefect-file command line argument. This means that your configuration files can be in any directory
and can follow your own naming conventions. Using this feature provides more flexibility in defining
and managing your deployments.

✅ Toggle Deployment Schedule Status via prefect.yaml

You can now toggle your deployment schedules between active and inactive in your prefect.yaml configuration file. This enables you to create deployments with initially inactive schedules, allowing for thorough testing or staged rollouts!

🐍 Support for Python 3.12

You can now install prefect using Python 3.12! This support is experimental and will be hardened in future releases.

🧑‍🤝‍🧑 Contributors

A big thanks to @brett-koonce, @jitvimol, @oz-elhassid, @Zyntogz, and @Andrew-S-Rosen for making their first contributions in this release.

See the release notes for more details.

prefect - Release 2.14.13

Published by serinamarie 10 months ago

This release includes a few very exciting enhancements! 🪄

Access default work pool configurations in an air-gapped environment 🌐

Those who run Prefect server in an environment where arbitrary outbound internet traffic is not allowed were previously unable to retrieve up-to-date default work pool configurations (via the UI or otherwise). You can now access the worker metadata needed to access the corresponding work pool configurations in your server even in such an air-gapped environment. Upon each release of prefect, the most recent version of this worker metadata will be embedded in the prefect package so that it can be used as a fallback if the outbound call to retrieve the real-time metadata fails.

Introducing conditional task retries for enhanced workflow control 🔁

In this release, we're excited to introduce the ability to conditionally retry tasks by passing in an argument to retry_condition_fn in your task decorator, enabling more nuanced and flexible retry mechanisms. This adds a significant level of control and efficiency, particularly in handling complex or unpredictable task outcomes. For more information on usage, check out our docs!

Other enhancements and fixes 🛠️

We've also added the ability to open your current Prefect Cloud workspace in the browser from the CLI, display work queue status details via CLI, and much more! See the release notes for details.

Contributors 🧑‍🤝‍🧑

A big thanks to @dominictarro and @ConstantinoSchillebeeckx for contributing enhancements to this release, as well as to @yifanmai, who made their first contribution.

prefect - Release 2.14.12

Published by serinamarie 10 months ago

This release brings some exciting enhancements and fixes!

Enhanced UI Customization 📆

  • Now featuring relative time spans like "Past 7 days" for better insight into current and upcoming flow runs across the UI.
  • Flow Runs Page: Enhanced with customizable date and time filters. Save custom filters with specific date ranges for tailored views
  • Flows Page: Updated with similar date and time filtering capabilities

See a demonstration here!
short loom demo

Enhancements and Fixes 🛠️

  • Fixed environment variable parsing during deployment and prompt and role assignment in the ContainerInstanceProvisioner
  • Enhanced dashboard header to adapt to various tag and date input sizes
  • Addressed an error encountered when deploying flows with options

See the release notes for details!

prefect - Release 2.14.11

Published by desertaxle 10 months ago

Release 2.14.11

🪄 ✨ Customize resource names when provisioning infrastructure for push work pools

In the past few releases, we've added the ability to provision infrastructure for push work pools via the CLI. This release adds the ability to customize the name of the resources created in your cloud environment when provisioning infrastructure for push work pools so you can follow your organization's naming conventions.

To customize your resource names when provisioning infrastructure for a push work pool, follow the interactive prompts:

? Proceed with infrastructure provisioning with default resource names? [Use arrows to move; enter to select]
┏━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃    ┃ Options:                                                                  ┃
┡━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│    │ Yes, proceed with infrastructure provisioning with default resource names │
│ >  │ Customize resource names                                                  │
│    │ Do not proceed with infrastructure provisioning                           │
└────┴───────────────────────────────────────────────────────────────────────────┘
? Please enter a name for the resource group (prefect-aci-push-pool-rg): new-rg
? Please enter a name for the app registration (prefect-aci-push-pool-app): new-app
? Please enter a prefix for the Azure Container Registry (prefect): newregistry
? Please enter a name for the identity (used for ACR access) (prefect-acr-identity): new-identity
? Please enter a name for the ACI credentials block (new-work-pool-push-pool-credentials): new-aci-block
╭───────────────────────────────────────────────────────────────────────────────────────────╮
│ Provisioning infrastructure for your work pool new-work-pool will require:                │
│                                                                                           │
│     Updates in subscription: Azure subscription 1                                         │
│                                                                                           │
│         - Create a resource group in location: eastus                                     │
│         - Create an app registration in Azure AD: new-app                                 │
│         - Create/use a service principal for app registration                             │
│         - Generate a secret for app registration                                          │
│         - Create an Azure Container Registry with prefix newregistry                      │
│         - Create an identity new-identity to allow access to the created registry         │
│         - Assign Contributor role to service account                                      │
│         - Create an ACR registry for image hosting                                        │
│         - Create an identity for Azure Container Instance to allow access to the registry │
│                                                                                           │
│     Updates in Prefect workspace                                                          │
│                                                                                           │
│         - Create Azure Container Instance credentials block: new-aci-block                │
│                                                                                           │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
Proceed with infrastructure provisioning? [y/n]: y
Creating resource group
Resource group 'new-rg' created successfully
Creating app registration
App registration 'new-app' created successfully
Generating secret for app registration
Secret generated for app registration with client ID '03923189-3151-4acd-8d59-76483752cd39'
Creating ACI credentials block
ACI credentials block 'new-aci-block' created in Prefect Cloud
Assigning Contributor role to service account
Service principal created for app ID '25329389-3151-4acd-8d59-71835252cd39'
Contributor role assigned to service principal with object ID '483h4c85-4a8f-4fdb-0394-bd0f0b1202d0'
Creating Azure Container Registry
Registry created
Logged into registry newregistry1702538242q2z2.azurecr.io
Creating identity
Identity 'new-identity' created
Provisioning infrastructure. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Your default Docker build namespace has been set to 'newregistry1702538242q2z2.azurecr.io'.
Use any image name to build and push to this registry by default:

╭─────────────────────────── example_deploy_script.py ───────────────────────────╮
│ from prefect import flow                                                       │
│ from prefect.deployments import DeploymentImage                                │
│                                                                                │
│                                                                                │
│ @flow(log_prints=True)                                                         │
│ def my_flow(name: str = "world"):                                              │
│     print(f"Hello {name}! I'm a flow running on an Azure Container Instance!") │
│                                                                                │
│                                                                                │
│ if __name__ == "__main__":                                                     │
│     my_flow.deploy(                                                            │
│         name="my-deployment",                                                  │
│         work_pool_name="my-work-pool",                                         │
│         image=DeploymentImage(                                                 │
│             name="my-image:latest",                                            │
│             platform="linux/amd64",                                            │
│         )                                                                      │
│     )                                                                          │
╰────────────────────────────────────────────────────────────────────────────────╯
Infrastructure successfully provisioned for 'new-work-pool' work pool!
Created work pool 'new-work-pool'!

Using a push work pool with automatic infrastructure provisioning is a great way to get started with a production-level Prefect set up in minutes! Check out our push work pool guide for step-by-step instructions on how to get started!

See the following pull requests for implementation details:

📆 🕐 An updated date time input on the workspace dashboard

We've added a new date and time filter to the workspace dashboard that gives greater control over the dashboard. You can now filter by days, hours, and even minutes. You can also specify a specific date and time range to filter by. You can also go backwards and forwards in time using that time window, for example, you can scroll through by hour.

See it in action!
Demo of updated time input in the Prefect UI

See the following pull requests for implementation details:

💥 Enhancements

🧰 Fixes

🧪 Experimental

🧠 Documentation

prefect - Release 2.14.10

Published by urimandujano 11 months ago

🪄 ✨ Azure Container Instance push pool infrastructure provisioning via the CLI

We're introducing an enhancement to the Azure Container Instance push pool experience. You can now conveniently provision necessary Azure infrastructure with the --provision-infra flag during work pool creation, automating the provisioning of various Azure resources essential for ACI push pools, including resource groups, app registrations, service accounts, and more.

To provision Azure resources when creating an ACI push pool:

❯ prefect work-pool create my-work-pool --provision-infra --type azure-container-instance:push
? Please select which Azure subscription to use: [Use arrows to move; enter to select]
┏━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃    ┃ Name                 ┃ Subscription ID                      ┃
┡━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│    │ Engineering          │ 123                                  │
│ >  │ Azure subscription 1 │ 234                                  │
└────┴──────────────────────┴──────────────────────────────────────┘
╭───────────────────────────────────────────────────────────────────────────────────────╮
│ Provisioning infrastructure for your work pool my-work-pool will require:             │
│                                                                                       │
│     Updates in subscription Azure subscription 1                                      │
│                                                                                       │
│         - Create a resource group in location eastus                                  │
│         - Create an app registration in Azure AD                                      │
│         - Create a service principal for app registration                             │
│         - Generate a secret for app registration                                      │
│         - Assign Contributor role to service account                                  │
│         - Create Azure Container Instance                                             │
│                                                                                       │
│     Updates in Prefect workspace                                                      │
│                                                                                       │
│         - Create Azure Container Instance credentials block aci-push-pool-credentials │
│                                                                                       │
╰───────────────────────────────────────────────────────────────────────────────────────╯
Proceed with infrastructure provisioning? [y/n]: y
Creating resource group
Provisioning infrastructure... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% -:--:--Resource group 'prefect-aci-push-pool-rg' created in location 'eastus'
Creating app registration
Provisioning infrastructure... ━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  20% -:--:--App registration 'prefect-aci-push-pool-app' created successfully
Generating secret for app registration
Provisioning infrastructure... ━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━  40% 0:00:06Secret generated for app registration with client ID 'abc'
ACI credentials block 'aci-push-pool-credentials' created
Assigning Contributor role to service account...
Provisioning infrastructure... ━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━  60% 0:00:06Contributor role assigned to service principal with object ID 'xyz'
Creating Azure Container Instance
Provisioning infrastructure... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━  80% 0:00:04Container instance 'prefect-acipool-container' created successfully
Creating Azure Container Instance credentials block
Provisioning infrastructure... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Infrastructure successfully provisioned for 'my-work-pool' work pool!
Created work pool 'my-work-pool'!

This marks a step forward in Prefect's Azure capabilities, offering you an efficient and streamlined process for leveraging Azure Container Instances to execute their workflows.

See the following pull request for implementation details:
— https://github.com/PrefectHQ/prefect/pull/11275

🪄 🎩 🐰 Introducing the provision-infra sub-command for enhanced push work pool management

This enhancement allows you to directly provision infrastructure for existing push work pools. Rather than recreating a work pool, you can provision necessary infrastructure and
update the existing work pool base job template with the following command:

❯ prefect work-pool provision-infra my-work-pool
? Please select which Azure subscription to use: [Use arrows to move; enter to select]
┏━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃    ┃ Name                 ┃ Subscription ID                      ┃
┡━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│    │ Engineering          │ 13d                                  │
│ >  │ Azure subscription 1 │ 6h4                                  │
└────┴──────────────────────┴──────────────────────────────────────┘
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Provisioning infrastructure for your work pool my-work-pool will require:                                      │
│                                                                                                                │
│     Updates in subscription Azure subscription 1                                                               │
│                                                                                                                │
│         - Create a resource group in location eastus                                                           │
│         - Create an app registration in Azure AD prefect-aci-push-pool-app                                     │
│         - Create/use a service principal for app registration                                                  │
│         - Generate a secret for app registration                                                               │
│         - Assign Contributor role to service account                                                           │
│         - Create Azure Container Instance 'aci-push-pool-container' in resource group prefect-aci-push-pool-rg │
│                                                                                                                │
│     Updates in Prefect workspace                                                                               │
│                                                                                                                │
│         - Create Azure Container Instance credentials block aci-push-pool-credentials                          │
│                                                                                                                │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Proceed with infrastructure provisioning? [y/n]: y
...

This PR bolsters support for efficient work pool management across diverse cloud environments, delivering a tool for seamless infrastructure setup.

See the following pull request for implementation details:

💥 Enhancements

🧰 Fixes

🧠 Documentation

prefect - Release 2.14.9

Published by bunchesofdonald 11 months ago

🪄 Automatic infrastructure provisioning for ECS push work pools

Following the introduction of automatic project configuration for Cloud Run push pools last week, we've added the ability to automatically provision infrastructure in your AWS account and set up your Prefect workspace to support a new ECS push pool!

You can create a new ECS push work pool and provision infrastructure in your AWS account with the following command:

prefect work-pool create --type ecs:push --provision-infra my-pool 

Using the --provision-infra flag will automatically set up your default AWS account to be ready to execute flows via ECS tasks:

╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Provisioning infrastructure for your work pool my-work-pool will require:                                         │
│                                                                                                                   │
│          - Creating an IAM user for managing ECS tasks: prefect-ecs-user                                          │
│          - Creating and attaching an IAM policy for managing ECS tasks: prefect-ecs-policy                        │
│          - Storing generated AWS credentials in a block                                                           │
│          - Creating an ECS cluster for running Prefect flows: prefect-ecs-cluster                                 │
│          - Creating a VPC with CIDR 172.31.0.0/16 for running ECS tasks: prefect-ecs-vpc                          │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Proceed with infrastructure provisioning? [y/n]: y
Provisioning IAM user
Creating IAM policy
Generating AWS credentials
Creating AWS credentials block
Provisioning ECS cluster
Provisioning VPC
Creating internet gateway
Setting up subnets
Setting up security group
Provisioning Infrastructure ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Infrastructure successfully provisioned!
Created work pool 'my-pool'!

If you have yet to try using an ECS push pool, now is a great time!

If you use Azure, don't fret; we will add support for Azure Container Instances push work pools in a future release!

See the following pull request for implementation details:
— https://github.com/PrefectHQ/prefect/pull/11267

🚀 Enhancements

🛠️ Fixes

prefect - Release 2.14.8

Published by zhen0 11 months ago

This release is a follow-up to 2.14.7 which never made it to PyPI because of an issue with our Github workflow.

Documentation

All changes: https://github.com/PrefectHQ/prefect/compare/2.14.7...2.14.8

prefect - Release 2.14.7

Published by zhen0 11 months ago

This release fixes a bug introduced in 2.14.6 where deployments with default Docker image builds looked for images tagged v2.14.6 instead of 2.14.6. Users of 2.14.6 should upgrade if planning to create deployments with an image other than a custom image.

🌟 Enhancements

🔧 Fixes

📚 Documentation

🧑‍🤝‍🧑 New Contributors

For more details see the release notes.

prefect - 2.14.6

Published by zzstoatzz 11 months ago

This release includes:

🔜 View the next run for a deployment at a glance

  • View the next run for a deployment in the Runs tab of the Deployments page in the Prefect UI! Upcoming runs are now in a dedicated tab, making the most relevant running and completed flow runs more apparent.

🔧 Automatic project configuration for Cloud Run push work pools

  • We've enhanced the prefect work-pool create CLI command to automatically configure your GCP project and set up your Prefect workspace to use a new Cloud Run push pool immediately

📚 Updated Guides

  • Instructions for turning off the flow run logger to the unit testing guide

🧑‍🤝‍🧑 Contributors

  • A big thanks to @ConstantinoSchillebeeckx for their continued support and contributions.

See the the release notes for more details!

prefect - Release 2.14.5

Published by serinamarie 11 months ago

This release includes:

🔄 Improvements to deploying with flow.from_source

  • Integrate storage blocks seamlessly with flow.from_source for synchronizing credentials and configurations. This allows you to update code storage credentials without re-deploying flows.

🔧 New Settings

  • We've added a client-side setting for specifying a default work pool.
  • Host and port settings for the worker webserver are now customizable.

📚 Updated Guides

  • We've updated our work pool-based deployment guide to include information on .deploy.

🧑‍🤝‍🧑 Contributors

  • A special thanks to @yarikoptic for their first contribution to Prefect! Also, a big thanks to @taljaards for their continued support and contributions.

See the the release notes for more details!

prefect - Release 2.14.4

Published by zhen0 11 months ago

Release 2.14.4

New improved flow run graph with dependency layout

The flow run graph in the Prefect UI has been rebuilt from the ground up, offering significantly improved performance capabilities that allow larger flow runs to be displayed much more smoothly. We’ve added three new layouts: two non-temporal layout options, designed to provide a clearer picture of the dependency paths, and one to facilitate easy comparison of run durations. The x-axis can now be independently scaled for temporal layouts; and you can adjust it in the graph settings or with the new keyboard shortcuts - and +. We included additional small bug fixes, including the display of cached tasks.

See the following pull requests for implementation details:

Enhancements

Fixes

Documentation

See the release notes for more details!

prefect - Release 2.14.3

Published by zzstoatzz 12 months ago

Deployment Status Monitoring 🚦

  • Track deployment status in the Prefect UI
  • Emit Prefect Cloud events for deployment status changes, with automation triggers available

Expanded Storage for flow.from_source 🗂

  • Load flows from remote storage locations like S3 and Azure Blob Storage using fsspec protocols

Enhancements and Fixes 🔧

  • Skip Docker builds with flow.deploy
  • Fixes for cancellation cleanup, Pydantic V2 models in flow signatures

Documentation and Guides 📘

  • Adds documentation for Systemd daemonization, global concurrency clarification, and Prefect Cloud teams

See the release notes for details!

prefect - Release 2.14.2

Published by serinamarie 12 months ago

This release includes the ability to pass **kwargs to state change hooks 🪝, allowing you to further customize the actions you to take upon completion or cancellation. Additionally, we've improved the management of on_cancellation and on_crashed flow run state change hooks.

See the release notes for details!

prefect - Release 2.14.1

Published by urimandujano 12 months ago

This release includes:

🪲 Fixes

  • Refined flow parameter validation to use the correct validation depending on if the parameter is a pydantic v1 or v2 model.

📚 Documentation Improvements

  • Added Python serve and deploy options to the schedules concepts documentation

See the release notes for details!

prefect - Release 2.14.0

Published by urimandujano 12 months ago

This release includes:

🌐 prefect-client

This slimmed down version of prefect has a small surface area of functionality and is intended for interacting with the Prefect server or Prefect Cloud only. It is ideal for use in lightweight, ephemeral execution environments when the goal is to interact with Prefect API resources. It is now installable via pip:

pip install prefect-client

🏷 Flow Labels for Subflow Runs
We've improved the Prefect UI by adding flow names to subflow runs.

🪲 Windows Environment Compatibility
We've fixed issues related to pulling flows and building deployments in Windows environments.

🚮 UI Cleanup
We've removed an unnecessary work queue health indicator from push pools.

📚 Documentation Improvements

  • Added consistent capitalization
  • Updated the Docker guide to mention image builds with prefect.yaml and flow.deploy
  • Updated Kubernetes guide with Python-based flow deploy creation methods

For a complete overview of all the changes in this release, visit the compare page.

prefect - Release 2.13.8

Published by bunchesofdonald almost 1 year ago

This release includes:

🚀 flow.deploy
We're excited to introduce flow.deploy as a simple transition from running your served flows on persistent infrastructure to executing your flows on dynamically provisioned infrastructure via work pools and workers. flow.deploy ensures your flows execute consistently across environments by packaging your flow into a Docker image and making that image available to your workers when executing your flow.

See the release notes for details!