Skip to main content

PyPI - Version Documentation

mssql job postgres job coverage

: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!

sandwich does not support fact tables automation just because facts usually too specific to be automated.

Simple usage scenario in 3 steps:

  1. you manually create an Employee view in stg schema using your preferable dbms tool such as SSMS or pgAdmin

  2. 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  
    
  3. you run job.Run_all_related_to_Employee manually 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)

Source distribution for sandwich 0.7.1
File Size Uploaded
sandwich-0.7.1.tar.gz 19.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sandwich 0.7.1
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.7.1 This release

2 release files

0.6.0

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.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

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