Skip to main content

programatically author and monitor data pipelines

Project description

Airflow is awesome

But it’s confusing.

  • So many logs

  • How do I run anything?

  • Did I just run something?

  • I think I just ran something…

  • Really, too many logs

And bulky.

  • You have to launch a webserver and a scheduler to run a dag.

And it doesn’t work on Windows…

Sebflow is a stripped-down Airflow implementation that runs locally on both Windows and Linux, only uses PythonOperators, and allows you to use your computer’s scheduling programs to run a dag.

SebFlow is ripped almost entirely from the Incubator-Airflow project: a team of incredible programmers. I have learned so much from their code.

import time

from sebflow.models import DAG
from sebflow.operators.python_operator import PythonOperator
from sebflow.exceptions import SebOnPurposeError


 def sleep1():
     time.sleep(1)


def sleep5(*args, **kwargs):
    time.sleep(5)


def fail_on_purpose(arg1, arg2):
    raise SebOnPurposeError()


dag = DAG(
    'test',
    schedule_interval='@daily',

)

t1 = PythonOperator(
    task_id='task1',
    dag=dag,
    python_callable=sleep1)

t2 = PythonOperator(
    task_id='task12',
    dag=dag,
    python_callable=fail_on_purpose,
    op_args=['asdf', 'asdfasdf']
)

t3 = PythonOperator(
    task_id='task13',
    dag=dag,
    python_callable=sleep5,
    op_args=['asdf', 'asdfsdf'],
    op_kwargs={'kwarg1': 'asdfasdf', 'kwarg2': 'asdfasdf'}
)


t2.set_upstream(t1)
t3.set_upstream(t1)

if __name__ == '__main__':
    dag.run()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sebflow-0.0.2.tar.gz (19.0 kB view details)

Uploaded Source

File details

Details for the file sebflow-0.0.2.tar.gz.

File metadata

  • Download URL: sebflow-0.0.2.tar.gz
  • Upload date:
  • Size: 19.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for sebflow-0.0.2.tar.gz
Algorithm Hash digest
SHA256 f13b4fd76f92fd7d66a4c8a1e3a93131d5c3eb58a46ce5bf78398671e149d139
MD5 f87ee5f63b7eefa03d449d450310a2c1
BLAKE2b-256 9349730bbb104a2b133290f654b3d29aa1a5a1ed83c69d106ebc42c7725f6baa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page