# Ananke: A Python Package For Causal Inference Using Graphical Models

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

## Key facts

- Cited by 8 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 27 Jan 2023.

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

- [Causal-learn: Causal Discovery in Python](https://mlsanity.com/paper/2307.16405/) (2023)
- [Causal Evaluation of Language Models](https://mlsanity.com/paper/2405.00622/) (2024)
- [Efficiently Deciding Algebraic Equivalence of Bow-Free Acyclic Path Diagrams](https://mlsanity.com/paper/2406.09049/) (2024)
- [DNA-SE: Towards Deep Neural-Nets Assisted Semiparametric Estimation](https://mlsanity.com/paper/2408.02045/) (2024)
- [A Computational Theory for Efficient Mini Agent Evaluation with Causal Guarantees](https://mlsanity.com/paper/2503.21138/) (2025)
- [Causal identification with Y0](https://mlsanity.com/paper/2508.03167/) (2025)
- [Response to Discussions of "Causal and Counterfactual Views of Missing Data Models"](https://mlsanity.com/paper/2510.14694/) (2025)
- [Graph Distance Based on Cause-Effect Estimands with Latents](https://mlsanity.com/paper/2510.25037/) (2025)

## Abstract (arXiv)

We implement Ananke: an object-oriented Python package for causal inference with graphical models. At the top of our inheritance structure is an easily extensible Graph class that provides an interface to several broadly useful graph-based algorithms and methods for visualization. We use best practices of object-oriented programming to implement subclasses of the Graph superclass that correspond to types of causal graphs that are popular in the current literature. This includes directed acyclic graphs for modeling causally sufficient systems, acyclic directed mixed graphs for modeling unmeasured confounding, and chain graphs for modeling data dependence and interference. Within these subclasses, we implement specialized algorithms for common statistical and causal modeling tasks, such as separation criteria for reading conditional independence, nonparametric identification, and parametric and semiparametric estimation of model parameters. Here, we present a broad overview of the package and example usage for a problem with unmeasured confounding. Up to date documentation is available at urlhttps://ananke.readthedocs.io/en/latest/.
