Skip to main content
Using the prefect-cloud CLI, you can deploy any Python script that’s available in a GitHub repository and run it on a schedule in the cloud for free in a few simple steps.

Prerequisites

You’ll need the following to get started with Prefect Cloud: Next, open a terminal and execute the commands in the following steps to deploy and run your script in Prefect Cloud.
1

Log in to Prefect Cloud

2

Connect to GitHub

3

Deploy your workflow

Select a function in your script as the entrypoint for your workflow, and provide the path to it from the root of your repository. Your entrypoint should be the “main” function of your script — the function that’s called first when you run your script locally.
prefect-cloud deploy has a few helpful options, like adding Python dependencies to your deployment and setting the default parameter values for your entrypoint function.
Add individual Python dependencies by including their package name.
Include dependencies from a requirements file by providing the path to the file from the root of your repository.
If your entrypoint function has parameters, you can assign the default values used by your deployment.
Include key-value pairs that will be available as environment variables when your deployment runs.
Store secrets in Secret Prefect blocks that will be loaded as environment variables by name reference when your deployment runs. Blocks are encrypted, helping avoid storing secret values as plaintext properties on your deployment.
Reference existing Secret blocks by name.
Select the version of Python to run your script on. Supported Python versions include 3.9, 3.10, 3.11, and 3.12.
If you don’t have a script to deploy, you can use this example:
4

Run your deployment

You can override the inputs to your entrypoint function for ad-hoc runs of your deployment.
Tail your run’s state changes and log outputs directly in your terminal.
If using the example script, run:
5

Schedule your deployment

Prefect Cloud can run your deployment on a schedule if you provide a cron expression like 0 * * * * for hourly runs or 0 0 * * * for daily runs at midnight.
Prefect deployments can have multiple schedules, each with their own default parameter values.
If using the example script, run the following command to schedule your deployment to run hourly:
6

View your runs in Prefect Cloud

Visit the Prefect Cloud dashboard to see the status of your runs.

Cleanup

To remove schedules from your deployment, run:
To delete a deployment, run:

Next steps

Prefect offers much more than simple code deployment and scheduling. Install the prefect Python package in your development environment, and explore the following topics: