All Projects β†’ PrefectHQ β†’ Prefect

PrefectHQ / Prefect

Licence: apache-2.0
The easiest way to automate your data

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Prefect

funsies
funsies is a lightweight workflow engine πŸ”§
Stars: ✭ 37 (-99.53%)
Mutual labels:  infrastructure, workflow-engine, data-engineering, data-ops
Server
The Prefect API and backend
Stars: ✭ 87 (-98.91%)
Mutual labels:  automation, workflow-engine, workflow, orchestration
Odin
A programmable, observable and distributed job orchestration system.
Stars: ✭ 405 (-94.91%)
Mutual labels:  automation, workflow-engine, orchestration
Ploomber
A convention over configuration workflow orchestrator. Develop locally (Jupyter or your favorite editor), deploy to Airflow or Kubernetes.
Stars: ✭ 221 (-97.22%)
Mutual labels:  data-science, data-engineering, workflow
Walkoff
A flexible, easy to use, automation framework allowing users to integrate their capabilities and devices to cut through the repetitive, tedious tasks slowing them down. #nsacyber
Stars: ✭ 855 (-89.25%)
Mutual labels:  automation, workflow, orchestration
Sayn
Data processing and modelling framework for automating tasks (incl. Python & SQL transformations).
Stars: ✭ 79 (-99.01%)
Mutual labels:  automation, data-science, data-engineering
Batchflow
BatchFlow helps you conveniently work with random or sequential batches of your data and define data processing and machine learning workflows even for datasets that do not fit into memory.
Stars: ✭ 156 (-98.04%)
Mutual labels:  workflow-engine, data-science, workflow
prefect-saturn
Python client for using Prefect Cloud with Saturn Cloud
Stars: ✭ 15 (-99.81%)
Mutual labels:  workflow-engine, data-engineering, prefect
Terrahub
Terraform Automation and Orchestration Tool (Open Source)
Stars: ✭ 148 (-98.14%)
Mutual labels:  automation, infrastructure, orchestration
zenaton-ruby
πŸ’Ž Ruby gem to run and orchestrate background jobs with Zenaton Workflow Engine
Stars: ✭ 32 (-99.6%)
Mutual labels:  workflow, workflow-engine, orchestration
Utask
Β΅Task is an automation engine that models and executes business processes declared in yaml. βœοΈπŸ“‹
Stars: ✭ 374 (-95.3%)
Mutual labels:  automation, workflow-engine, workflow
Geoengineer
DEPRECATED β€” Infrastructure As Code
Stars: ✭ 407 (-94.88%)
Mutual labels:  infrastructure, workflow
Ck
Collective Knowledge framework (CK) helps to organize black-box research software as a database of reusable components and micro-services with common APIs, automation actions and extensible meta descriptions. See real-world use cases from Arm, General Motors, ACM, Raspberry Pi foundation and others:
Stars: ✭ 395 (-95.04%)
Mutual labels:  automation, workflow
Ansible For Kubernetes
Ansible and Kubernetes examples from Ansible for Kubernetes Book
Stars: ✭ 389 (-95.11%)
Mutual labels:  automation, infrastructure
Great expectations
Always know what to expect from your data.
Stars: ✭ 5,808 (-27%)
Mutual labels:  data-science, data-engineering
Active workflow
Turn complex requirements to workflows without leaving the comfort of your technology stack.
Stars: ✭ 413 (-94.81%)
Mutual labels:  data-engineering, workflow
Shuffle
Shuffle: A general purpose security automation platform platform. We focus on accessibility for all.
Stars: ✭ 424 (-94.67%)
Mutual labels:  automation, orchestration
Rundeck
Enable Self-Service Operations: Give specific users access to your existing tools, services, and scripts
Stars: ✭ 4,426 (-44.37%)
Mutual labels:  automation, orchestration
Udacity Data Engineering Projects
Few projects related to Data Engineering including Data Modeling, Infrastructure setup on cloud, Data Warehousing and Data Lake development.
Stars: ✭ 458 (-94.24%)
Mutual labels:  data-engineering, infrastructure
Production Data Science
Production Data Science: a workflow for collaborative data science aimed at production
Stars: ✭ 388 (-95.12%)
Mutual labels:  data-science, workflow

Hello, world! πŸ‘‹

We've rebuilt data engineering for the data science era.

Prefect is a new workflow management system, designed for modern infrastructure and powered by the open-source Prefect Core workflow engine. Users organize Tasks into Flows, and Prefect takes care of the rest.

