• Anna Geller

    Anna Geller

    2 months ago
    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/
  • Kevin Kho

    Kevin Kho

    2 months ago
    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
    Kevin Kho
    Anna Geller
    +1
    3 replies
    Copy to Clipboard
  • Chris Reuter

    Chris Reuter

    2 months ago
    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 🎆
  • justabill

    justabill

    2 months ago
    👋 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
  • Anna Geller

    Anna Geller

    2 months ago
    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! 🚀
  • Anna Geller

    Anna Geller

    2 months ago
    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.
  • Chris Reuter

    Chris Reuter

    2 months ago
  • Chris Reuter

    Chris Reuter

    2 months ago
    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!
  • justabill

    justabill

    2 months ago
    👋 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.
    justabill
    1 replies
    Copy to Clipboard
  • Chris Reuter

    Chris Reuter

    2 months ago
    🎉 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 😉
    Chris Reuter
    1 replies
    Copy to Clipboard