https://prefect.io logo
Docs
Join the conversationJoin Slack
Channels
announcements
ask-marvin
best-practices-coordination-plane
data-ecosystem
data-tricks-and-tips
events
find-a-prefect-job
geo-australia
geo-bay-area
geo-berlin
geo-boston
geo-chicago
geo-colorado
geo-dc
geo-israel
geo-japan
geo-london
geo-nyc
geo-seattle
geo-texas
gratitude
introductions
marvin-in-the-wild
prefect-ai
prefect-aws
prefect-azure
prefect-cloud
prefect-community
prefect-contributors
prefect-dbt
prefect-docker
prefect-gcp
prefect-getting-started
prefect-integrations
prefect-kubernetes
prefect-recipes
prefect-server
prefect-ui
random
show-us-what-you-got
Powered by Linen
announcements
  • a

    Anna Geller

    07/01/2022, 2:22 PM
    Hi everyone, On Wednesday (2022-07-06), we will perform Cloud 2.0 maintenance starting at 3 pm EST. The planned maintenance window is 3-5 pm EST. We'll let you know once this is completed. Thanks and have a great weekend!
    :thank-you: 1
    👍 5
  • j

    justabill

    07/05/2022, 6:34 PM
    🚨 Heads up Prefect Cloud 2.0 Beta :cloud2: users: Tomorrow's
    2.0b8
    release will include a breaking change to the interface between Prefect Cloud 2.0 and your agents. You will need to upgrade your agents to ensure that your deployments continue to run as scheduled. We will announce both when the release is available and when Cloud 2.0 has been updated to work with the new client 📣. This release will not impact Cloud 1.0. <!here>
    👍 6
  • a

    Anna Geller

    07/06/2022, 12:40 AM
    Hi everyone! Some quick updates: 1. We’ve just pushed a new Prefect 1.0 release. Please check the link below for details. Thanks to all contributors! 2. The maintenance window mentioned here will likely shift to Thursday (same time). We'll keep you posted about the details 3. As Bill mentioned above, there will be also a Prefect 2.0 release published tomorrow - we'll let you know what changed and what you need to do on your end to make your code compatible with the latest Prefect 2.0 version. Thanks and you'll hear from us again very soon 👋
    🚀 8
    :thank-you: 2
    👌 2
  • a

    Anna Geller

    07/08/2022, 4:07 PM
    Hi all! A bit delayed but the maintenance of Cloud 2.0 :cloud2: will start in an hour. ⚙️ Also, we've just released Prefect
    2.0b8
    with some really cool features - @justabillwill tell you more about it soon. You can take it for a spin already:
    pip install -U "prefect>=2.0b8"
    👍 4
    :thank-you: 2
    :prefect2: 5
    👌 2
    :marvin-duck: 4
    🚀 1
    :cloud2: 6
  • j

    justabill

    07/08/2022, 4:45 PM
    👋 Hey Prefectionists! We're psyched to share our biggest Prefect 2.0 😛refect2: release yet -
    2.0b8
    ! It's full of exciting new features and refinements to existing concepts, including: Flow Run Retries 🔄 Flow run retries have been one of our most requested features, especially given how easy it is to run a flow as a "subflow" or "child flow" with Prefect 2.0. Flow run retries are configured just as task retries are - with the
    retries
    and
    retry_delay_seconds
    parameters. If both a task and its flow have retries configured, tasks within the flow will retry up to their specified task retry limit for each flow run. For example, if you have a flow configured with a limit of 2 retries (up to 3 total runs, including the initial attempt), and a task in the flow configured with 3 retries (up to 4 attempts per flow run, including the initial attempt). The task could run up to a total of 12 attempts, since task retry limits are reset after each flow run or flow run attempt. Notifications 📣 You can always visit the Prefect UI to get a comprehensive view of the state of all of your flows, but when something goes wrong with one of them, you need that information immediately. Notifications can alert you and your team when any flow enters any state you specify, with or without specific tags. To create a notification, go to the new Notifications page via the sidebar navigation and select “Create Notification.” Notifications are structured just as you would describe them to someone. For example, if I want to get a Slack message every time my daily-ETL flow fails, my notification will simply read:
    If a run of any flow with any tag enters a failed state, send a notification to Slack
    Currently, notifications can only be sent to a Slack webhook (or email addresses if you are using Prefect Cloud 2.0). Over time, notifications will support additional messaging services. Let us know which messaging services you’d like to send your notifications to! Flow packaging and deployment 📦 We've revisited our flow packaging and deployment UX, making it both more powerful and easier to use. `DeploymentSpec`s are now just `Deployment`s. Most of the fields are unchanged, but there are a few differences: • The
    flow_storage
    field has been replaced with a
    packager
    field. • The
    flow_location
    ,
    flow_name
    , and
    flow
    parameters are now just
    flow
    . You can deploy a flow directly, or you can package it with the new
    packaging
    module. Packaging enables you to bundle a flow with its dependencies, including Python packages. Packaging produces a Package, the artifact that contains your flow and its dependencies, as well as a Manifest, a JSON description of the package and what is inside of it. There are several ways to create a package, with more to come. For instance, you can package your flow as a Docker image containing the flow and the runtime environment necessary to run it and register it with Docker. Alternatively, you could package your flow as a reference to the import path of a package stored directly in the Prefect Orion database. Learn more in the Deployment concept documentation. You can continue to use your existing `DeploymentSpec`s, but they are deprecated and will be removed in the coming weeks. Blocks 🧱 We've been working on Blocks behind the scenes for a while. Whether you know it or not, if you've used the past few releases, you've used them. Blocks enable you to securely store configuration with the Prefect Orion server and access it from your code later with just a simple reference. Think of Blocks as secure, UI-editable, type-checked environment variables. We're starting with just a few Blocks - mostly storage, but over time we’ll expand this pattern to include every tool and service in the growing modern data stack. You'll be able to set up access to your entire stack once in just a few minutes, then manage access forever without editing your code. Breaking Changes 🚨 This release removes the deprecated
    DaskTaskRunner
    :dask: and
    RayTaskRunner
    :ray: from the core library, breaking existing references to them. You can find them in their respective collections prefect-ray and prefect-dask. It also removes the previously deprecated restart policy for the
    KubernetesFlowRunnner
    . Most importantly, there are new breaking changes to the Deployments interface described below. Special thanks to @Cole Murray, @Oliver Mannion, @Steve Flitcroft, and Laerte Pereira for their contributions to this release!
    👀 8
    🙌 19
    :prefect2: 9
    :prefect: 12
    :cloud2: 9
    a
    • 2
    • 1
  • a

    Anna Geller

    07/08/2022, 6:08 PM
    A quick update: Cloud 2.0 :cloud2: maintenance is now complete 🎉 If you haven't already, you can sign up for a free account using the link https://beta.prefect.io/
    🙌 5
  • k

    Kevin Kho

    07/08/2022, 6:46 PM
    Hi friends! Just letting you all know that July 22 will be my last day at Prefect. It has been a pleasure serving a very smart and friendly community. Every day brought new challenges and forced me to learn new things. The vast number of use cases you guys are working on is truly inspiring (from the enterprise solutions, academic research, to the hobbyist projects). Prefect has a ton of new features and concepts coming out with 2.0, and it’s regrettable I won’t be an active part of building the best workflow orchestrator anymore. This job was so fun because of the community that most days genuinely did not feel like work. I know that the community will continue to be in great hands with Anna around, and also with some of you that generously help other Prefect users, shoutout to club42 members. I’ll still carry the Prefect name and check the updates, or maybe I’ll show up on Prefect Live some time to show what I’m up to. Prefect is an awesome place to work and has been very supportive of my next endeavor. Happy Engineering! Kevin Kho
    ☹️ 10
    🙏 16
    :gratitude-thank-you: 14
    :thank-you: 11
    💙 50
    :fugue: 16
    a
    j
    j
    • 4
    • 3
  • c

    Chris Reuter

    07/18/2022, 6:11 PM
    Hi all! Some pretty exciting events upcoming and we'd love for you to join us. Virtual Events 📺 This Wednesday (7/20) at 3p Eastern we have another exciting PrefectLive, this time with our CTO @Chris White helping out with community support. Come join us! 😛ocket: This Friday (7/22) at 3p Eastern, join the Pocket team as they sit for a Fireside Chat with @Charleigh Liang and cover how they use Prefect to coordinate their dataflows. Register to watch here, and do a little pre-reading by checking out their blog on how they use Prefect. IRL Events For the Washington DC and San Jose locals! We've got Community Meetups in your cities on July 27th. At both you'll be able to meet other community members, Prefect engineers and enjoy drinks & food on us. Learn about what other stacks people are using, challenges they are facing, and imbibe 🍻! Washington DC: Meetup at ChurchKey at 6p EDT San Jose: Meetup at Haberdasher at 8p PDT Looking forward to an exciting couple of weeks 🎆
    🙌 5
    🔥 7
    😛ocket: 5
    :prefect: 6
    :marvin: 7
  • j

    justabill

    07/19/2022, 10:47 PM
    👋 Hey Prefectionists! Big things are in the works for Prefect 2! Today's Prefect 2 release,
    2.0b9
    , includes breaking changes and deprecations in preparation for Prefect 2 graduating from its beta period to General Availability. With next week’s release on July 27th, Prefect 2.0 will become the default package installed when you execute
    pip install prefect
    . Please ensure that your package management process enables you to make the transition to Prefect 2.0 when the time is right for you. 🚨 Note: Flows written with Prefect 1.0 will require modifications to run with Prefect 2.0 Code as workflows :terminal: As Prefect 2 usage has grown, we’ve observed a pattern among users, especially folks that were not previously users of Prefect 1. Working with Prefect was so much like working in native Python, users were often surprised that their tasks returned futures and states, Prefect objects, rather than results, the data that their Python functions were handling. This led to unfamiliar, potentially intimidating, errors in some cases. With this release, Prefect moves one step closer to code as workflows - tasks now return the results of their functions, rather than their states, by default. This means that you can truly take most native Python scripts, add the relevant @flow and @task decorators, and start running that script as a flow, benefitting from the observability and resilience that Prefect provides. States and futures are still important concepts in dictating and understanding the behavior of flows. You will still be able to easily access and use them with the
    .submit()
    method. You will need to modify tasks in existing Prefect 2 flows to use this method to continue working as before. Other improvements and bug fixes :level-up: • A new
    Secret
    block can store a string that is encrypted at rest_* as well as obfuscated in logs and the UI • Date filters on the flow run page in the UI now support filtering by date and time • Each work queue page in the UI now includes a command to start a corresponding agent • Tutorials have been updated for increased clarity and consistency • Cron schedule setting errors are now more informative • Prefect now still works even if the active profile is missing • Conda requirements regex now supports underscores and dots • The previously deprecated
    DeploymentSpec
    has been removed As always, for detailed release notes with links to the relevant PRs, see release notes on GitHub. _* While the string itself is encrypted at rest, the encryption key is accessible via the database, please take this into consideration for security planning purposes
    🙏🏻 1
    🚀 19
    ❤️ 16
    🙌 7
    🙏 17
    🎉 4
  • a

    Anna Geller

    07/22/2022, 12:04 AM
    Hi everyone! As you may know, we are working on the General Availability release of Prefect 2.0, which will go live on Wednesday. To reach that milestone, we frequently release new beta versions, the latest being Prefect 2.0b11. This release, which has just been published to PyPI and Cloud 2.0, includes UI and docs changes and removes default storage in favor of explicit file systems set on Deployments. With the removal of default storage, all results are persisted locally. As part of the documentation changes, we've released a guide explaining on a high level the migration path from Prefect 1.0 to Prefect 2.0. Additionally, we introduced a new
    prefect.infrastructure
    module allowing you to easily deploy infrastructure for running docker containers, subprocesses, and Kubernetes jobs. Please don't worry about missing release notes - we'll provide a detailed description of the changes with the General Availability release next week. If you currently use Prefect 1.0, please make sure you've pinned your Prefect version explicitly (including your Docker images!) to avoid any surprises, as Prefect 2.0 will become the default version when installing Prefect starting next Wednesday. If something isn't working or you are confused, please send us a Slack message or bear with us until Wednesday. We appreciate your patience, and we promise it will be worth it! 🚀
    :prefect-duck: 11
    ❤️ 3
    🙌 17
    🚀 15
    🔥 6
  • a

    Anna Geller

    07/22/2022, 12:07 PM
    Hi again, <!here>! This is a short follow-up to the latest announcement to clarify what being explicit about your Prefect version means in practice. Please make sure to follow the instructions below to ensure that, as we transition to Prefect 2.0 being the default version of Prefect starting on Wednesday, 27th of July, your flows using Prefect 1.0 keep working or at least keep failing successfully. --- #1 When installing Prefect using pip or conda, please specify the exact Prefect version you need to avoid surprises as we're going to change the default version to the latest Prefect 2.0 release on Wednesday, 27th of July ‼️ :large_green_circle: This explicit command will install the latest Prefect 1.0 version, which is 1.2.4 as of today (1.2.5 will be released soon, likely early next week):
    pip install prefect==1.2.4
    🔴 Installing Prefect with an implicit version will install Prefect 2.0, which will break your existing flows if they have been written using Prefect 1.0:
    pip install prefect
    --- #2 When working with Docker images in your run configuration or custom Dockerfiles, use an explicit tag indicating the right Prefect version you need: :large_green_circle: This is the most recent Prefect 1.0 Docker image tag for Python 3.9, which is 1.2.4 as of today:
    prefecthq/prefect:1.2.4-python3.9
    🔴 Using an implicit, i.e., the latest Docker image tag for Python 3.9 (or any other Python version) will leverage Prefect 2.0 as the default:
    prefecthq/prefect:latest-python3.9
    ⚠️ This means that the latest tags of Docker images on your Prefect 1.0 run configurations or custom Dockerfiles will be using Prefect 2.0, which will break your flows unless you make that change of explicitly pinning your dependencies! Please make that change and reregister your flows if needed as soon as possible to avoid any surprises. If you have any questions about it, please reach out.
    🙌 8
    :thank-you: 6
    🐳 4
    :docker_ship: 4
  • c

    Chris Reuter

    07/22/2022, 7:00 PM
    Fireside chat with Pocket starting now!
    🙌 1
    🔥 3
    • 1
    • 1
  • c

    Chris Reuter

    07/25/2022, 2:59 PM
    Hi all - with Prefect 2 😛refect2: coming out of beta on Wednesday, we've got a 🔥 hot lineup of events for you. Tons of tutorials, walkthroughs, demos and celebrations! • Tomorrow, @Kalise Richmond is back with her bi-weekly demo. Join here for a beginner-friendly walkthrough of Prefect 2. • @Kalise Richmond will also be hosting FIVE livestream sessions walking through Prefect 2 over the next 2 weeks. Sign up for a time that works for you here. They're totally interactive, so you can ask questions about concepts, how to migrate, differences between 1 vs 2, and more. • Don't forget we're celebrating with two community meetups. Join us in Washington DC and San Jose on July 27th!
    :prefect: 10
    :cloud2: 7
    5️⃣ 5
    🔥 20
    :prefect2: 9
    ❤️ 11
  • j

    justabill

    07/27/2022, 9:10 PM
    👋 Hey Prefectionists! We're thrilled to announce that Prefect 2.0 has exited its public beta and and Prefect Cloud 2.0 has launched in general availability! 🚀 (Re)Introducing Prefect Hopefully, this release comes as no surprise. It is the culmination of nearly a year of building in public and incorporating your feedback. Even still, the Prefect 2.0 release is just the latest step in a journey that goes much further. Prefect 2.0 is the most Pythonic, dynamic orchestrator ever - but orchestration alone is just one of many needs that the modern data stack demands. With recent enhancements that enable you to leverage the simplicity of Prefect 2.0's observability, without handing over control of your dataflows to the orchestration engine, Prefect 2.0 is the first coordination plane - a single layer that enables you to observe, alert, orchestrate, and respond to dataflows between and across applications. Learn more in our announcement post, (Re)Introducing Prefect: The Global Coordination Plane Immediate changes With this release, the following changes have taken effect: • Prefect 2.0 is now the default version of the open source framework provided upon installation • The Starter tier of the Prefect Cloud 2.0 platform is available for purchase. Contact us for more information about the Growth and Enterprise tiers. All of the URLs for Prefect Cloud 1.0, Prefect Cloud 2.0, and our documentation is unchanged or will redirect: • Cloud 1.0 ◦ Application will remain at cloud.prefect.io ◦ API will remain at cloud.prefect.io/api ◦ Documentation is now hosted at docs-v1.prefect.io • Cloud 2.0 ◦ Application is now hosted at app.prefect.cloud ◦ API is now hosted at api.prefect.cloud ◦ Documentation is now hosted at docs.prefect.io We will continue to support both Prefect 1.0 and Prefect Cloud 1.0. Upgrading from Prefect 1.0 Flows written with Prefect 1.0 will require modifications to run with Prefect 2.0. If you're using Prefect 1.0, please see our guidance on discourse for explicitly pinning your Prefect version in your package manager and Docker, so that you can make the transition to Prefect 2.0 when the time is right for you. See our migration guide to learn more about upgrading Upgrading from earlier versions of Prefect 2.0 We have shipped a lot of breaking changes to Prefect 2.0 over the past week. Most importantly, recent changes to deployments require that schedules for all previously created deployments be turned off and their upcoming runs be deleted. You can learn more about the changes via the deployments concept documentation, the tutorial, or the discourse guide.
    💪🏽 1
    :marvin: 5
    :party-parrot: 6
    2️⃣ 5
    :hattip: 4
    :thank-you: 9
    ❤️ 14
    💯 12
    💙 12
    🙌 28
    :marvin-police: 2
    :prefect2: 14
    🎊 1
    🚀 63
    :marvin-duck: 29
    🎆 16
    🎉 47
    💪 13
    🔥 28
    :cloud2: 13
    🥳 14
    :prefect: 18
    a
    • 2
    • 1
  • c

    Chris Reuter

    07/28/2022, 2:07 PM
    🎉 GIVEAWAY 😛arty-parrot: What would a 😛refect: launch be without a giveaway? Yesterday we had our first two winners of custom Prefect branded keyboards in DC. Now it is your turn! For the next week we'll be hosting a 😛refect2: Prefect 2.0 code contest! Just write & run a Prefect 2.0 flow, post screenshots of your code and your run in the UI to #show-us-what-you-got (write "Code Contest" in your message), and you'll be entered to win one of three customized mechanical keyboards. Get your submissions in by Thursday, August 4th and we'll announce a winner on Friday, August 5th! The weirder the better, let's see those edge cases 😉
    🙌 6
    🚀 8
    ⌨️ 14
    🤓 13
    :prefect: 11
    • 1
    • 1
  • a

    Anna Geller

    08/02/2022, 5:57 PM
    Hi everyone! 👋 We are pleased to see the excitement, feedback, and positive energy about deploying your flows to Prefect 2.0 😛refect2: :cloud2: and building a strategy for deploying your flows to production. Deployments have been redesigned fairly recently, and the engineering team invested their energy into the GA release that happened not even a week ago (!). Therefore, we haven't yet had enough time to build best practice deployment recipes with packaging dependencies and CI/CD workflows. We understand this is required for you to reliably migrate over to Prefect 2.0, and we will work with our full energy to provide that in the coming weeks. Given that we are actively working on further improving the deployment UX and making it more transparent how to apply it to various use cases, deployment patterns, and execution environments, we would recommend waiting for official recipes coming in the following days and weeks before committing to a production deployment story just yet. There are plenty of things you can already do in migrating your workflows, such as migrating your secrets and configuration data using blocks, experimenting with the new task result handling and states, and parallel execution using mapping. We'll continue shipping new releases that will further improve the deployment experience and CI/CD workflows - you can already start thinking about deployment patterns for your execution layer (agents and work queues) and team organization (workspaces, tags), but we'd encourage you to wait before committing to deployment patterns for flows and packaging code dependencies. If you want to give us feedback about your experience with Prefect 2.0, we encourage you to articulate the problems that you try to solve rather than focusing on features that existed in the beta version (such as, e.g., packagers or flow runners) but which no longer exist in the General Availability release. While we can't guarantee backward compatibility with beta releases, we will almost certainly be able to solve the problems that you raise. Thanks, and happy engineering! 😛refect:
    :hattip: 4
    :blob-attention-gif: 9
    😛anda-dancing: 7
    🎉 19
    :marvin: 9
    💙 10
  • a

    Anna Geller

    08/02/2022, 10:58 PM
    Hi everyone! Last announcement for today: we’ve just released Prefect 2.0.2 with some highly requested features for improved deployment UX! In response to your feedback, we realized that when you run
    prefect deployment build
    , you might want to skip the upload of some files which are relevant for local development but not intended for use in production. To solve that problem, we introduced the
    .prefectignore
    file! 😎 How to use
    .prefectignore
    ?
    Add the file
    .prefectignore
    to your root project directory and follow the same syntax as in
    .gitignore
    to make Prefect aware that those files and directories should be ignored at deployment build time. • The syntax supports pattern matching, so an entry of
    *.pyc
    will ensure all .pyc files are ignored. • Prefect will add a default
    .prefectignore
    file if you don’t add it yourself - you can customize it at any time. --- Azure file system block If you are an Azure user, you can start using that as a storage of your flow code and custom modules. Simply add an Azure block in your UI or suing the following Python syntax:
    from prefect.filesystems import Azure
    
    block = Azure(azure_storage_connection_string="paste_the_string_here")
    block.save("dev")
    And reference that block in your deployment CLI:
    prefect deployment build flow.py:flowname \
     --name deploy_name --tag dev -sb azure/dev
    --- Issue templates You can now submit bug reports and feature enhancements using our improved issue templates. Shoutout to @Peyton Runyan for being so proactive and streamlining that experience for everyone! --- Further improvements and bug fixes • Block deletion is now more performant. • Some inconsistencies in the UI have been removed. • Error messaging is clearer in the
    deployment build
    CLI command and the CLI got much more descriptive: • Resolved timeout errors that occurred when using async task functions inside synchronous flows. Discourse version with nicer formatting. Happy Engineering! :marvin-duck:
    🙌 4
    🚀 5
    :prefect2: 9
    :thank-you: 11
    :party-parrot: 2
  • a

    Anna Geller

    08/02/2022, 11:17 PM
    Remember when I told you this was gonna be the last announcement? I lied! 🎬 We would love to announce the inaugural release of :dbt:
    prefect-dbt
    ! With this Prefect Collection, we’re now able to support common workflows for both: 1. dbt CLI for Open-Source dbt users 2. and dbt Cloud for commercial dbt users. We worked with two solutions architects from dbt to develop requirements, QA strategy, and complete development for this collection to ensure this integration reflects best practices for using dbt! :dbt: Kudos to @alex and @Andrew Huang for developing this awesome integration! 👏 If you would like to add a feature request for additions to this collection, feel free to add an item to the `prefect-dbt` GitHub project!
    🚀 11
    🙌 18
    🎉 11
    :party-parrot: 11
    :dbt: 7
    • 1
    • 2
  • j

    justabill

    08/03/2022, 8:15 PM
    With all the excitement surrounding last week's 😛refect2:
    2.0.0
    release, today's 😛refect:`1.3.0` release is an important reminder that we will continue to support Prefect 1.x well into the future 💪. Today's release enables custom job name prefixes using the job template passed to the KubernetesAgent. It also includes several task library enhancements and fixes, including: • :kubernetes: Target a specific container within a Kubernetes pod with the new
    ReadNamespacedPodLogs
    parameter • 🐚 Run commands in Microsoft Powershell with the new
    PowershellTask
    • :azure: Interface with Azure Datafactory more confidently with several fixes to existing tasks Special thanks to @Alvaro Durán Tovar and @Chinmay Bhat for their contributions to this release! See the Prefect 1.x changelog for more information.
    💪🏻 1
    🔥 14
    💪 3
    :thank-you: 5
    :prefect: 6
  • c

    Chris Reuter

    08/05/2022, 4:30 PM
    Thanks to all of those that submitted an entry for our Code Contest! I'm happy to announce the 3 winners of mechanical keyboards: @Stéphan Taljaard See Stephan's entry here @John Kang See John's entry here @Cole Murray See Cole's entry here Everyone else, thank you for your submissions! We'll be sending you a swag bundle as well. Check your DMs for more info!
    💯 5
    🤯 7
    😄 5
    👏 4
    :thank-you: 4
    🚀 5
    🎉 8
    🔥 7
    :marvin: 5
    :its-beautiful: 6
  • j

    Jeff Hale

    08/08/2022, 3:58 PM
    Prefect 2.0.3 is live! 🚀 This release includes a number of improvements and bug fixes: • Azure storage blocks can use
    .prefectignore
    • Resolved bugs and improved interface in the Orion client. • Resolved a bug in Azure storage blocks that would cause uploads to get stuck. • Resolved a bug where calling a flow in a separate thread would raise an exception. • Resolved issues with loading flows from a deployment. • Corrected some erroneous type annotations. • Better handling of database errors during state transition validation. • Better sanitization of labels for Kubernetes Jobs. • Fixes
    --manifest-only
    flag of
    prefect deployment build
    command to ensure that using this flag, the manifest gets generated, but the upload to a storage location is skipped. • Added support for multiple YAML deployment paths to the
    prefect deployment apply
    command. We want to highlight again that we released
    prefect-dbt
    - a collection of Prefect integrations for working with dbt in your Prefect flows. This collection has been built as part of a partnership with dbt Labs to ensure that it follows best practices for working with dbt. Thank you to everyone who contributed feedback, opened issues, wrote code, and improved documentation! 😛refect-duck:💙
    👍 6
    🚀 19
    🙌 2
    💙 2
    :thank-you: 6
    🙌🏻 1
  • a

    Anna Geller

    08/10/2022, 6:43 PM
    New release announcement - Prefect 2.0.4 has just arrived! 🛬 Based on your feedback, we added significant improvements to deployments: 1. Prefect no longer generates
    manifest.json
    -- many users gave us feedback that having two manifests (YAML for infrastructure and JSON for flow path configuration) was confusing. We simplified that. Now, there is a single YAML manifest that gets generated as a build artifact anytime you run
    prefect deployment build
    . You may version control that file or simply use it as a build artifact in your CI/CD (recipes for that are coming!). 2. The local file system block is handled behind the scenes to streamline the local development experience. 3. The infrastructure blocks have been optimized for modularity and composability. Instead of boilerplate code, you can now have a generic
    Process
    ,
    DockerContainer
    or
    KubernetesJob
    block, and add custom overrides in your build CLI only for changes (overrides) you need to apply on a per-deployment level. For example, if you want to change the default log level for a given deployment to DEBUG (or change any other environment variable) or swap the Docker image for a different one, you can do all that using the new
    --override
    flag:
    prefect deployment build flows/your_flow.py:flow_function_name \
    -n deployment_name \ # name for this specific deployment
    -t your_workqueue_name \ # tag corresponding to your work queue agent
    -o deployments/deployment_manifest1.yaml \ # output: where to store your manifest
    -ib process/dev \  # your generic parent Infrastructure Block to avoid boilerplate
    --override env.PREFECT_LOGGING_LEVEL=DEBUG \ 
    --override image=prefecthq/prefect:2-python3.9 \
    -v your_github_sha  # version: for robust deployment versioning from CI/CD
    --- Start custom flow runs from the UI One of the most commonly requested features was the ability to start parametrized flow runs directly from the UI. You can now do that! From the deployment page, in addition to triggering an immediate flow run with default parameter arguments, you can also create a custom run allowing you to configure: • the run's parameter values, • start time, • custom run name, • and more, All that is possible while using otherwise the same deployment configuration (infrastructure, storage, etc.). The deployment itself will be unchanged and continue to generate runs on its regular schedule. See the attached screenshot to see how this works. --- Further improvements and bug fixes: • Timeout errors messages on state changes are more intuitive • Added debug level logs for task run rehydration • Added basic CLI functionality to inspect Blocks; more to come. Here is how it looks like:
    prefect block ls # list blocks in the workspace
    prefect block type ls # list registered block types
    prefect block register --help # shows how to register new block types
    • Added support for filtering on state name to
    prefect flow-run ls
    • Refined autogenerated database migration output As always, to upgrade to the latest version:
    pip install prefect -U
    Cloud 2.0 is already up to date! :cloud2: Happy engineering!
    🍾 8
    💥 9
    💯 21
    :upvote: 9
    🚀 25
    🎉 14
  • a

    Anna Geller

    08/10/2022, 8:25 PM
    New integration -
    prefect-monday
    is now released! :marvin-duck: A fun tidbit about this integration is that the tasks within this Prefect Collection were created by a code generator using the service's GraphQL schema. • Code • Docs Don’t forget to give this repository a ⭐!
    🙌 9
    :prefect2: 6
    ⭐ 6
  • a

    Anna Geller

    08/11/2022, 6:12 PM
    Fresh off the press - :fugue: Fugue collection just got released to PyPI! This collection makes it easy to move from a local development with Pandas to a distributed computing framework such as Spark or Dask. How does it work? Simply swap the :fugue: Fugue Block name to point to a Databricks or Coiled cluster, and the same code will be parallelized across several compute nodes on Spark or Dask, and it will just work - no code modification required, no hardcoding credentials. Give @Kevin Kho a star on this repository! ⭐
    👀 9
    :highfive: 3
    🙌 15
    🔥 17
    :fugue: 13
    :thank-you: 1
  • a

    Anna Geller

    08/17/2022, 1:08 PM
    Hi everyone! :marvin-duck: The data bricks 🧱 for your data stack have just arrived! Following our Fugue:fugue:integration with Databricks, Prefect 2.0 now integrates directly with Databricks :databricks: via prefect-databricks collection. To get started, install the collection using:
    pip install prefect-databricks
    Docs: https://prefecthq.github.io/prefect-databricks/ Code: https://github.com/PrefectHQ/prefect-databricks If you like it, give us a star on this repository! ⭐
    :databricks: 8
    🔥 15
    🧱 3
    :thank-you: 2
    🎉 10
  • a

    Anna Geller

    08/17/2022, 11:08 PM
    Hi everyone! 😛refect-duck: We are excited to announce the 2.1 release! 😛refect2: :cloud2: See the description below 👇 for a list of new (highly requested!) features. We don't even mention here all the tiny improvements and bug fixes you can read more about in the Discourse announcement and the release notes. Build Deployments in Python The
    prefect deployment build
    CLI provides a simple way of creating deployments, and it has been designed for reliable engineering workflows that integrate well with CI/CD systems such as GitHub Actions (tutorials and recipes follow soon!). However, some users requested an additional feature to also allow deployment creation purely using Python. See the Discourse announcement with an example of how you can use that deployment pattern. The documentation has been extended accordingly. --- Simplified Agents & Work Queues Agents and work queues give you control over where and how flow runs are executed. Now, creating an agent (and corresponding work queue) is even easier. Why? • Work queues now operate strictly by name, not by matching tags. Tags remain an important concept for organizing your work based on projects and filtering your deployments and runs in the UI. • Deployments, and the flow runs they generate, are explicitly linked to a single work queue - this means that deployments map 1:1 to work queues rather than via a many-to-many relationship. • The work queue is automatically created whenever a deployment references it - this means that you no longer have to worry about creating a work queue manually; assign a new work queue name to your deployment when you need it, and just start a new agent polling from the same work queue name. Prefect will handle work-queue creation under the hood for you. Here is what this looks like in practice:
    prefect deployment build myflow.py:myfunc -n mydeployment -q prod -o my.yaml
    prefect deployment apply my.yaml
    
    prefect deployment run myfunc/mydeployment 
    
    prefect agent start -q prod
    This “prod” work queue will pick up the run since it matches the queue
    -q prod
    specified on this deployment. Default work queue If you forget a work queue name on your deployment, Prefect will automatically assign a “default” work-queue name. This way, the runs generated by such deployments can be picked up by an agent you can start using:
    prefect agent start -q default
    Benefits of the work queue changes Most users will not have to interact directly with work queues at all – you only need to interact with deployments and agents. You can use work queues only once you need a more advanced configuration, such as using concurrency limits. Work queue changes are backward compatible! The changes are fully backward compatible. See the documentation to learn more. --- New Collections We announced those here already, but to list those again, here are recently released Prefect Collections: • prefect-monday • prefect-databricks • prefect-fugue As always, to upgrade to the latest version:
    pip install prefect -U
    Cloud 2.0 is already up to date! :cloud2: Happy engineering! :marvin-duck:
    🎉 8
    😀 5
    :cloud2: 11
    :prefect2: 10
    :gratitude-thank-you: 22
    🚀 25
    :fugue: 8
    :databricks: 7
  • c

    Chris Reuter

    08/18/2022, 1:00 PM
    Hi all! If you're interested in keeping track of all of the virtual livestreams and in-person events that Prefect is hosting or involved in, feel free to subscribe to our publicly available calendar here. We'll continue to use the #events channel to publish event announcements as well! Thanks to @John Kang for the suggestion!
    ✅ 3
    🎉 5
    📆 8
    :marvin-duck: 6
    🙌 5
    :thank-you: 5
    :prefect: 7
    🚀 7
  • a

    Anna Geller

    08/18/2022, 3:38 PM
    Hi 😛refect:refectionists! Quick update: we've just pushed some fixes related a.o. to parametrized runs in the 2.1.1 release. It includes only client-side changes. Thanks to everyone giving feedback and reporting potential bugs. If you haven't seen it yet, we've recently updated our issue templates for reporting issues, proposing enhancements or asking questions. You can even book a rubber duck! :marvin-duck: Have a great rest of the week! 💙
    :thank-you: 5
    🎉 6
    :party-parrot: 5
    🙌 8
  • a

    Anna Geller

    08/23/2022, 6:28 PM
    Hi everyone! 😛refect-duck: We’ve just released Prefect 2.2.0 😛refect2: to PyPI and Cloud 2 :cloud2: with improved mapping functionality, UI flow run filter, docs enhancements, and several important fixes. As always, thanks to everyone reporting issues on GitHub! For a detailed overview of changes, see the release notes on Discourse. GitHub release notes: link Happy Engineering! :marvin-duck:
    :party-parrot: 9
    ❤️ 9
    🎉 19
    :marvin-duck: 4
    💯 7
    :marvin: 9
    :thank-you: 3
  • a

    Anna Geller

    08/24/2022, 1:51 PM
    Hi Prefectionists! 😛refect: We've just published some deployment-related content. 1. This blog post explains what deployments are, when and how to use them, and why blocks are so cool 2. This repository template provides a sample repository structure, as well as a one-click agent deployment and CI/CD to agents running on AWS -- both integrated directly with GitHub Actions 3. PDF (Prefect Deployment FAQ) - a list of frequently asked questions about deployments (with answers) :42: Happy Engineering!
    🙌 7
    🚀 11
    🎉 18
    👀 5
    :thank-you: 9
    :club42: 5
    :party-parrot: 8
    ❤️ 16
Powered by Linen
Title
a

Anna Geller

08/24/2022, 1:51 PM
Hi Prefectionists! 😛refect: We've just published some deployment-related content. 1. This blog post explains what deployments are, when and how to use them, and why blocks are so cool 2. This repository template provides a sample repository structure, as well as a one-click agent deployment and CI/CD to agents running on AWS -- both integrated directly with GitHub Actions 3. PDF (Prefect Deployment FAQ) - a list of frequently asked questions about deployments (with answers) :42: Happy Engineering!
🙌 7
🚀 11
🎉 18
👀 5
:thank-you: 9
:club42: 5
:party-parrot: 8
❤️ 16
View count: 5