Skip to main content

Pivot: High-Performance Python Pipeline Tool

Change your code. Pivot knows what to run.

Pivot is a Python pipeline tool with automatic code change detection. Define stages with typed Python functions and annotations, and Pivot figures out what needs to re-run — no manual dependency declarations, no stale caches.

  • Automatic code change detection using Python introspection
  • Per-stage lock files for fast parallel writes
  • Warm worker pools with preloaded imports
  • Content-addressable caching with S3 remote storage
  • DVC compatibility via YAML export

Python: 3.13+ | Platform: Unix (Linux/macOS)

Quick Start

pip install pivot

Define stages as pure, typed functions:

# pipeline.py
from typing import Annotated, TypedDict

import pandas
import pivot


class PreprocessOutputs(TypedDict):
    clean: Annotated[pandas.DataFrame, pivot.Out("processed.csv", pivot.loaders.CSV())]


def preprocess(
    raw: Annotated[pandas.DataFrame, pivot.Dep("data.csv", pivot.loaders.CSV())],
) -> PreprocessOutputs:
    return PreprocessOutputs(clean=raw.dropna())


pipeline = pivot.Pipeline("my_pipeline")
pipeline.register(preprocess)

Then run the pipeline — Pivot resolves the DAG from artifact dependencies:

pivot repro           # Run the entire pipeline
pivot repro           # Instant - nothing changed
pivot repro --watch   # Re-run automatically on file changes

Learn More

Metadata

Release files for pivot 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 pivot 0.1.0
File Size Uploaded
pivot-0.1.0.tar.gz 277.0 kB Details

Built distribution (wheel)

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

Total release size: 609.9 kB

Release files / pivot-0.1.0.tar.gz

Download URL pivot-0.1.0.tar.gz
Size 277.0 kB
Tags Source
SHA-256 checksum
How to use checksums
148e26b4c2c83e41eb6ae13d96e767e67f02188949c3012aa0a0fa072b9727a9
BLAKE2b-256 checksum
How to use checksums
51ea900b07fbde59e43ac6a9fb517b7e14b52319f4512870e05d97c4efb54d7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

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

Download URL pivot-0.1.0-py3-none-any.whl
Size 332.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9b8cac463ef13c64aaff7e36ce5540e909c6ee4045db70605565426696aa32d3
BLAKE2b-256 checksum
How to use checksums
74b29034e8dc9f585fe1fbbebf222b4fd01449c310e51e8fa8addf60ef634382
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.2

2 release files

0.0.1

1 release file

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