py-why/dowhy

DoWhy is a Python library for causal inference that supports explicit modeling and testing of causal assumptions. DoWhy is based on a unified language for...

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 2 minutes ago
Added to GitGenius on September 7th, 2026
Created on May 31st, 2018
Open Issues & Pull Requests: 251 (+0)
GitHub issues: Enabled
Number of forks: 1,055
Total Stargazers: 8,306 (+0)
Total Subscribers: 136 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.1 days
Mean response time: 101.2 days
90th percentile: 198.1 days
Tracked items: 171

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 85% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Almost all tracked open issues have seen activity in the last three months. Only 3% of issues opened in the past year have been closed. Three people close 82% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 119
New in 7 days: 2
Closed in 7 days: 0
Avg open age: 739 days
Stale 30+ days: 102
Stale 90+ days: 44

Recent activity

Opened in 7 days: 2
Closed in 7 days: 0
Comments in 7 days: 1
Events in 7 days: 3

Top labels

  • bug (73)
  • question (61)
  • enhancement (60)
  • stale (54)
  • agentic-workflows (45)
  • automation (24)
  • repo-assist (24)
  • docs (12)

Detailed Description

DoWhy is a Python library for causal inference that enables explicit modeling and testing of causal assumptions through a unified framework combining causal graphical models and potential outcomes approaches.

The library addresses the challenge of moving beyond predictive modeling to understand causal relationships in data. It works by allowing users to specify causal models explicitly, then estimate treatment effects and perform causal analysis using multiple identification strategies and estimators. The framework supports both graphical model representations and potential outcomes notation, letting practitioners reason about causal assumptions before estimation and validate those assumptions through sensitivity analysis.

Practitioners should adopt DoWhy when they need to move beyond correlation to establish causal claims in observational data, such as estimating treatment effects, performing root cause analysis, or explaining changes in system behavior. The tool suits projects where causal assumptions can be articulated upfront and where understanding the mechanisms behind outcomes matters as much as prediction. The library includes specialized capabilities for root cause analysis in complex systems like microservice architectures and supply chains, distinguishing it from general causal inference packages that focus primarily on treatment effect estimation.

The project maintains active continuous integration with passing builds. Development activity shows consistent engagement with the codebase through regular updates and refinements. The maintainers sustain community infrastructure including a Discord channel for user discussions and questions about specific use cases. Documentation is comprehensive, featuring a full user guide alongside numerous example notebooks demonstrating applications across different domains from business analytics to systems diagnosis.