Gojjam Cli
The Gojjam CLI is the singular interface used to initialize project structures, execute high-speed data ingestion loops, and trigger in-warehouse transformations.
All configurations are driven by your local YAML files, meaning your code commands remain clean, static, and simple.
Command Reference​
1. gojjam run --init​
This command bootstraps a blank directory into a fully structured Gojjam workspace. Run this inside an empty folder to generate your baseline structural frameworks.
gojjam run --init
Generated Workspace Structure​
When executed, the initialization engine automatically generates the following configuration blueprints and execution directories:
.
|-- gojjam_ingest_sources.yml # Data source extraction specifications
|-- gojjam_ingest_sinks # Data sink specifications
|-- gojjam_transform_settings.yml # In data warehouse transformation configs
|-- ingest/ # Target directory for flight-ready Ingest SQL models
|-- transform/ # Target directory for dependency-ordered Warehouse SQL models
2. gojjam run --all​
Triggers the complete, end-to-end data processing workflow defined within your current workspace directory.
gojjam run --all
Execution Lifecycles​
When executed, the orchestration loop follows a strict hierarchical path:
- Ingestion: The engine evaluates
gojjam_ingest_sources.yml, spins up the designated extractors, processes parameters using your Calculated Models, and hands raw micro-batches off to your configured loaders. - Handoff Barrier: The engine waits until all ingestion targets are completely written and contextually validated inside your database's Bronze/Staging environments.
- Transformation: Gojjam parses the
./transformfolder, generates a Directed Acyclic Graph (DAG) to verify column lineage and dependency orders, and executes native calculations directly inside your database compute resources.
3. gojjam run --ingest​
Executes only the data ingestion pipelines. It bypasses any downstream database calculations or table updates.
gojjam run --ingest
- Best For: Running frequent, high-frequency syncs (like pulling event webhooks or clickstream logs every 15 minutes) where you don't need to rebuild heavy downstream analytical aggregate tables every single time.
4. gojjam run --transform​
Executes only the warehouse transformation layers. It assumes your raw staging data has already been completely populated.
gojjam run --transform
- Best For: Iterating on analytics code or modifying business definitions. If you are tuning a complex SQL script or adding fresh columns to a production view, this lets you rebuild your tables instantly without making slow, redundant calls back to third-party API networks.
Active Pipeline Validation​
The CLI includes built-in safeguards to protect your destination warehouse configurations before running live operations:
Dry-Run Validation: When executing commands, the parser automatically checks your YAML schema configurations against strict data typing criteria using Pydantic validation frameworks. If a connection parameter or syntax string fails validation rules, the CLI halts execution immediately—saving you from partial data breaks, half-open server connections, or broken data lake formats.