PyCon UK 2025

CRESP: Protocol and Framework for Computational Experiment Reproduction

CRESP: A standardized protocol and framework for ensuring computational experiment reproducibility across Python, R, and MATLAB environments.


CRESP: Standardizing Computational Research Environments for Reproducibility

Background

Computational research faces a reproducibility crisis that wastes time, reduces trust in findings, and limits knowledge transfer. The Computational Research Environment Standardization Protocol (CRESP) addresses this challenge by providing a TOML-based specification that standardizes how computational environments are described and reproduced.

Talk Overview

This talk introduces CRESP and its reference implementation framework, focusing on:

1. Standardizing Environment Descriptions

CRESP ensures consistency across multiple dimensions, including:

  • Hardware specifications
  • Software dependencies
  • Data management
  • Random seed control
  • Execution workflows

2. Python-Based Reference Implementation

The CRESP reference implementation enables:

  • Parsing and validation of CRESP configurations
  • Resolution of complex dependency chains
  • Automated reproducible environment building
  • Verification of environment consistency

3. Real-World Case Studies

We will showcase how CRESP improves reproducibility in fields such as:

  • Bioinformatics
  • Geoscience
  • Finance

Live Demonstrations

The session will feature hands-on demonstrations, including:

  • Converting existing Python projects to use CRESP
  • Validating environments for consistency
  • Reproducing experiments across different systems

Key Takeaways

Attendees will learn how to implement CRESP in their own research workflows to ensure reproducibility. This project bridges the gap between computational research and software engineering best practices, making reproducibility accessible to researchers with limited programming expertise.

📄 CRESP Documentation: https://cresp.resciencelab.ai


What level of experience do you expect from your audience for this session?:

Basic