EDSL: AI-Powered Research

Expected Parrot Domain-Specific Language (EDSL) is an open-source Python package for conducting AI-powered research.

EDSL is developed by Expected Parrot and available under the MIT License.


  • Overview: An overview of the purpose, concepts and goals of the EDSL package.

  • Whitepaper: A whitepaper about the EDSL package.

  • Citation: Instructions on how to cite the package in your work.

Getting Started

  • Starter Tutorial: A tutorial to help you get started using the package.

  • Installation: Instructions for installing the EDSL package.

  • API Keys: Instructions for obtaining and storing API keys for language models.

Core Concepts

  • Questions: Learn about the different types of questions and their applications.

  • Scenarios: Explore how questions can be dynamically parameterized for tasks like data labeling.

  • Surveys: Discover how to construct surveys and implement survey rules and conditions.

  • Agents: Understand the design and implementation of AI agents that respond to surveys.

  • Language Models: Examine the selection and application of language models for generating results.

  • Results: Investigate methods for analyzing and utilizing survey results.

  • data: Learn about caching and sharing your survey results.

  • Exceptions: Understand how to identify and handle exceptions in your survey design.

  • Token limits: Learn about managing token limits for language models.

  • Coop: A platform for storing and sharing your work, projects and ideas with other researchers. Coming soon!

How-to Guides

Examples of special methods and use cases, such as data labeling tasks, cognitive testing, dynamic agent traits and creating new methods.


A variety of templates and examples for using the package to conduct different kinds of research. We’re happy to create a new notebook for your use case!


Information about additional functionality for developers.