Contributing#

CausalML is developed in the open at github.com/uber/causalml, and contributions are welcome — bug reports, documentation, new estimators, and reviews of open pull requests.

Setting up a development environment#

Follow Install from source. The editable install compiles the package’s Cython extensions, so no separate build step is needed. Then run the test suite as described in Running Tests.

After editing any .pyx or .pxd file, reinstall so the extension is rebuilt:

pip install -e . --no-deps

Before opening a pull request#

  • Format the diff with black. It is the formatting gate CI enforces.

  • Add or update tests covering the behavior you changed.

  • Add an entry under Unreleased in Changelog if the change is user-visible — a new feature, a bug fix, or a change in behavior.

  • If you change an estimator’s signature, check Migration Guide — the fit(X, y, treatment, ...) transition is in progress and new methods are expected to follow the target order.

Project documents#