Skip to content
DSL for experimental design and statistical analysis
Python Jupyter Notebook
Branch: master
Clone or download
Latest commit 134155d Aug 14, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
tests Support groups normally distributed assumption. Jul 10, 2019
.gitignore Update gitignore, travis Apr 19, 2019
.travis.yml Add setup line to Travis file Apr 19, 2019 Create Apr 19, 2019
Pipfile Upgrade urllib3 package dependency in Pipfile to address security vul… Apr 19, 2019
Pipfile.lock Updated README and debugging CI Apr 16, 2019 Update Travis CI link in Readme Apr 24, 2019
Tea for UIST 2019.ipynb Update Tea Jupyter notebook example, version number for uploading to … Aug 14, 2019

tea-lang Build Status

[WIP] Tea: A High-level Language and Runtime System for Automating Statistical Analyses

What is Tea?

Tea is a domain specific programming language that automates statistical test selection and execution. Tea is currently written in/for Python.

Tea has an academic Arxiv paper.

Users provide 5 pieces of information:

  • the dataset of interest,
  • the variables in the dataset they want to analyze,
  • the study design (e.g., independent, dependent variables),
  • the assumptions they make about the data based on domain knowledge(e.g., a variable is normally distributed), and
  • a hypothesis.

Tea then "compiles" these into logical constraints to select valid statistical tests. Tests are considered valid if and only if all the assumptions they make about the data (e.g., normal distribution, equal variance between groups, etc.) hold. Tea then finally executes the valid tests.

What kinds of statistical analyses are possible with Tea?

Tea currently provides a module to conduct Null Hypothesis Significance Testing (NHST).

We are actively working on expanding the kinds of analyses Tea can support. Some ideas we have: Bayesian inference and linear modeling.

How can I use Tea?

Tea will very soon be available on pip! Check back for updates :)

How can I cite Tea?

For now, please cite it!:

  title={Tea: A High-level Language and Runtime System for Automating Statistical Analysis},
  author={Jun, Eunice and Daum, Maureen and Roesch, Jared and Chasins, Sarah E. and Berger, Emery D. and Just, Rene and Reinecke, Katharina},

How reliable is Tea?

Tea is currently a research prototype. Our constraint solver is based on statistical texts (see our paper for more info).

If you find any bugs, please let us know (email Eunice at emjun [at]!

I want to collaborate! Where do I begin?

This is great! We're excited to have new collaborators. :)

To contribute code, please see docs and gudielines and open an issue or pull request.

If you want to use Tea for a project, talk about Tea's design, or anything else, please get in touch: emjun at

Where can I learn more about Tea?

Please find more information at our website.

I have ideas. I want to chat.

Please reach out! We are nice :): emjun at

By the way, why Python?

Python is a common language for data science. We hope Tea can easily integrate into user workflows.

We are working on compiling Tea programs to different target languages, including R.

You can’t perform that action at this time.