Host your own server, or pair OSS workflows with Prefect Cloud
Discover workflows at runtime, no DAGs required
Prefect discovers your workflows at runtime so you can write the code you want, without conforming to a constrictive domain-specific language.
1from prefect import flow, task 2 3@task 4def add_one(x: int): 5 return x + 1 6 7@flow 8def main(): 9 for x in [1, 2, 3]: 10 first = add_one(x) 11 second = add_one(first)
- Scheduling, retries, native secrets
- Scaling and concurrency
- Flexible infrastructure and storage configuration
- Intuitive UI and dashboard
Host your own open-source Prefect server, or take advantage of high availability, security, advanced features, and better performance with Prefect Cloud.
Spin up your own orchestration server for development with one command.
This makes local development a breeze, with seamless deployment to production.
$ prefect server start ___ ___ ___ ___ ___ ___ _____ | _ \ _ \ __| __| __/ __|_ _| | _/ / _|| _|| _| (__ | | |_| |_|_\___|_| |___\___| |_| Configure Prefect to communicate with the server with: prefect config set PREFECT_API_URL=http://127.0.0.1:4200/api View the API reference documentation at http://127.0.0.1:4200/docs Check out the dashboard at http://127.0.0.1:4200
Start orchestrating with a single decorator, and take your workflow to production without building unnecessary abstractions.
1from prefect import flow 2 3@flow 4def my_favorite_function(): 5 print("What is your favorite number?") 6 return 42 7 8print(my_favorite_function())
$ python hello_prefect.py 15:27:42.543 | INFO | prefect.engine - Created flow run for flow 'my-favorite-function' What is your favorite number? 15:27:42.652 | INFO | Finished in state Completed() 42