Skip to main content

Lightweight Declarative Data Framework

Project description

DeFlow

A Lightweight Declarative Data Framework that build on the 🏃 Workflow package.

I want to use this project is the real-world use-case for my 🏃 Workflow package that able to handle production data pipeline with the DataOps strategy.

[!WARNING] This framework does not allow you to custom your pipeline yet. If you want to create you workflow, you can use the 🏃 Workflow package instead that already installed.

In my opinion, I think it should not create duplicate workflow codes if I can write with dynamic input parameters on the one template workflow that just change the input parameters per use-case instead. This way I can handle a lot of logical workflows in our orgs with only metadata configuration. It called Metadata Driven Data Workflow.

📦 Installation

pip install -U deflow

:dart: Usage

Version 1

After initialize data framework project with Version 1, your data pipeline config files will store with this file structure:

conf/
 ├─ conn/
 │   ├─ c_conn_01.yml
 │   ╰─ c_conn_02.yml
 ├─ routes/
 │   ╰─ routing.yml
 ╰─ stream/
     ╰─ s_stream_01/
         ├─ g_group_01.tier.priority/
         │   ├─ p_proces_01.yml
         │   ╰─ p_proces_02.yml
         ├─ g_group_02.tier.priority/
         │   ├─ p_proces_01.yml
         │   ╰─ p_proces_02.yml
         ╰─ config.yml

You can run the data flow by:

from deflow.flow import Flow
from ddeutil.workflow import Result

flow: Result = Flow(name="s_stream_01").run(mode="N")

:cookie: Configuration

Support data framework version:

Version Supported Description
1 Yes A data framework that base on stream, group, and process

💬 Contribute

I do not think this project will go around the world because it has specific propose, and you can create by your coding without this project dependency for long term solution. So, on this time, you can open the GitHub issue on this project 🙌 for fix bug or request new feature if you want it.

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

deflow-0.0.2.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deflow-0.0.2-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: deflow-0.0.2.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for deflow-0.0.2.tar.gz
Algorithm Hash digest
SHA256 e86242a37a35b5b6c597b2885a50da6c7cb582b58390518e413ccb6891b32f82
MD5 984f29f2f1f20836cb2429d576a40a75
BLAKE2b-256 e8decd7382dcca0b0273d54e1e09d1021a012adfd6ecd4889b0cb6f4fe3bb204

See more details on using hashes here.

Provenance

The following attestation bundles were made for deflow-0.0.2.tar.gz:

Publisher: publish.yml on ddeutils/deflow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file deflow-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: deflow-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for deflow-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4070051afa5dee75b2b2eea821058c3ee62e8df06031962722a64704776ea49b
MD5 2fe791a464ff137aef294d4320de157b
BLAKE2b-256 dc372b80e86463a06b6a51954966c1d71acf3a8f39d5ace7aaa2bf6119560cb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for deflow-0.0.2-py3-none-any.whl:

Publisher: publish.yml on ddeutils/deflow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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