Skip to main content

Recipe-driven, reproducible analysis of experimental data

Project description

LabRecipe

LabRecipe is an open-source Python 3.12+ package for recipe-driven, reproducible analysis of one local experimental CSV, TSV, or explicitly bounded named-sheet XLSX dataset. A strict YAML recipe names data roles and units, explicit preprocessing, transparent analyses, figures, and output policies; one run produces a traceable evidence bundle.

LabRecipe never silently sorts, drops, interpolates, coerces dtypes, infers units, smooths, chooses a baseline, or tunes a parameter. Raw input bytes are immutable and hashed before parsing. Every derived stage, metric, figure, diagnostic, and artifact remains traceable to the raw hash and fully resolved recipe.

Install

python -m pip install labrecipe

For bounded XLSX input:

python -m pip install "labrecipe[excel]"

Tested quickstart

From a repository checkout, run the committed analytical linear control into a new directory:

labrecipe validate examples/clean_time_series/recipe.yaml
labrecipe inspect examples/clean_time_series/recipe.yaml
labrecipe plan examples/clean_time_series/recipe.yaml
labrecipe run examples/clean_time_series/recipe.yaml --output clean-bundle

The same engine is available from Python:

from labrecipe import run_recipe

result = run_recipe(
    "examples/clean_time_series/recipe.yaml",
    "clean-bundle-api",
)
print(result.manifest.identity.run_id)

Both workflows publish only a complete, hash-validated bundle and refuse to replace an existing target.

What version 0.1 covers

  • strict, safely loaded, versioned recipes with complete submitted/resolved identities;
  • immutable CSV/TSV and optional bounded XLSX ingestion with structured quality diagnostics;
  • explicit group-safe transforms for missingness, structure, units, smoothing, signal processing, normalization, and baseline correction;
  • contextual summaries, distributions, scatter/correlation, and conservative outlier/change candidates that are never promoted automatically to physical conclusions;
  • evidence-bearing PNG and optional SVG/PDF figures;
  • deterministic serialization, artifact-specific numerical tolerances, complete provenance, and atomic no-overwrite publication;
  • equivalent validate, inspect, plan/explain, and run behavior through Python and CLI.

Single-dataset local batch analysis is the v1 boundary. Instrument control, arbitrary executable recipe content, external plugins, multi-file cohort workflows, and GUI/cloud services are not part of this release.

Documentation and examples

Contributing and citation

See CONTRIBUTING.md and DEVELOPMENT.md before proposing a change. Security issues follow SECURITY.md. Cite the software using CITATION.cff.

LabRecipe is licensed under Apache-2.0.

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

labrecipe-0.1.1.tar.gz (332.3 kB view details)

Uploaded Source

Built Distribution

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

labrecipe-0.1.1-py3-none-any.whl (152.8 kB view details)

Uploaded Python 3

File details

Details for the file labrecipe-0.1.1.tar.gz.

File metadata

  • Download URL: labrecipe-0.1.1.tar.gz
  • Upload date:
  • Size: 332.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for labrecipe-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0d6420208035a837ff50eaad62d5227acd4f69084ce618a3f9a53122ec60a130
MD5 40617435d72c68bafdf01e2c15e85d98
BLAKE2b-256 31a07d46b450c91e9e9db55022308f6905489e7a2586884329644cd490f09220

See more details on using hashes here.

Provenance

The following attestation bundles were made for labrecipe-0.1.1.tar.gz:

Publisher: release.yml on JK1234567899999/labrecipe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file labrecipe-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: labrecipe-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 152.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for labrecipe-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5a8d66a3124ae84c6dd96c1d5dba7c5ab943dda08e7a2f511142eab1e53adf7c
MD5 d8f44e07407b3c4229f0f2c6a590d2f7
BLAKE2b-256 e7dbae4aa571a844920a9a0426aa38867b062142218f70a66b7683c9ee239431

See more details on using hashes here.

Provenance

The following attestation bundles were made for labrecipe-0.1.1-py3-none-any.whl:

Publisher: release.yml on JK1234567899999/labrecipe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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