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.5.tar.gz (952.5 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.5-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file balto_core-0.1.5.tar.gz.

File metadata

  • Download URL: balto_core-0.1.5.tar.gz
  • Upload date:
  • Size: 952.5 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.5.tar.gz
Algorithm Hash digest
SHA256 4772339f8ad12e2827277b922d7ad3bb5a9a1215ac52723a130f76899cdce83f
MD5 b42af3b167b52348eb8e86d87e30c4cb
BLAKE2b-256 20d1366512de15a12ccfe6f7abb34195157dab314dd512a922946bbacf14e08f

See more details on using hashes here.

Provenance

The following attestation bundles were made for balto_core-0.1.5.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.5-py3-none-any.whl.

File metadata

  • Download URL: balto_core-0.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 36f81f2881e86ee48d47d1aa3d59ab52daf0bc2242e757fdb09788c7ab3bfe5e
MD5 97561792f130d27587402963882cfb66
BLAKE2b-256 78249850aea2a9a99f3836596f4f8b971e898b5783e6b3c47b36dd08511ce851

See more details on using hashes here.

Provenance

The following attestation bundles were made for balto_core-0.1.5-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