Causal graphs for time series without the hand-waving
A Python library that reconstructs causal relationships from observational time series data, with explicit assumptions you can actually check.

What it does
Tigramite estimates causal graphs from high-dimensional time series datasets. It pairs discovery algorithms (PCMCI, PCMCIplus, LPCMCI, and others) with conditional independence tests tailored to your data type—linear or nonlinear, continuous, discrete, or mixed. Once you have a graph, the CausalEffects class estimates direct, total, and mediated effects, and there’s a prediction module that uses sklearn models with causal feature selection.
The interesting bit
Most causal inference tools bury their assumptions in footnotes. Tigramite puts them front and center: each method and each test statistic comes with a clear table of prerequisites—causal stationarity, faithfulness, hidden variable tolerance, and so on. The README is essentially a decision tree for responsible modeling.
Key highlights
- Five discovery methods with different robustness to hidden confounders, contemporaneous links, and regime changes
- Nine conditional independence tests ranging from simple partial correlation to permutation-based mutual information and Gaussian process regression
- Handles missing values, masks, and heteroskedasticity
PairwiseMultCIwrapper turns any univariate test multivariate- Academic pedigree: methods published in Science Advances, NeurIPS, UAI, Nature Reviews Earth & Environment
Caveats
- Optional dependencies stack up quickly: torch, gpytorch, dcor, ortools depending on which methods you use
- Numba/numpy version compatibility is currently a known friction point
- The user agreement requires citing specific papers per method used, which is fair but administratively fussy
Verdict
Researchers in climate science, neuroscience, or econometrics who need defensible causal claims from observational time series should look here. If your data isn’t temporal or you just want quick correlations, this is overkill.
Frequently asked
- What is jakobrunge/tigramite?
- A Python library that reconstructs causal relationships from observational time series data, with explicit assumptions you can actually check.
- Is tigramite open source?
- Yes — jakobrunge/tigramite is open source, released under the GPL-3.0 license.
- What language is tigramite written in?
- jakobrunge/tigramite is primarily written in Jupyter Notebook.
- How popular is tigramite?
- jakobrunge/tigramite has 1.7k stars on GitHub.
- Where can I find tigramite?
- jakobrunge/tigramite is on GitHub at https://github.com/jakobrunge/tigramite.