Skip to main content

pipetree

pipetree

CI codecov

Metadata-driven pipeline orchestration: describe what to move in declarative YAML, and a small package turns it into a runnable dependency tree.

YAML → config loader → typed model → graph builder → executor

Documentation: https://pipetree.dev. The package is the companion to the Pipeline Engineering blog series.

pipetree's dependency graph after a run: seven tables in four waves, all succeeded

What it does

  • One YAML block per table: a source or a SQL/PySpark file, a business key and a merge strategy. depends_on: auto reads the parents from the code.
  • A dependency tree that runs: a table starts the moment its parents have succeeded. Transient errors are retried, a failed table marks its dependents upstream_failed and the rest finishes.
  • Merge strategies on Delta: replace, append, scd1 and scd2, with sequence_by ordering across batches, soft or hard deletes, snapshot merges for sources that deliver a full extract, unknown members and surrogate keys.
  • Notes for what a merge quietly changed: dropped duplicates, NULL keys, schema drift, deleted keys. In the log, the digest, the graph and the run log.
  • A live picture of the run in a notebook or as an HTML file.
  • Tags and partial runs: --select, --with-dependents, --with-ancestors, --tag.
  • Databricks and Fabric: the same config runs on local Spark, Databricks and Fabric; secrets from Azure Key Vault without a secret, a failure email through Azure Communication Services, and a translation of scd tables to Databricks' AUTO CDC.

Installation

pip install pipetree-meta            # core: config loader, graph, executor, CLI
pip install "pipetree-meta[spark]"   # + PySpark and Delta Lake for local runs
pip install "pipetree-meta[azure]"   # + Key Vault secrets, token auth, failure email

Python 3.11 or newer. The import package and the command are pipetree. Local Spark needs a JDK (for example brew install openjdk@17). On Databricks and Fabric install without [spark], the runtime brings its own Spark and Delta.

Quick start

# pipeline.yaml
systems:
  crm:
    type: csv
    path: data/customer.csv
bronze:
  tables:
    customer:
      source: { system: crm, object: account }
      business_key: [accountid]
      strategy: scd1
mkdir -p data && printf 'accountid,name\n1,Contoso\n2,Fabrikam\n' > data/customer.csv   # a tiny source file
pipetree validate --config pipeline.yaml   # check the config, nothing runs
pipetree graph --config pipeline.yaml      # print the dependency tree
pipetree run --config pipeline.yaml        # run it and print a digest

The quickstart runs a seven-table example from a clone of the repository. examples/quickstart.ipynb is the same run as a notebook with its outputs, and examples/with_problems/ shows what pipetree reports when the data misbehaves.

Documentation

  • Install and Quickstart
  • Concepts: YAML structure, the dependency tree, running, tags, notes and the run log, seeing the run
  • Merge strategies: replace, append, scd1, scd2, snapshot merge, merge options
  • Guides: Databricks, Fabric, notifications, AUTO CDC, custom sources
  • Reference: every YAML key and every CLI option
  • Architecture: the parts of the package

examples/databricks/ (a Databricks Asset Bundle) and examples/fabric/ (a notebook) run the example pipeline against a real workspace.

Development

uv sync --all-extras --dev
uv run pytest              # full suite
uv run pytest -m "not spark"  # skip the JVM-backed integration tests
uv run ruff check . && uv run ruff format --check .
uv run pyright

See CONTRIBUTING.md.

License

MIT, see LICENSE.

Metadata

Release files for pipetree-meta 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pipetree-meta 0.1.0
File Size Uploaded Provenance Actions
pipetree_meta-0.1.0.tar.gz 108.9 kB With provenance Details for pipetree_meta-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pipetree-meta 0.1.0
File Interpreter ABI Platform Actions
pipetree_meta-0.1.0-py3-none-any.whl Python 3 none any Details for pipetree_meta-0.1.0-py3-none-any.whl

Total release size: 240.5 kB

Release files / pipetree_meta-0.1.0.tar.gz

Download URL pipetree_meta-0.1.0.tar.gz
Size 108.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7b864982a99fc3149219fc2d097240fe7599d8f1d42eb71def8b5977d2d26cc7
BLAKE2b-256 checksum
How to use checksums
654c29d5951949054b100a9e52246a9d3860795f0a5dad75602555f64c4f0381
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / pipetree_meta-0.1.0-py3-none-any.whl

Download URL pipetree_meta-0.1.0-py3-none-any.whl
Size 131.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
330f1fdd4e65414cd70c7c265d530ce616dda30e959dd0d6e41906003f1212d0
BLAKE2b-256 checksum
How to use checksums
d64703331811ad9246425ea6639362c39d0086678a8ee8926e70f52f3ac7b4a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Security for pipetree-meta 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pipetree_meta-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page