With balto, data analysts and engineers can build analytics the way engineers build applications.
Project description
Welcome to Balto
Build durable data pipelines directly in Snowflake with no external orchestrators. Effortlessly scale your dbt projects from proof of concept to production grade data pipelines running millions of model executions per day. Orchestrate ML pipelines, data exports, and deletions directly in Snowflake with zero external dependencies.
Getting Started
Ready to get started? Check out the installation instructions. If you're already familiar with dbt, check out our guide on what's new in Balto.
Installation
Clone the repo and install from source, or install with pip:
pip install 'git+https://github.com/balto-data/balto.git@v0.0.10#egg=balto&subdirectory=core'
Overview
Balto is comprised of two pieces. The Balto CLI, a drop-in replacement for the dbt-core CLI, and the Balto orchestrator, which is implemented as a Snowflake Native App. Balto orginated as a fork of dbt-core that has been rebuilt from the ground up to run as a Snowflake Native app. The following are the major design differences:
Compilation
Balto simplifies the parsing process when building your project. Any database interactions are deferred during compilation, this allows us push all database interactions to the Balto Snowflake Native App installed in your account. This means if you use our Github Integation, you can enable automated deployments without having to manage any external accounts or connections.
Orchestration
Balto implements a batteries included orchestration engine inside the Snowflake App. When you deploy your compiled projects via our Gitub integration (or via a call to our stored procedure), the Balto orchestrator handles deploying your compiled project from directly inside your Snowflake account.
Under the hood, Balto's orchestration engine uses Snowflake triggered tasks and streams to implement a completely event driven scheduler that allows it to scale to zero when no models are being executed.
dbt macro executor
Balto includes a lightweight re-implementation of dbt's Jinja macro extension that allows it to execute your model inside a stored procedure that runs on the same warehouse the underlying queries get run on.
Reporting bugs and contributing code
- Want to report a bug or request a feature? Let us know and open an issue
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 balto_core-0.1.7.tar.gz.
File metadata
- Download URL: balto_core-0.1.7.tar.gz
- Upload date:
- Size: 952.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da5a08e181e60e00000aecafb456c5ef3a1634cdc80f817e9c5d1f00c4b6a40c
|
|
| MD5 |
c123d4c9d6d059dd6ca3300b51f38753
|
|
| BLAKE2b-256 |
8766997cd7598dcadbf0ec905c8ea95cef87d7431a6aad504cb24d38d9273982
|
Provenance
The following attestation bundles were made for balto_core-0.1.7.tar.gz:
Publisher:
release.yml on balto-data/balto
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
balto_core-0.1.7.tar.gz -
Subject digest:
da5a08e181e60e00000aecafb456c5ef3a1634cdc80f817e9c5d1f00c4b6a40c - Sigstore transparency entry: 164257389
- Sigstore integration time:
-
Permalink:
balto-data/balto@bdabb682c95987ef7ca4ca227a8c02ab3d6fa6ad -
Branch / Tag:
refs/tags/v0.1.7 - Owner: https://github.com/balto-data
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@bdabb682c95987ef7ca4ca227a8c02ab3d6fa6ad -
Trigger Event:
push
-
Statement type:
File details
Details for the file balto_core-0.1.7-py3-none-any.whl.
File metadata
- Download URL: balto_core-0.1.7-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
424d450f47e9418662731e197956393de8aed1e5aebd545f30cc4372fc7809f4
|
|
| MD5 |
06d7775d7e225da4e3546235ed42b00d
|
|
| BLAKE2b-256 |
98c961f0331a81768d25df51b74eac03e1f7e72b925c1bb4120e13b463165b5f
|
Provenance
The following attestation bundles were made for balto_core-0.1.7-py3-none-any.whl:
Publisher:
release.yml on balto-data/balto
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
balto_core-0.1.7-py3-none-any.whl -
Subject digest:
424d450f47e9418662731e197956393de8aed1e5aebd545f30cc4372fc7809f4 - Sigstore transparency entry: 164257390
- Sigstore integration time:
-
Permalink:
balto-data/balto@bdabb682c95987ef7ca4ca227a8c02ab3d6fa6ad -
Branch / Tag:
refs/tags/v0.1.7 - Owner: https://github.com/balto-data
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@bdabb682c95987ef7ca4ca227a8c02ab3d6fa6ad -
Trigger Event:
push
-
Statement type: