> ## Documentation Index
> Fetch the complete documentation index at: https://docs.expectedparrot.com/llms.txt
> Use this file to discover all available pages before exploring further.

# EDSL Documentation

> The open-source Python package for research with AI and human participants.

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](https://www.expectedparrot.com) 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](https://docs.expectedparrot.com/en/latest/installation.md) in a Python environment, or use [Google Colab](https://docs.expectedparrot.com/en/latest/colab_setup.md).
2. [Run your first survey](https://docs.expectedparrot.com/en/latest/starter_tutorial.md). Build a survey, vary its inputs, and inspect local test responses without an account or model credentials.
3. [Connect a language model](https://docs.expectedparrot.com/en/latest/api_keys.md) when you are ready to generate real responses. Check the selected model and estimated [cost](https://docs.expectedparrot.com/en/latest/costs.md) 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](https://docs.expectedparrot.com/en/latest/cli.md).

## Explore the docs

* [EDSL Overview](https://docs.expectedparrot.com/en/latest/overview.md) — Understand the main components and workflows.
* [Label data with survey questions](https://docs.expectedparrot.com/en/latest/guides/data_labeling.md) — Turn an existing codebook into labeling questions, or use exploratory questions to develop the labels first.
* [Human surveys](https://docs.expectedparrot.com/en/latest/humanize.md) — Publish a web survey and collect responses from participants.
* [Language models](https://docs.expectedparrot.com/en/latest/language_models.md) — Find and configure models for your study.
* [Results](https://docs.expectedparrot.com/en/latest/results.md) — Analyze and export your data.

## Research Agent

For help designing, running, and analyzing studies through conversation, use the [Research Agent](https://www.expectedparrot.com/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 [info@expectedparrot.com](mailto:info@expectedparrot.com) for academic access and support.

Explore [Research with Expected Parrot](https://docs.expectedparrot.com/en/latest/papers.md), the [Teaching guide](https://docs.expectedparrot.com/en/latest/teaching.md), and [citation instructions](https://docs.expectedparrot.com/en/latest/citation.md).

## Source code and support

EDSL is available under the MIT License. Find the package on [PyPI](https://pypi.org/project/edsl/) and the source code on [GitHub](https://github.com/expectedparrot/edsl).

For questions and feedback, email [info@expectedparrot.com](mailto:info@expectedparrot.com).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.