Skip to main content

Study-definition and orchestration layer for the cmudrc design research ecosystem

Project description

design-research-experiments

CI Coverage Examples Passing Public API In Examples Docs PyPI Version Python Versions

[!IMPORTANT] Current monthly release: Juno Journey - May 2026
Due: June 1, 2026
Tracks: May 2026 work

design-research-experiments is the hypothesis-first study-definition and experiment-orchestration layer in the cmudrc design research ecosystem.

It composes sibling libraries rather than reimplementing them:

  • design-research-agents for executable agent behavior, workflows, and traces
  • design-research-problems for problem catalogs, registries, and evaluators
  • design-research-analysis for downstream unified-table analysis and reporting

Overview

This package centers on reproducible experiment structure and execution:

  • typed schemas for studies, factors, blocks, hypotheses, outcomes, and analysis plans
  • design-of-experiments materialization (full/constrained factorial, randomized block, repeated measures, latin square, custom matrices)
  • run orchestration with deterministic seeding, checkpointing, resume support, and interactive tqdm progress on terminal runs
  • canonical artifact exports (study.yaml, manifest.json, conditions.csv, runs.csv, events.csv, evaluations.csv, and machine-readable hypothesis/plan files)
  • documented artifact contracts that downstream analysis can ingest directory-first
  • thin orchestration adapters that delegate sibling-package interoperability to design_research_problems.integration, design_research_agents.integration, and the top-level design_research_analysis artifact API

design-research-experiments itself is the orchestration surface. There is intentionally no separate design_research_experiments.integration module.

Quickstart

Requires Python 3.12+. Maintainer workflows target Python 3.12 (.python-version).

python -m venv .venv
source .venv/bin/activate
make dev
make test

Run a basic example:

make run-example

This repo maintains a hard 90% total line-coverage floor in CI via make coverage. The repo-specific rule tracks the family-wide coverage policy in cmudrc/design-research#4.

CLI

The package installs a drexp CLI:

drexp validate-study path/to/study.yaml
drexp materialize-design path/to/study.yaml
drexp generate-doe --kind lhs --factors-json '{"x": [0, 1], "y": [10, 20]}' --n-samples 12 --out artifacts/doe.csv
drexp run-study path/to/study.yaml
drexp resume-study path/to/study.yaml
drexp export-analysis path/to/study.yaml
drexp bundle-results path/to/output_dir

Install design-research-experiments[doe] to enable optional SciPy/QMC and pyDOE3 backends for generate-doe --backend ...; the stdlib backend remains the default.

Examples

See examples/README.md for runnable scripts, including end-to-end recipe executions.

Docs

See the published documentation for guides, the artifact contract, and API reference.

Build docs locally with:

make docs

Public API

Top-level exports are intentionally small:

  • Study, Factor, Level, Constraint, Condition, Block
  • RecipeStudyConfig, ComparisonStudyConfig, and recipe-specific typed config classes
  • Hypothesis, OutcomeSpec, AnalysisPlan
  • RunSpec, RunResult, BenchmarkBundle
  • build_design, generate_doe, materialize_conditions
  • build_univariate_comparison_study, build_bivariate_comparison_study, build_strategy_comparison_study, and other recipe builders
  • run_study, resume_study
  • export_analysis_tables, validate_study

Contributing

Contribution workflow and quality gates are documented in CONTRIBUTING.md.

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

design_research_experiments-0.2.0.tar.gz (84.4 kB view details)

Uploaded Source

Built Distribution

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

design_research_experiments-0.2.0-py3-none-any.whl (64.4 kB view details)

Uploaded Python 3

File details

Details for the file design_research_experiments-0.2.0.tar.gz.

File metadata

File hashes

Hashes for design_research_experiments-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6656c6083a754db75ce942a1231ba6d0f6066e6ac175cc0edaccc6ba01e3580f
MD5 e0c15c206af0db34146cde8da395eea2
BLAKE2b-256 edba5d69da2b26a11e817eec16df254cc552f65bed03f72d259f789044fd5bde

See more details on using hashes here.

Provenance

The following attestation bundles were made for design_research_experiments-0.2.0.tar.gz:

Publisher: workflow.yml on cmudrc/design-research-experiments

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

File details

Details for the file design_research_experiments-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for design_research_experiments-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a54317977131d8e6a66569a9f2693be2c199148f9ad44dbcf3e739422e6f102
MD5 4d282df3fe0e113faf9272fbdf1e014a
BLAKE2b-256 1477a1284825ace17b0b9eefe312c4096d3df9107ff1aa2408994f7273cb9589

See more details on using hashes here.

Provenance

The following attestation bundles were made for design_research_experiments-0.2.0-py3-none-any.whl:

Publisher: workflow.yml on cmudrc/design-research-experiments

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