Data Vault 2.0 scaffolding tool
Project description
:warning: Pre-alpha version disclaimer Please note that this package is in a pre-alpha version which means it is used internally in a small circle of users and backwards-incompatible changes might be introduced in future releases.
Welcome
Welcome to the sandwich tool documentation.
Get started or go straight to the Tutorial
What is sandwich?
sandwich is a Data Vault 2.0 scaffolding tool
You can automatically create Data Vault 2.0 entities, such as hubs, links, satellites,
as well as information layer objects such as dim tables from a multidimensional paradigm.
It also creates procedures for ELT but does not run them!
sandwichdoes not supportfacttables automation just because facts usually too specific to be automated.
Simple usage scenario in 3 steps:
-
you manually create an
Employeeview instgschema using your preferable dbms tool such as SSMS or pgAdmin -
you call
sandwich create --entity=Employee --dialect=mssql --profile=hub-sat2-dim2
from terminal, which creates the following objects in the database:
hub.Emplyee -- table sat.Emplyee -- table dim.Emplyee -- SCD2 table elt.Populate_hub_Employee -- proc elt.Populate_sat_Employee -- proc elt.Populate_dim_Employee -- proc job.Run_all_related_to_Employee -- proc which calls the 3 procs from above meta.Drop_all_related_to_Employee -- proc which drops all objects above
-
you run
job.Run_all_related_to_Employeemanually using your dbms tool or schedule it using a job/cron system you have
Installation
You can install sandwich via pip:
pip install sandwich
Usage example
sandwich init --db=DataVault
sandwich entity add Customer --profile=link-sat0
For more examples and detailed usage, please refer to the documentation.
Contributing
Contributions are welcome! If you have suggestions, feature requests, or find any bugs, please open an issue or submit a pull request. Make sure to follow the contribution guidelines.
Acknowledgments
This project is inspired by the beauty of the Data Vault 2.0 methodology.
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
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 sandwich-0.7.1.tar.gz.
File metadata
- Download URL: sandwich-0.7.1.tar.gz
- Upload date:
- Size: 19.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55d4625ae0283538941a634617bdb4db9b903e8ec41ca0cd792a5b7b9bed777c
|
|
| MD5 |
d54f18094e5cecedbac7f5bd8135eadc
|
|
| BLAKE2b-256 |
dc7eab8fdc7771346a2d906afb9f0d80dd7d0cf8793e6ae52350ce2e05dd0afd
|
File details
Details for the file sandwich-0.7.1-py3-none-any.whl.
File metadata
- Download URL: sandwich-0.7.1-py3-none-any.whl
- Upload date:
- Size: 37.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd7fdc6c17e8932569f5c57f36baa83a3929f66d2070cbadbe6f61977ef2e0e5
|
|
| MD5 |
95dbfa60c016a915b7d219392c1664bc
|
|
| BLAKE2b-256 |
1261aa6fad8c958aac413bb481efa1b4d333deac28250f8bb103c5e0d97440b4
|