Skip to main content

Tea: A High-level Language and Runtime System to Automate Statistical Analysis

Project description

tea-lang Build Status Coverage 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 research 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: linear modeling and Bayesian inference.

How can I use Tea?

Tea is available on pip!

pip install tealang

See community examples here. If you have trouble using Tea with your use case, feel free to open an issue, and we'll try to help.

Step through a more guided, thorough documentation and a worked example.

How can I cite Tea?

For now, please cite:

  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},
  journal={Proceedings of the 32nd Annual ACM Symposium on User Interface Software and Technology (UIST)},

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 :) Email Eunice at emjun [at]!


By the way, why Python?

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

What format should my data be in?

Tea accepts data either as a CSV or a Pandas DataFrame. Tea asumes data is in "long format."

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tealang-0.4.2.tar.gz (48.8 kB view hashes)

Uploaded Source

Built Distribution

tealang-0.4.2-py3-none-any.whl (53.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page