py-econometrics/pyfixest

Some ways to contribute to `PyFixest`

s3alfisc opened this issue · 1 comments

There are many ways to contribute to PyFixest - here I list a few things that are on my to do list and seem like good first issues to me =) In general if you have any questions, please reach out to me by asking here or by sending me an email!

  • Generally, just reading and improving the documentation would be super helpful.
  • #253 Currently, all users need to install the lets-plot library with the package - I'd like to make this optional. Additionally, it would be great if users could choose if their plotting engine should be lets-plot or plotnine.
  • #274 pymarginaleffects supports pyfixest and it would be great to let all pyfixest users know about it - here I'd like to write a vignette on how to use pyfixest with pymarginaleffects.
  • #279
  • #280
  • #282
  • #277 I have implemented a basic version of the Romano Wolf correction that still needs to be checked plus unit tested.

If you want to familiarize yourself with the codebase, the best starting point is pyfixest.estimation.feols. You can then follow its flow through the entire codebase. First you'll reach the FixestMulti class, which first deparses the formula string in FixestFormulaParser (you might want to skip this in the beginning, as it is not very pretty code 😅 ). From there, you more or less get a dictionary with formula strings, which FixestMulti._estimate_all_models loops over. In general, this is the key method where most of the action happens: the creation of the model matrix via model_matrix_fixest, the demeaning (and caching) of variables by the fixed effects via demean_all_models, and finally estimation via the Feols, Feiv or Fepois classes.

I'd also appreciate more general feedback on software engineering aspects of the code base =)

Everything suggest in here is implemented, so we can close this =)