Skip to main content

tea-lang

CI PyPI Python License

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

Since Tea, we have developed Tisane for generalized mixed-effects models (for Python) and rTisane for generalized models (for R). Both author statistical models from higher-level conceptual models. The latest DSL for supporting generalized mixed-effects models that combines insights from both Tisane and rTisane is rTisanePy (for Python). Tea and the lessons we learned from developing and using it informed all of the above!

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:

article{JunEtAl2019:Tea,
  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)},
  year={2019}
}

How reliable is Tea?

Our constraint solver is based on statistical texts (see our paper for more info).

If you find any bugs, please create a Github issue or let us know (email Eunice at emjun [at] cs.ucla.edu)!

Where can I learn more about Tea?

Please find more information at our website. Tea is a research prototype we have been trying our best to maintain and improve since 2019.

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] cs.ucla.edu!

I have ideas. I want to chat.

Please reach out! We are nice :) Email Eunice at emjun [at] cs.ucla.edu!

FAQs

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

Release files for tealang 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tealang 0.5.0
File Size Uploaded
tealang-0.5.0.tar.gz 49.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tealang 0.5.0
File Interpreter ABI Platform
tealang-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 104.9 kB

Release files / tealang-0.5.0.tar.gz

Download URL tealang-0.5.0.tar.gz
Size 49.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8a2c1639b06fe26e4babe5537c019555d48c859bc780be1e9de8fb8766c6145c
BLAKE2b-256 checksum
How to use checksums
1e4fe8951c688c17dfe377c7b752dacff0c0e07832239d4b91ed394a7b7d4709
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.12.0 Darwin/24.4.0

Release files / tealang-0.5.0-py3-none-any.whl

Download URL tealang-0.5.0-py3-none-any.whl
Size 55.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d957472cf270d560dd87b86407fa9113a272af8fafa1060a54a4a6b5bbf001e5
BLAKE2b-256 checksum
How to use checksums
c5620e0e49dd28bf0d7480f36358ad68b9ea26158c12b75b96518cb67aae802d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.12.0 Darwin/24.4.0

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page