Skip to main content

With balto, data analysts and engineers can build analytics the way engineers build applications.

Project description

balto logo

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

architecture

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

balto_core-0.1.7.tar.gz (952.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

balto_core-0.1.7-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

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

Hashes for balto_core-0.1.7.tar.gz
Algorithm Hash digest
SHA256 da5a08e181e60e00000aecafb456c5ef3a1634cdc80f817e9c5d1f00c4b6a40c
MD5 c123d4c9d6d059dd6ca3300b51f38753
BLAKE2b-256 8766997cd7598dcadbf0ec905c8ea95cef87d7431a6aad504cb24d38d9273982

See more details on using hashes here.

Provenance

The following attestation bundles were made for balto_core-0.1.7.tar.gz:

Publisher: release.yml on balto-data/balto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for balto_core-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 424d450f47e9418662731e197956393de8aed1e5aebd545f30cc4372fc7809f4
MD5 06d7775d7e225da4e3546235ed42b00d
BLAKE2b-256 98c961f0331a81768d25df51b74eac03e1f7e72b925c1bb4120e13b463165b5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for balto_core-0.1.7-py3-none-any.whl:

Publisher: release.yml on balto-data/balto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page