Skip to main content
EDSL (Expected Parrot Domain-Specific Language) lets you design and run surveys, experiments, and other research workflows in Python. Define questions, AI agents, and scenarios; run simulations across language models; label and analyze data; and compare simulated and human responses. EDSL can be used independently as an open-source Python package or with the hosted services provided by the Expected Parrot platform. These services include access to language models, remote execution, web surveys, AI-led interviews, and tools for storing and sharing research materials. The platform also includes a Research Agent that lets you design, run, and analyze studies through natural-language instructions, with access to the underlying EDSL code. This documentation covers working directly with the EDSL Python package.

Start here

  1. Install EDSL in a Python environment, or use Google Colab.
  2. Run your first survey. Build a survey, vary its inputs, and inspect local test responses without an account or model credentials.
  3. Connect a language model when you are ready to generate real responses. Check the selected model and estimated cost before running.
The tutorial’s fixed test responses verify that the code works; they are not research findings. For command line workflows and coding agent automation, see the CLI guide.

Explore the docs

Research Agent

For help designing, running, and analyzing studies through conversation, use the Research Agent. Start with a research question, existing survey, or dataset and describe what you want to accomplish. The Research Agent uses EDSL to carry out research tasks and provides code you can inspect, modify, reuse, and share.

Research and teaching

We support academic researchers, instructors, and students using Expected Parrot for research and coursework. Sign up with your academic email and contact [email protected] for academic access and support. Explore Research with Expected Parrot, the Teaching guide, and citation instructions.

Source code and support

EDSL is available under the MIT License. Find the package on PyPI and the source code on GitHub. For questions and feedback, email [email protected].