Skip to main content

Detect, classify, and block schema drift in PostgreSQL before your pipelines break

Project description

DriftBrake
==========

DriftBrake is a Python tool that validates schema contracts before data pipelines run.

It reads the current PostgreSQL schema automatically, compares it against a versioned
contract, classifies changes by impact (BREAKING, WARNING, SAFE), and blocks pipelines
when incompatible changes are detected, before they cause failures in production.


The tool
========

  DriftBrake is not a migration tool. It does not apply changes to the database and does
  not generate SQL scripts.

  It runs BEFORE pipelines, verifying that the actual database still respects the
  contract expected by its data consumers.


Example
=======

  Data pipelines fail silently when the database schema changes without warning:

  - column removed or renamed
  - data type altered
  - NOT NULL added without a default
  - foreign key modified

  This tool runs an automatic validation before the pipeline starts and blocks the
  execution if the database is no longer compatible with the expected contract.

  Usage:

    driftbrake init     # creates the schema.lock.json contract
    driftbrake check    # checks whether the database has changed
    driftbrake diff     # compares two states without touching the contract


Documentation
=============

  - DOCUMENTATION.md - https://github.com/yurivski/driftbrake/blob/main/DOCUMENTATION.md
  - CHANGELOG.md - https://github.com/yurivski/driftbrake/blob/main/CHANGELOG.md
  - YML file - https://github.com/yurivski/driftbrake/blob/main/driftbrake.example.yml

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

driftbrake-0.0.1.tar.gz (26.8 kB view details)

Uploaded Source

Built Distribution

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

driftbrake-0.0.1-py3-none-any.whl (34.2 kB view details)

Uploaded Python 3

File details

Details for the file driftbrake-0.0.1.tar.gz.

File metadata

  • Download URL: driftbrake-0.0.1.tar.gz
  • Upload date:
  • Size: 26.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for driftbrake-0.0.1.tar.gz
Algorithm Hash digest
SHA256 b3c0a6096fe7fb1728922e164c79dc6133f88b3a1f2ee815b58639a956764e89
MD5 ef50222a381f1d190174aa1c3bbff563
BLAKE2b-256 9eeec7f7ad94ef60161286b286e9444e94a57da8c9d352d7ed87bf54f0697f80

See more details on using hashes here.

File details

Details for the file driftbrake-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: driftbrake-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 34.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for driftbrake-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a35ce167a92a2498e0628fdde1ceb2ce7256834a519bf74b6ed4ea062c91ab9e
MD5 4efc447579a1aead8e4ab28f9040d232
BLAKE2b-256 ceb268009822f83fd584d0ae22030371714c7bb3be2aae2c71df0458acbbd80d

See more details on using hashes here.

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