> ## 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.

# Expected Parrot: Tools for AI-Powered Research

> Expected Parrot delivers powerful tools for conducting research with human and artificial intelligences.

**Expected Parrot Domain-Specific Language (EDSL)** is an open-source Python package for conducting research with AI agents and language models.

EDSL is designed for researchers who want to run surveys at scale: simulate hundreds of demographically diverse respondents, test question variations, compare responses across language models, label large text datasets, and combine AI results with real human data. It handles the complexity of managing agents, models, and parallel execution so you can focus on the research.

* Install from [PyPI](https://pypi.org/project/edsl/): `pip install edsl`. Source code at [GitHub](https://github.com/expectedparrot/edsl).
* [Create a free account](https://www.expectedparrot.com/login) to run surveys remotely and store results. Results are automatically cached: share your code and anyone can retrieve your exact outputs at no cost, with no setup or API keys required.

## Getting started

<Steps>
  <Step title="Install EDSL">
    ```bash theme={null}
    pip install edsl
    ```

    See [Installation](/en/latest/installation) for details.
  </Step>

  <Step title="Create an account">
    [Sign up](https://www.expectedparrot.com/login) to access the Expected Parrot server, free storage, and collaboration tools. You can also log in directly from your workspace:

    ```python theme={null}
    from edsl import Login
    login()
    ```
  </Step>

  <Step title="Manage API keys">
    Your account comes with a key that lets you run surveys with all [available models](https://www.expectedparrot.com/models). You can also provide your own keys from service providers. See [Managing Keys](/en/latest/api_keys).
  </Step>

  <Step title="Run a survey">
    Read the [Starter Tutorial](/en/latest/starter_tutorial) and browse the [how-to guides and notebooks](/en/latest/notebooks) for examples. See [tips](/en/latest/checklist) on using EDSL effectively.
  </Step>

  <Step title="Validate with real respondents">
    Add a human-in-the-loop by launching a web-based survey to share with real respondents. Learn more in the [Survey Builder](/en/latest/survey_builder) and [Humanize](/en/latest/humanize) sections.
  </Step>
</Steps>

Join our [Discord](https://discord.com/invite/mxAYkjfy9m) to ask questions and chat with other users!

Are you using EDSL for a research project? Email *[info@expectedparrot.com](mailto:info@expectedparrot.com)* and we'll give you [credits](/en/latest/credits) to run your project.

## Introduction

<CardGroup>
  <Card title="Overview" icon="book-open" horizontal href="/en/latest/overview">
    Purpose, concepts and goals of the EDSL package.
  </Card>

  <Card title="Starter Tutorial" icon="play" horizontal href="/en/latest/starter_tutorial">
    A step-by-step tutorial for getting started with EDSL.
  </Card>

  <Card title="Whitepaper" icon="file-lines" horizontal href="/en/latest/whitepaper">
    A whitepaper about the EDSL package (*in progress*).
  </Card>

  <Card title="Citation" icon="box" horizontal href="/en/latest/citation">
    How to cite the package in your work.
  </Card>

  <Card title="Papers & Citations" icon="book" horizontal href="/en/latest/papers">
    Research papers and articles that use or cite EDSL.
  </Card>

  <Card title="Teaching guide" icon="school" horizontal href="/en/latest/teaching">
    A guide for teaching EDSL in the classroom.
  </Card>
</CardGroup>

## Core Concepts

<CardGroup>
  <Card title="Questions" icon="question" horizontal href="/en/latest/questions">
    Different question types and applications.
  </Card>

  <Card title="Scenarios" icon="timeline" horizontal href="/en/latest/scenarios">
    Dynamically parameterize questions for tasks like data labeling.
  </Card>

  <Card title="Surveys" icon="clipboard-list" horizontal href="/en/latest/surveys">
    Construct surveys with rules and conditional logic.
  </Card>

  <Card title="Agents" icon="user-astronaut" horizontal href="/en/latest/agents">
    Design AI agents with traits to respond to surveys.
  </Card>

  <Card title="Language Models" icon="brain" horizontal href="/en/latest/language_models">
    Select language models to generate results.
  </Card>

  <Card title="Results" icon="chart-line" horizontal href="/en/latest/results">
    Built-in methods for analyzing survey results.
  </Card>
</CardGroup>

## Expected Parrot Platform

<CardGroup>
  <Card title="Remote Inference" icon="server" horizontal href="/en/latest/remote_inference">
    Run surveys at the Expected Parrot server using any available model.
  </Card>

  <Card title="Remote Caching" icon="clock" horizontal href="/en/latest/remote_caching">
    Automatically store and share results and API calls.
  </Card>

  <Card title="Notebooks" icon="notebook" horizontal href="/en/latest/notebooks">
    Post and share .ipynb and .py files.
  </Card>

  <Card title="File Store" icon="folder" horizontal href="/en/latest/filestore">
    Store and share data files for use in EDSL projects.
  </Card>

  <Card title="Survey Builder" icon="screwdriver-wrench" horizontal href="/en/latest/survey_builder">
    A no-code interface for creating surveys and collecting responses.
  </Card>
</CardGroup>

## Validating with Humans

<CardGroup>
  <Card title="Humanize" icon="user-group" horizontal href="/en/latest/humanize">
    Generate web-based surveys and collect responses from human respondents.
  </Card>

  <Card title="Prolific studies" icon="vial" horizontal href="/en/latest/prolific">
    Launch surveys as studies on Prolific.
  </Card>
</CardGroup>

## Working with Results

<CardGroup>
  <Card title="Dataset" icon="database" horizontal href="/en/latest/dataset">
    Work with tabular data using the Dataset class.
  </Card>

  <Card title="Estimating & Tracking Costs" icon="credit-card" horizontal href="/en/latest/costs">
    Estimate and track costs for running surveys.
  </Card>

  <Card title="Exceptions & Debugging" icon="bug" horizontal href="/en/latest/exceptions">
    Identify and handle exceptions.
  </Card>

  <Card title="Token usage" icon="key" horizontal href="/en/latest/token_usage">
    Monitor token limits and usage.
  </Card>
</CardGroup>

## Links

* [PyPI](https://pypi.org/project/edsl) · [GitHub](https://github.com/expectedparrot/edsl) · [Discord](https://discord.com/invite/mxAYkjfy9m)
* [Twitter/X](https://twitter.com/expectedparrot) · [LinkedIn](https://www.linkedin.com/company/expectedparrot) · [Blog](https://blog.expectedparrot.com/)
* Email: *[info@expectedparrot.com](mailto:info@expectedparrot.com)*
