Favicon of Bruin

Bruin

Bruin is an open-source data pipeline tool written in Go that combines ingestion, SQL and Python transformations, automated quality checks, and column-level lineage in a single CLI, with a managed cloud layer above it.

LicenseOpen source (permissive)· Apache-2.0
DeploymentSelf-hostedManaged
PricingFreeSubscription
Operational complexityLow
WorkloadBatch
LanguageGo

Use it when

  • A small team wants ingestion, SQL and Python transformations, quality checks, and lineage in one CLI instead of a Fivetran plus dbt plus Airflow stack.
  • Python models are a first-class need, for feature engineering or custom ingestion, not an afterthought.
  • A single Go binary with no runtime to install fits your environments.
  • You want a semantic layer and unit tests in the open-source tool, not behind a paid tier.

Think twice when

  • Depth beats consolidation for you: specialists go further on ingestion breadth (Airbyte), transformation ecosystem (dbt), and orchestration (Airflow, Dagster).
  • The team is already invested in dbt's packages, integrations, and hiring pool.
  • You need transparent managed pricing; Bruin Cloud publishes no price list.

How it runs

The CLI is a single Go binary: bruin run executes pipelines against Snowflake, BigQuery, Databricks, Redshift, Postgres, DuckDB, or ClickHouse, from cron or CI. Named environments in .bruin.yml switch connection sets. Bruin Cloud schedules pipelines from the Git repo with backfills, notifications, and cross-pipeline dependencies, running each asset on an ephemeral instance.

Details

Compare

How Bruin answers the questions Transformation turns on.

Transformation
How it works
Model languageSQL, Python and R, all first-class
Model kindsTable or view, with strategies for create+replace, truncate+insert, append, merge, delete+insert, time_interval and ddl, plus SCD2 by column or time and Data Vault hub, link and satellite
Change detectionNothing classifies an edit: validate checks a pipeline before it runs and data-diff compares two tables, but what to rebuild is your call
TestingBoth halves: quality checks validate the data an asset produced, unit tests pin the SQL against mock inputs as a read-only SELECT that writes nothing
LineageAsset-level upstream and downstream from bruin lineage or the Cloud graph, including across pipelines; columns carry owners and a glossary maps them to business entities
Semantic layerReal and in the open-source CLI, metrics, dimensions, segments and safe joins in YAML under a semantic directory, compiled to SQL and queried with bruin query
Running it
EnvironmentsNamed environments in .bruin.yml, each a different set of connections chosen with --environment; nothing is shared or reused between them
Schedulingbruin run from cron or CI; Bruin Cloud schedules from the Git repo with backfills, notifications and cross-pipeline dependencies
Connections
EnginesMany: Snowflake, BigQuery, Databricks, Redshift, Postgres, DuckDB, ClickHouse
Cost
Billing unitThe CLI is free; Bruin Cloud runs each asset on an ephemeral instance sized b1.nano to b1.4xlarge, and publishes no price list

Share:

Alternatives to Bruin

Favicon

 

  
  
Favicon

 

  
  
Favicon