Photo by Roger Hoyles on Unsplash

Announcing Prefect 0.6.0: Cloud Ready

Christopher White
The Prefect Blog
Published in
3 min readJul 16, 2019

--

Our team is excited to announce the release of Prefect Core 0.6.0!

To install, just run: pip install prefect -U

This release is the culmination of feedback from both our open-source community and Cloud Lighthouse Partners over the last three months. It coincides with the graduation of Prefect Cloud to a beta product by bringing Core in line with the latest version of the Cloud API. Consequently, all Cloud users must update to Core 0.6.0 to deploy new flows.

In addition, Core has become a stronger standalone workflow engine. The feedback we’ve received from users deploying Core into production has been invaluable and directly contributed to many of the changes in this release.

New Features

Prefect CLI

Prefect 0.6.0 ships with our first version of the Prefect CLI for interacting with Flows deployed to Prefect Cloud. Josh Meek built this in his spare time and surprised us with it during one of Prefect’s internal demo days! We’re confident you’ll love it as much as we do… especially the streaming logs functionality. We’re positioning this CLI as a full-fledged Prefect Cloud client, alongside our UI.

Live Streaming Cloud Logs from the Prefect CLI

Long-Running Dask Clusters

Most of Prefect’s users prefer executing their Flows using Dask (although this is not a requirement for using Prefect).

Cloud users can now enjoy the ability to run multiple flows against a fixed, long-standing Dask Cluster with the new RemoteEnvironment execution environment.

Task Affinity via Dask Resource Management

Prefect Tasks can now hook directly into Dask’s Worker Resources mechanism via specially formatted Task tags. This allows users to specify both resource affinity for Tasks that need to run on certain machines (e.g., if they require special hardware) as well as resource constraints to limit the number of running Tasks which require a similar scarce resource.

Improved Dask UI Integration

Prefect’s DaskExecutor now explicitly sets future keys with Task names for a more intuitive visualization experience with the Dask Scheduler UI.

Dask UI of a running Prefect Flow

Caching

Caching is now supported across flows and tasks! This was a very popular request and we are happy to say that 0.6.0 supports this feature for both Prefect Core and Cloud. To use it, simply specify a common cache_key on the relevant Tasks that should share a cache — in Core, the cache will persist in memory across any and all Flow runs. In Cloud, the CachedState will persist in the Cloud database, whereas the data itself will persist in the location of your choice (specified by a ResultHandler).

Task Library

The task library now includes tasks for AWS step functions, Dropbox, and enhanced Google Cloud Storage interaction.

Slack Community

We heard you loud and clear: we’ve set up a Slack community for users to discuss Prefect, get support, and help shape its future direction.

Please continue reaching out to us with your questions and feedback — we appreciate the opportunity to work with all of you!

Happy Engineering!

— The Prefect Team

--

--