Skip to main content

gusty

Gusty is an opinionated framework for data ETL built on top of Airflow, where every task is represented by one YAML file, and each task creates a view in a database.

Structure

The .yml approach to generating jobs within Airflow DAGs is not a new idea, but it is useful and there are a few built in benefits to it here.

  • Dependencies - Dependencies can quickly be set in .yml files through one of three means:

    1. Using the dependencies specification, you can set dependencies between jobs in the same DAG.
    2. Using the external_dependencies specification, you can set dependencies between jobs in different DAGs.
    3. For the MaterializedPostgresOperator, dependencies in the same DAG that are a part of the views schema are automatically registered.
  • Operator configuration - After you build an operator, you can pass parameters to it in each .yml job definition file. This means that, for example, if you have to call different API endpoints, you may only need to build one operator to ingest data from this API, and then can specify the endpoint to call in the .yml job definition file.

  • Support for popular notebook formats - There are currently two notebook operators, RmdOperator and JupyterOperator, which enable you to simply write RMarkdown or Jupyter Notebook files and deploy them as jobs in your data pipeline. More importantly, RmdOperator and JupyterOperator are actually executed on separate dedicated docker containers, and interact with the Airflow container via SSH, which is useful if you want to deploy these services separately in the cloud!

Release files for gusty 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gusty 0.0.2
File Size Uploaded
gusty-0.0.2.tar.gz 8.5 kB Details

Release files / gusty-0.0.2.tar.gz

Download URL gusty-0.0.2.tar.gz
Size 8.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d54dbfead71f43124406d62487a33692242a02ca5ec2df43e456f467c92452b0
BLAKE2b-256 checksum
How to use checksums
47b535dbc9881bf9c3fbd08b0876ecb9d3c093dd5839e1a9aae1e54c1ae502bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.22.0 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.42.0 CPython/3.6.5

Release history Release notifications | RSS feed

0.23.1

2 release files

0.23.0

2 release files

0.21.0

2 release files

0.18.1

2 release files

0.18.0

2 release files

0.17.1

2 release files

0.16.0

2 release files

0.15.1

2 release files

0.14.0

2 release files

0.12.3

2 release files

0.12.2

2 release files

0.12.0

2 release files

0.11.3

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.6

2 release files

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

This release

0.0.2 This release

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page