.. _home:

SweetPea
========

SweetPea is a `domain-specific programming language
<https://en.wikipedia.org/wiki/Domain-specific_language>`_ built for the
declarative specification of randomized experimental designs and the synthesis
of trial sequences generated from those design specifications.

An `experimental design <https://en.wikipedia.org/wiki/Factorial_experiment>`_
is a description of experimental factors, relationships between those factors,
constraints on the sequencing of factors, and how to map those factors onto a
sequence of trials. Such a design is constructed by calling the various
functions exposed at the top of the :mod:`sweetpea` module.

If you are new to SweetPea or factorial experiment design, we recommend starting
with :ref:`the guide <guide>`.

.. toctree::
   :maxdepth: 1
   :caption: Contents:

   guide
   api