Read the docs; get the code; ask us anything!

Welcome to Workflows

Prefect's Pythonic API should feel familiar for newcomers. Mark functions as tasks and call them on each other to build up a flow.

from prefect import task, Flow, Parameter


@task(log_stdout=True)
def say_hello(name):
    print("Hello, {}!".format(name))


with Flow("My First Flow") as flow:
    name = Parameter('name')
    say_hello(name)


flow.run(name='world') # "Hello, world!"
flow.run(name='Marvin') # "Hello, Marvin!"

For more detail, please see the Core docs

UI and Server

In addition to the Prefect Cloud platform, Prefect includes an open-source backend for orchestrating and managing flows, consisting primarily of Prefect Server and Prefect UI. This local server stores flow metadata in a Postgres database and exposes a GraphQL API.

By default, Prefect is configured to use Prefect Cloud as the backend, and you can set Prefect Cloud as the backend by running the command:

$ prefect backend cloud

To use Prefect Server as the backend, run the following command to configure Prefect for local orchestration:

$ prefect backend server

Please note the server requires Docker and Docker Compose to be running.

To start the server, UI, and all required infrastructure, run:

$ prefect server start

Once all components are running, you can view the UI by visiting http://localhost:8080.

Tip: Check our troubleshooting guide if you run into any issues starting the server.

Please note that executing flows from the server requires at least one Prefect Agent to be running. For example, to start the local Agent, run the following command:

$ prefect agent local start

Finally, to register any flow with the server, call flow.register(project_name="<project_name>") within your flow using the name of your project. For more detail, please see the orchestration docs.

"...Prefect?"

From the Latin praefectus, meaning "one who is in charge", a prefect is an official who oversees a domain and makes sure that the rules are followed. Similarly, Prefect is responsible for making sure that workflows execute properly.

It also happens to be the name of a roving researcher for that wholly remarkable book, The Hitchhiker's Guide to the Galaxy.

Integrations

Thanks to Prefect's growing task library and deep ecosystem integrations, building data applications is easier than ever.

Something missing? Open a feature request or contribute a PR! Prefect was designed to make adding new functionality extremely easy, whether you build on top of the open-source package or maintain an internal task library for your team.

Task Library

The Prefect task library is a constantly growing list of pre-defined tasks that provide off-the-shelf functionality for working with a wide range of tools anywhere from shell script execution to kubernetes job management to sending tweets.

Airbyte Airtable Asana AWS Azure
Azure ML Census Databricks dbt Docker
Dremio Dropbox Email Fivetran GitHub
Google Cloud Google Sheets Great Expectations Jira Jupyter
Kubernetes Monday MySQL PostgreSQL Prometheus
Python Pushbullet Redis RSS SendGrid
Shell Slack Snowflake spaCy SQLite
SQL Server Trello Twitter

Deployment & Execution

         

Azure

AWS

Dask

Docker

Google Cloud

Kubernetes

Universal Deploy

Resources

Prefect provides a variety of resources to help guide you to a successful outcome.

We are committed to ensuring a positive environment, and all interactions are governed by our Code of Conduct.

Documentation

Prefect's documentation -- including concepts, tutorials, and a full API reference -- is always available at docs.prefect.io.

Instructions for contributing to documentation can be found in the development guide.

Slack Community

Join our Slack to chat about Prefect, ask questions, and share tips.

Blog

Visit the Prefect Blog for updates and insights from the Prefect team.

Support

Prefect offers a variety of community and premium support options for users of both Prefect Core and Prefect Cloud.

Contributing

Read about Prefect's community or dive in to the development guides for information about contributions, documentation, code style, and testing.

Installation

Requirements

Prefect requires Python 3.6+. If you're new to Python, we recommend installing the Anaconda distribution.

Latest Release

To install Prefect, run:

pip install prefect

or, if you prefer to use conda:

conda install -c conda-forge prefect

or pipenv:

pipenv install --pre prefect

Bleeding Edge

For development or just to try out the latest features, you may want to install Prefect directly from source.

Please note that the master branch of Prefect is not guaranteed to be compatible with Prefect Cloud or the local server.

git clone https://github.com/PrefectHQ/prefect.git
pip install ./prefect

License

Prefect Core is licensed under the Apache Software License Version 2.0. Please note that Prefect Core includes utilities for running Prefect Server and the Prefect UI, which are themselves licensed under the Prefect Community License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].