Metadata-Version: 2.4
Name: causl
Version: 0.1.0
Summary: Unified CATE estimation: metalearners, neural nets, and boosted trees
License: MIT
License-File: LICENSE
Author: Ioannis E. Livieris
Author-email: ioannis.livieris@uop.gr
Requires-Python: >=3.11,<3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: dotenv (>=0.9.9,<0.10.0)
Requires-Dist: fastapi (>=0.135.3,<0.136.0)
Requires-Dist: lime (>=0.2.0.1,<0.3.0.0)
Requires-Dist: matplotlib (>=3.10.8,<4.0.0)
Requires-Dist: numpy
Requires-Dist: openai (>=2.30.0,<3.0.0)
Requires-Dist: pandas (>=3.0.2,<4.0.0)
Requires-Dist: rich (>=14.3.3,<15.0.0)
Requires-Dist: scikit-learn (>=1.8.0,<2.0.0)
Requires-Dist: scipy (>=1.17.1,<2.0.0)
Requires-Dist: tensorflow (>=2.21.0,<3.0.0)
Requires-Dist: uvicorn[standard] (>=0.43.0,<0.44.0)
Requires-Dist: xgboost (==3.1.3)
Description-Content-Type: text/markdown

# causl

**Unified CATE estimation in Python.**

`causl` provides a clean, sklearn-compatible interface for heterogeneous treatment effect estimation, including metalearners, neural networks, and boosted tree methods.

## Installation

```bash
pip install causl
```

## Quickstart

```python
from causl import SLearner, TLearner, DragonNet, NEDNet, CausalXGBoost
from sklearn.ensemble import GradientBoostingRegressor

# Metalearner
model = SLearner(base_learner=GradientBoostingRegressor())
model.fit(X, T, Y)
ite = model.predict_ite(X)
ate = model.predict_ate(X)

# Neural
model = DragonNet(input_dim=X.shape[1])
model.fit(X, T, Y)
```

## Models

| Model | Type | Class |
|---|---|---|
| S-Learner | Metalearner | `SLearner` |
| T-Learner | Metalearner | `TLearner` |
| DragonNet | Neural | `DragonNet` |
| NEDNet | Neural | `NEDNet` |
| CXGBoost | Tree-based | `CausalXGBoost` |

## License
MIT
