Skip to main content

Run pytests pypi-badge

pipestat

Pipestat is a Python package for managing pipeline results. It provides a standard API for reporting, storing, and retrieving outputs from any computational pipeline. Results are validated against a JSON Schema and stored in either a YAML file or a PostgreSQL database. A pipeline author defines outputs in a schema, then uses pipestat to report results as the pipeline runs. Downstream tools retrieve those results through the same API.

See Pipestat documentation for complete details.

Quick Start

import pipestat

psm = pipestat.PipestatManager(
    schema_path="output_schema.yaml",
    results_file_path="results.yaml",
    record_identifier="sample1",
)
psm.report(values={"accuracy": 0.95, "processing_time": 12.3})
psm.report(values={"output_file": {"path": "results/output.csv", "title": "Output CSV"}})

Schema

Pipestat requires a schema that defines the results your pipeline reports. Here is a minimal example:

pipeline_name: my_pipeline
samples:
  accuracy:
    type: number
    description: "Model accuracy score"
  processing_time:
    type: number
    description: "Processing time in seconds"
  output_file:
    type: object
    object_type: file
    properties:
      path: {type: string}
      title: {type: string}
    required: ["path", "title"]

Every result needs type and description. See sample_output_schema_generic.yaml in this repo for a fuller example with both sample and project result types.

Generating a schema from existing results

If you already have a pipestat results file, you can auto-generate a schema:

pipestat infer-schema -f results.yaml -o schema.yaml

This inspects your results and produces a schema with the correct types. See pipestat infer-schema --help for options.

Developer tests

Optional Dependencies

Note: to run the pytest suite locally, you will need to install the related requirements:

cd pipestat

pip install -r requirements/requirements-test.txt

Database Backend Configuration for Tests

Many of the tests require a postgres database to be set up otherwise many of the tests will skip.

We recommend using docker:

docker run --rm -it --name pipestat_test_db \
    -e POSTGRES_USER=postgres \
    -e POSTGRES_PASSWORD=pipestat-password \
    -e POSTGRES_DB=pipestat-test \
    -p 5432:5432 \
    postgres

Metadata

Release files for pipestat 0.13.1

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

Source distribution (sdist)

Source distribution for pipestat 0.13.1
File Size Uploaded
pipestat-0.13.1.tar.gz 139.9 kB Details

Built distribution (wheel)

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

Total release size: 244.6 kB

Release files / pipestat-0.13.1.tar.gz

Download URL pipestat-0.13.1.tar.gz
Size 139.9 kB
Tags Source
SHA-256 checksum
How to use checksums
87cf69404511e434e8e9a20abdfd9c8123ad6d2f7818a182a29db772a8d78d47
BLAKE2b-256 checksum
How to use checksums
b80bf3fadd34b2b341a695052de36f4fc15255d9580579f46f198d8fa06e9855
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release files / pipestat-0.13.1-py3-none-any.whl

Download URL pipestat-0.13.1-py3-none-any.whl
Size 104.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b51b97d1a68b1f0f553a785fc66574ddbe162e24b57e13c36190f7fe4b5c6153
BLAKE2b-256 checksum
How to use checksums
6ecb500e0283bbe51c4fa63433238496c6f77bc3eec75ffc998a3aae7ac67503
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.13.1 This release

2 release files

0.13.0

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.10.2

2 release files

0.10.0

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.4

2 release files

0.0.3

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