# Py-Tetrad and RPy-Tetrad: A New Python Interface with R Support for Tetrad Causal Search

arXiv: https://arxiv.org/abs/2308.07346 · HTML: https://mlsanity.com/paper/2308.07346/

## Key facts

- Cited by 8 papers in the map (data through 14 Oct 2026).
- Builds on 1 of its 22 references that are in the map.
- First posted on arXiv 13 Aug 2023.

## Builds on (most cited first, 1 of 1)

- [Greedy Relaxations of the Sparsest Permutation Algorithm](https://mlsanity.com/paper/2206.05421/) (2022)

## Built on by (most cited first, 8 of 8)

- [Causally Reliable Concept Bottleneck Models](https://mlsanity.com/paper/2503.04363/) (2025)
- [CausalPlayground: Addressing Data-Generation Requirements in Cutting-Edge Causality Research](https://mlsanity.com/paper/2405.13092/) (2024)
- [SNAP: Sequential Non-Ancestor Pruning for Targeted Causal Effect Estimation With an Unknown Graph](https://mlsanity.com/paper/2502.07857/) (2025)
- [Causal Discovery for Linear Non-Gaussian Models with Disjoint Cycles](https://mlsanity.com/paper/2507.10767/) (2025)
- [Dynamic Expert-Guided Model Averaging for Causal Discovery](https://mlsanity.com/paper/2601.16715/) (2026)
- [Fourier Feature Methods for Nonlinear Causal Discovery: FFML Scoring, TRFF Scoring, and FFCI Testing in Mixed Data](https://mlsanity.com/paper/2605.05743/) (2026)
- [An extensive simulation study evaluating the interaction of resampling techniques across multiple causal discovery contexts](https://mlsanity.com/paper/2503.15436/) (2025)
- [Response to Discussions of "Causal and Counterfactual Views of Missing Data Models"](https://mlsanity.com/paper/2510.14694/) (2025)

## Abstract (arXiv)

We give novel Python and R interfaces for the (Java) Tetrad project for causal modeling, search, and estimation. The Tetrad project is a mainstay in the literature, having been under consistent development for over 30 years. Some of its algorithms are now classics, like PC and FCI; others are recent developments. It is increasingly the case, however, that researchers need to access the underlying Java code from Python or R. Existing methods for doing this are inadequate. We provide new, up-to-date methods using the JPype Python-Java interface and the Reticulate Python-R interface, directly solving these issues. With the addition of some simple tools and the provision of working examples for both Python and R, using JPype and Reticulate to interface Python and R with Tetrad is straightforward and intuitive.
