This package is in beta. In future versions, the API may change substantially. Please use the GitHub issue tracker to report bugs or to request features.

The pyhdfe package is a Python 3 implementation of algorithms for absorbing high dimensional fixed effects. This package was created by Jeff Gortmaker in collaboration with Anya Tarascina.

What pyhdfe won’t do is provide a convenient interface for running regressions. Instead, the package is meant to be incorporated into statistical projects that would benefit from performant fixed effect absorption. Another goal is facilitating fair comparison of algorithms that have been previously implemented in various languages with different convergence criteria.

Development of the package has been guided by code made publicly available by many researchers and practitioners. For a full list of papers and software cited in this documentation, refer to the references section of the documentation.


The pyhdfe package has been tested on Python versions 3.6 and 3.7. The SciPy instructions for installing related packages is a good guide for how to install a scientific Python environment. A good choice is the Anaconda Distribution, since, along with many other packages that are useful for scientific computing, it comes packaged with pyhdfe’s only required dependencies: NumPy and SciPy.

You can install the current release of pyhdfe with pip:

pip install pyhdfe

You can upgrade to a newer release with the --upgrade flag:

pip install --upgrade pyhdfe

If you lack permissions, you can install pyhdfe in your user directory with the --user flag:

pip install --user pyhdfe

Alternatively, you can download a wheel or source archive from PyPI. You can find the latest development code on GitHub and the latest development documentation here.

Bugs and Requests

Please use the GitHub issue tracker to submit bugs or to request features.