# Causal-learn: Causal Discovery in Python

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

## Key facts

- Cited by 109 papers in the map (data through 14 Oct 2026).
- Builds on 8 of its 40 references that are in the map.
- First posted on arXiv 31 Jul 2023.

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

- [Causal Inference in the Presence of Latent Variables and Selection Bias](https://mlsanity.com/paper/1302.4983/) (2013)
- [Causal Discovery from Heterogeneous/Nonstationary Data with Independent Changes](https://mlsanity.com/paper/1903.01672/) (2019)
- [DoWhy: An End-to-End Library for Causal Inference](https://mlsanity.com/paper/2011.04216/) (2020)
- [Greedy Relaxations of the Sparsest Permutation Algorithm](https://mlsanity.com/paper/2206.05421/) (2022)
- [gCastle: A Python Toolbox for Causal Discovery](https://mlsanity.com/paper/2111.15155/) (2021)
- [Causal Discovery in the Presence of Missing Data](https://mlsanity.com/paper/1807.04010/) (2018)
- [Theory Refinement on Bayesian Networks](https://mlsanity.com/paper/1303.5709/) (2013)
- [Ananke: A Python Package For Causal Inference Using Graphical Models](https://mlsanity.com/paper/2301.11477/) (2023)

## Built on by (most cited first, 30 of 109)

- [Efficient Causal Graph Discovery Using Large Language Models](https://mlsanity.com/paper/2402.01207/) (2024)
- [A Versatile Causal Discovery Framework to Allow Causally-Related Hidden Variables](https://mlsanity.com/paper/2312.11001/) (2023)
- [Integrating Large Language Models in Causal Discovery: A Statistical Causal Approach](https://mlsanity.com/paper/2402.01454/) (2024)
- [Causal Inference with Large Language Model: A Survey](https://mlsanity.com/paper/2409.09822/) (2024)
- [Sample, estimate, aggregate: A recipe for causal discovery foundation models](https://mlsanity.com/paper/2402.01929/) (2024)
- [Causally Reliable Concept Bottleneck Models](https://mlsanity.com/paper/2503.04363/) (2025)
- [Prediction-Powered E-Values](https://mlsanity.com/paper/2502.04294/) (2025)
- [Multi-Scale Finetuning for Encoder-based Time Series Foundation Models](https://mlsanity.com/paper/2506.14087/) (2025)
- [Structured Neural Networks for Density Estimation and Causal Inference](https://mlsanity.com/paper/2311.02221/) (2023)
- [ADAM: An Embodied Causal Agent in Open-World Environments](https://mlsanity.com/paper/2410.22194/) (2024)
- [Gene Regulatory Network Inference in the Presence of Dropouts: a Causal View](https://mlsanity.com/paper/2403.15500/) (2024)
- [Local Causal Structure Learning in the Presence of Latent Variables](https://mlsanity.com/paper/2405.16225/) (2024)
- [Exploring Multi-Modal Data with Tool-Augmented LLM Agents for Precise Causal Discovery](https://mlsanity.com/paper/2412.13667/) (2024)
- [Causal Agent based on Large Language Model](https://mlsanity.com/paper/2408.06849/) (2024)
- [When Selection Meets Intervention: Additional Complexities in Causal Discovery](https://mlsanity.com/paper/2503.07302/) (2025)
- [LLM4Causal: Democratized Causal Tools for Everyone via Large Language Model](https://mlsanity.com/paper/2312.17122/) (2023)
- [Detecting and Identifying Selection Structure in Sequential Data](https://mlsanity.com/paper/2407.00529/) (2024)
- [Causality for Tabular Data Synthesis: A High-Order Structure Causal Benchmark Framework](https://mlsanity.com/paper/2406.08311/) (2024)
- [Learning General Causal Structures with Hidden Dynamic Process for Climate Analysis](https://mlsanity.com/paper/2501.12500/) (2025)
- [Effective Bayesian Causal Inference via Structural Marginalisation and Autoregressive Orders](https://mlsanity.com/paper/2402.14781/) (2024)
- [Hybrid Top-Down Global Causal Discovery with Local Search for Linear and Nonlinear Additive Noise Models](https://mlsanity.com/paper/2405.14496/) (2024)
- [Deriving Causal Order from Single-Variable Interventions: Guarantees & Algorithm](https://mlsanity.com/paper/2405.18314/) (2024)
- [Can LLMs Leverage Observational Data? Towards Data-Driven Causal Discovery with LLMs](https://mlsanity.com/paper/2504.10936/) (2025)
- [Causal Discovery in Mixtures of Populations](https://mlsanity.com/paper/2311.07454/) (2023)
- [When Graph Neural Network Meets Causality: Opportunities, Methodologies and An Outlook](https://mlsanity.com/paper/2312.12477/) (2023)
- [Tangent Space Causal Inference: Leveraging Vector Fields for Causal Discovery in Dynamical Systems](https://mlsanity.com/paper/2410.23499/) (2024)
- [The Third Pillar of Causal Analysis? A Measurement Perspective on Causal Representations](https://mlsanity.com/paper/2505.17708/) (2025)
- [Causal Discovery via Quantile Partial Effect](https://mlsanity.com/paper/2509.12981/) (2025)
- [The Robustness of Differentiable Causal Discovery in Misspecified Scenarios](https://mlsanity.com/paper/2510.12503/) (2025)
- [Differentiable Constraint-Based Causal Discovery](https://mlsanity.com/paper/2510.22031/) (2025)

## Abstract (arXiv)

Causal discovery aims at revealing causal relations from observational data, which is a fundamental task in science and engineering. We describe textitcausal-learn, an open-source Python library for causal discovery. This library focuses on bringing a comprehensive collection of causal discovery methods to both practitioners and researchers. It provides easy-to-use APIs for non-specialists, modular building blocks for developers, detailed documentation for learners, and comprehensive methods for all. Different from previous packages in R or Java, textitcausal-learn is fully developed in Python, which could be more in tune with the recent preference shift in programming languages within related communities. The library is available at https://github.com/py-why/causal-learn.
