Thin umbrella package for the CMU Design Research Collective ecosystem
Project description
design-research
[!IMPORTANT] Current monthly release: Atlas Alignment - April 2026
Due: April 8, 2026
Tracks: March 2026 work
design-research is the umbrella entry-point package in the cmudrc design
research ecosystem.
It provides a thin, submodule-first namespace over the ecosystem's specialized component libraries.
Overview
This package focuses on discoverability and coherence rather than reimplementation:
- Submodule-first top-level API:
problems,agents,experiments,analysis - Wrapper submodules that mirror each sibling library's public API by default
- Shared ecosystem framing and philosophy in one canonical package
- Lightweight wrapper design that preserves modular versioning boundaries
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
python -m pip install "llama-cpp-python[server]" huggingface-hub
make run-example
make examples-test
make run-example is the live canonical walkthrough. It uses a managed
llama.cpp client, a workflow-backed strategy comparison, canonical exports,
and downstream analysis helpers. The live workflow path now uses the sibling
public seams directly: a prompt-built design_research.agents.Workflow,
design_research.agents.PromptWorkflowAgent,
design_research.agents.SeededRandomBaselineAgent,
design_research.experiments.resolve_problem(...), and
design_research.experiments.run_study(..., agent_bindings=...), plus
design_research.analysis.integration. Install
llama-cpp-python[server] first. If you want the client to fetch its default
GGUF model automatically, also install huggingface-hub; otherwise set
LLAMA_CPP_MODEL to a specific local GGUF file.
make examples-test stays deterministic and offline-first by default. It runs
the two non-live recipe-first examples and skips the live walkthrough unless
RUN_LIVE_EXAMPLE=1.
Install from PyPI:
pip install design-research
Then start from the umbrella namespace:
import design_research as dr
from design_research import problems, agents, experiments, analysis
problem_ids = problems.list_problems()
problem = problems.get_problem(problem_ids[0])
print(type(problem).__name__)
print(agents.MultiStepAgent)
print(experiments.Study)
print(analysis.validate_unified_table)
The package root intentionally stays small: it exports only __version__ and
the four wrapper submodules. Reach the stable user-facing APIs through
design_research.problems, design_research.agents,
design_research.experiments, and design_research.analysis rather than a
flattened root namespace.
Start Here
Choose your entry point based on how much of the ecosystem you need:
- Start with
design-researchwhen you want one stable namespace and one set of docs across problems, agents, experiments, and analysis. - Install a sibling package directly when you only need one layer or want package-specific internals; direct sibling use is fully supported.
- See Compatibility and Start Here for the tested package combination and install guidance.
- See Prompt-Framing Study Walkthrough for the canonical live composed workflow, and the bundled deterministic examples for the smaller recipe-first entry points.
Ecosystem Integration
The Design Research Collective maintains a modular ecosystem of libraries for studying human and AI design behavior.
- design-research-agents implements AI participants, workflows, and tool-using reasoning patterns.
- design-research-problems provides benchmark design tasks, prompts, grammars, and evaluators.
- design-research-analysis analyzes the traces, event tables, and outcomes generated during studies.
- design-research-experiments sits above the stack as the study-design and orchestration layer, defining hypotheses, factors, conditions, replications, and artifact flows across agents, problems, and analysis.
Together these libraries support end-to-end design research pipelines, from study design through execution and interpretation.
Philosophy
The full ecosystem philosophy is documented in the published philosophy page.
Docs
See the published documentation for quickstart, concepts, workflow framing, philosophy, and API reference.
Build docs locally with:
make docs
Public API
The supported top-level public surface is whatever is exported from
design_research.__all__.
Top-level exports include:
- Wrapper submodules:
problems,agents,experiments,analysis - Package metadata:
__version__
Contributing
Contribution workflow and quality gates are documented in CONTRIBUTING.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file design_research-0.2.0.tar.gz.
File metadata
- Download URL: design_research-0.2.0.tar.gz
- Upload date:
- Size: 16.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87aeb90d77aac0fd9828f102a312e3c82c13812c43ef12535f52c6a35461d5e4
|
|
| MD5 |
868b08346d504be2e19675a5ba42b1ae
|
|
| BLAKE2b-256 |
174287d3cc7523cda76a78f8315f5e5714a187b40326861acfd8249146cbb672
|
Provenance
The following attestation bundles were made for design_research-0.2.0.tar.gz:
Publisher:
workflow.yml on cmudrc/design-research
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
design_research-0.2.0.tar.gz -
Subject digest:
87aeb90d77aac0fd9828f102a312e3c82c13812c43ef12535f52c6a35461d5e4 - Sigstore transparency entry: 1237176946
- Sigstore integration time:
-
Permalink:
cmudrc/design-research@85a07bbd2da3537a41dff4b6be724ba81c27e7b5 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/cmudrc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@85a07bbd2da3537a41dff4b6be724ba81c27e7b5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file design_research-0.2.0-py3-none-any.whl.
File metadata
- Download URL: design_research-0.2.0-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
effea4c5cd586f76a5387606a354d9355e50e32424b059452309fe2ecf2463a7
|
|
| MD5 |
b957523c9249c42fafbfb6107ac839d3
|
|
| BLAKE2b-256 |
bc3ba9c7a570608e87088cfc4422d3261cd3ef43a508da4e9c634385719509a9
|
Provenance
The following attestation bundles were made for design_research-0.2.0-py3-none-any.whl:
Publisher:
workflow.yml on cmudrc/design-research
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
design_research-0.2.0-py3-none-any.whl -
Subject digest:
effea4c5cd586f76a5387606a354d9355e50e32424b059452309fe2ecf2463a7 - Sigstore transparency entry: 1237177006
- Sigstore integration time:
-
Permalink:
cmudrc/design-research@85a07bbd2da3537a41dff4b6be724ba81c27e7b5 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/cmudrc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@85a07bbd2da3537a41dff4b6be724ba81c27e7b5 -
Trigger Event:
release
-
Statement type: