: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.
Metadata
Release files for sandwich 0.7.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sandwich-0.7.1.tar.gz | 19.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sandwich-0.7.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 56.4 kB
Release files / sandwich-0.7.1.tar.gz
| Download URL | sandwich-0.7.1.tar.gz |
|---|---|
| Size | 19.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
55d4625ae0283538941a634617bdb4db9b903e8ec41ca0cd792a5b7b9bed777c
|
|
BLAKE2b-256 checksum How to use checksums |
dc7eab8fdc7771346a2d906afb9f0d80dd7d0cf8793e6ae52350ce2e05dd0afd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / sandwich-0.7.1-py3-none-any.whl
| Download URL | sandwich-0.7.1-py3-none-any.whl |
|---|---|
| Size | 37.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bd7fdc6c17e8932569f5c57f36baa83a3929f66d2070cbadbe6f61977ef2e0e5
|
|
BLAKE2b-256 checksum How to use checksums |
1261aa6fad8c958aac413bb481efa1b4d333deac28250f8bb103c5e0d97440b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|