skillfed

pipestat

A pipeline results reporter

pipestat v0.13.1 105.8K downloads/30d#12,677 on PyPI4
Permissive license BSD-2-Clause Active released

What it is and what it does

Pipestat is a results management layer for computational pipelines. A pipeline author defines expected outputs in a YAML schema (specifying types, descriptions, and validation rules), then uses pipestat's API to report results as the pipeline runs. Results are validated against the schema and persisted to either a YAML file or PostgreSQL database. Downstream tools and users retrieve those results through the same API, ensuring consistent structure and validation across the pipeline ecosystem.

The package is built on seven runtime dependencies—eido, jinja2, jsonschema, logmuse, pyyaml, ubiquerg, and yacman—that handle schema management, templating, validation, logging, and configuration. It targets modern Python (3.10+) and is actively maintained. The design separates schema definition from result reporting, making it suitable for multi-stage pipelines where different tools need to write and read results in a standardized format.

Use it for:

  • Define a schema for bioinformatics pipeline outputs, then report accuracy, processing time, and file paths as the pipeline executes.
  • Store computational results in PostgreSQL for downstream querying and aggregation across multiple pipeline runs.
  • Auto-generate a schema from existing pipeline results files to enforce structure on future runs.
  • Share pipeline outputs between heterogeneous tools by using pipestat as a common results API.
  • Validate pipeline outputs against a schema before storing them, catching malformed results early.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Pipestat provides a standard API for reporting, storing, and retrieving pipeline results validated against a JSON Schema, with support for YAML file or PostgreSQL database backends.

Yes. Pipestat is actively maintained, has no known vulnerabilities, and solves a real problem—standardizing how pipelines report and store results. Low install friction and permissive licensing make it a safe choice. Best suited for projects that need schema-validated result storage across multiple pipeline stages or tools; less critical for simple single-stage pipelines with ad-hoc output handling.

Install

pipestat on PyPI

pip

pip install pipestat

uv

uv add pipestat

poetry

poetry add pipestat

Installing pipestat

Before you install

Low install friction with a pure-Python wheel distribution. Actively maintained with recent commits and support for modern Python versions (3.10–3.14). Seven runtime dependencies are all well-established packages.

License in practice

BSD-2-Clause is a permissive license with minimal restrictions; you can use, modify, and distribute pipestat with few obligations beyond retaining the license notice.

Quickstart

pip install pipestat

import pipestat
psm = pipestat.PipestatManager(
    schema_path="output_schema.yaml",
    results_file_path="results.yaml",
    record_identifier="sample1",
)
psm.report(values={"accuracy": 0.95})

Requires Python 3.10 or later. PostgreSQL backend tests require a running PostgreSQL instance, but YAML file backend works without external dependencies.

Verify before relying

  • Whether the package's bioinformatics focus (evident from classifiers) limits its applicability to non-genomics pipelines.
  • Performance characteristics when storing large numbers of results or querying complex schemas.
  • Whether schema inference from existing results files handles all data types reliably.

Package facts

License BSD-2-Clause (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 7 — eido, jinja2, jsonschema, logmuse, pyyaml, ubiquerg, yacman
Maintenance actively maintained — 161 days since the last release
Last repo commit
First released
Downloads 105,824/month — #12,677 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pipestat-0.13.1-py3-none-any.whl

Keywords: metadata, pipeline, pipeline results, reporting, results, workflow

Development Status :: 4 - BetaLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/Engineering :: Bio-InformaticsTopic :: Software Development :: Libraries :: Python ModulesTopic :: System :: Logging

Tags

pipeline results reportingworkflow output managementschema-validated pipeline resultspipeline metadata storagecomputational results trackingyaml results databasepipeline output validation
pipeline-resultsschema-validationworkflow-metadata

More Python Modules packages