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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e86242a37a35b5b6c597b2885a50da6c7cb582b58390518e413ccb6891b32f82
|
|
| MD5 |
984f29f2f1f20836cb2429d576a40a75
|
|
| BLAKE2b-256 |
e8decd7382dcca0b0273d54e1e09d1021a012adfd6ecd4889b0cb6f4fe3bb204
|
Provenance
The following attestation bundles were made for deflow-0.0.2.tar.gz:
Publisher:
publish.yml on ddeutils/deflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
deflow-0.0.2.tar.gz -
Subject digest:
e86242a37a35b5b6c597b2885a50da6c7cb582b58390518e413ccb6891b32f82 - Sigstore transparency entry: 209554659
- Sigstore integration time:
-
Permalink:
ddeutils/deflow@1ceb2d6fe43fb5909787459e6c898a3b6d74073a -
Branch / Tag:
refs/tags/v0.0.2 - Owner: https://github.com/ddeutils
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1ceb2d6fe43fb5909787459e6c898a3b6d74073a -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4070051afa5dee75b2b2eea821058c3ee62e8df06031962722a64704776ea49b
|
|
| MD5 |
2fe791a464ff137aef294d4320de157b
|
|
| BLAKE2b-256 |
dc372b80e86463a06b6a51954966c1d71acf3a8f39d5ace7aaa2bf6119560cb5
|
Provenance
The following attestation bundles were made for deflow-0.0.2-py3-none-any.whl:
Publisher:
publish.yml on ddeutils/deflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
deflow-0.0.2-py3-none-any.whl -
Subject digest:
4070051afa5dee75b2b2eea821058c3ee62e8df06031962722a64704776ea49b - Sigstore transparency entry: 209554660
- Sigstore integration time:
-
Permalink:
ddeutils/deflow@1ceb2d6fe43fb5909787459e6c898a3b6d74073a -
Branch / Tag:
refs/tags/v0.0.2 - Owner: https://github.com/ddeutils
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1ceb2d6fe43fb5909787459e6c898a3b6d74073a -
Trigger Event:
release
-
Statement type: