Skip to content

Commit 4a4bc1c

Browse files
authored
Release PyFixest 0.28 (#787)
* add jax benchmark notebook * prepare 0.28 release, add experimental status of feglm and demean_jax to docs * update release notes * update lock file
1 parent f6ce66e commit 4a4bc1c

File tree

5 files changed

+15
-6
lines changed

5 files changed

+15
-6
lines changed

docs/changelog.qmd

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,16 @@
22

33
## PyFixest 0.28.0 (In Development, can be installed from github)
44

5-
- Adds a `pf.feglm()` function that supports GLMs with normal and binomial families (gaussian, logit, probit) without fixed effects. Fixed effects support is work in progress.
5+
### New features and bug fixes
66
- Adds a function argument `context`, that allows to pass information / context to the `formulaic.Formulaic.get_model_matrix()` call that creates the model matrix.
77
- Fix a bug that caused reindexing of `LPDID._coeftable` when calling `LPDID.iplot()`. As a result, a second call of `LPDID.iplot()` would fail.
88
- Bumps the required `formulaic` version to `1.1.0` and fixes errors that arose when a) the ref argument was used for i() syntax, which led to a silent failure under formulaic >= 1.1.0, and fixef() / predict() with fixed effects, which led to a loud error.
99

10+
### New experimental Features
11+
- Adds a `pf.feglm()` function that supports GLMs with normal and binomial families (gaussian, logit, probit) without fixed effects. Fixed effects support is work in progress.
12+
- Adds options to run the demean function via JAX. This might speed up the model fit if GPU is available.
13+
14+
1015
## PyFixest 0.27.0
1116

1217
- Adds support for Gelbach's (JoLe 2016) Regression Decomposition method using a `decompose()` method for `Feols`.

docs/quickstart.qmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ fit.wald_test(R=R1, q=q1)
411411

412412
# Other GLMs (without fixed effects)
413413

414-
`PyFixest` supports a range of other GLMs without fixed effects (adding fixed effect support is WIP) via the `pf.feglm()` function.
414+
`PyFixest` experimentally supports a range of other GLMs without fixed effects (adding fixed effect support is WIP) via the `pf.feglm()` function. Full support with all bells and whistles (in particular, fixed effects demeaning) is planned for PyFixest 0.29.
415415

416416
```{python}
417417
data_glm = pf.get_data(N=100, seed = 170)

pixi.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyfixest/estimation/estimation.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ def feols(
123123
124124
demeaner_backend: DemeanerBackendOptions, optional
125125
The backend to use for demeaning. Can be either "numba" or "jax". Defaults to "numba".
126+
The "jax" backend is experimental. A full release is planned for pyfixest 0.29.
126127
127128
use_compression: bool
128129
Whether to use sufficient statistics to losslessly fit the regression model
@@ -573,7 +574,9 @@ def fepois(
573574
574575
demeaner_backend: DemeanerBackendOptions, optional
575576
The backend to use for demeaning. Can be either "numba" or "jax".
576-
Defaults to "numba".
577+
Defaults to "numba". The "jax" backend is experimental.
578+
A full release is planned for pyfixest 0.29.
579+
577580
578581
drop_intercept : bool, optional
579582
Whether to drop the intercept from the model, by default False.
@@ -746,6 +749,7 @@ def feglm(
746749
) -> Union[Feols, Fepois, FixestMulti]:
747750
"""
748751
Estimate GLM regression models (currently without fixed effects, this is work in progress).
752+
This feature is currently experimental, full support will be released with pyfixest 0.29.
749753
750754
Parameters
751755
----------

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "pyfixest"
33
description = "Fast high dimensional fixed effect estimation following syntax of the fixest R package."
44
requires-python = ">= 3.9"
5-
version = "0.27.0"
5+
version = "0.28.0"
66
authors = [
77
{ name = "Alexander Fischer", email = "[email protected]" },
88
{ name = "Styfen Schär" },

0 commit comments

Comments
 (0)