Trilogy Projects
Trilogy Projects
Goals
Trilogy aims to be relatively unopinionated about how files have to be laid out.
Convention can minimize surprise, and so if there is no reason to default from suggestions, it's recommended to follow.
The most important file on disk is the trilogy.toml used for default resolution.
A Good Default
A default layout is the following - the CLI will generally default to this unless otherwise specified.
- /raw subfolder for base tables
- /derived subfolder for derived assets
- /jobs subfolder for update jobs (persist/append into derived assets)
- trilogy.toml base config file with default engines, startup scripts, etc.
Config File Format
Should be in trilogy.toml for default detection. CLI supports explicit specification (useful for dev!) which does not need to have exact name.
# Trilogy Configuration File
# Learn more at: https://github.com/trilogy-data/pytrilogy
[engine]
# Default dialect for execution
dialect = "duck_db"
# Parallelism level for directory execution
# parallelism = 2
# Startup scripts to run before execution
[setup]
# startup_trilogy = []
sql = ['setup/setup_dev.sql']
