Latest Results
[FEAT] Make `skipna` tri-state so `allow_null_target` implies it
Requiring both `allow_null_target=True` and `skipna=True` on every transform
was two flags for one intent, and the warning about propagating transforms
amounted to the library saying "you probably wanted skipna=True". If it knows
the answer it should apply it.
`skipna` is now `Optional[bool] = None`, where None means "follow
`allow_null_target`", resolved in `_fit` once the flag is known. True/False
remain explicit overrides, so opting out of skipping is still possible -- a
null-containing window yielding a null feature is a legitimate way to signal
insufficient data to the model.
A blanket flip wasn't possible: the five transforms whose coreforecast
`update` ignores `skipna` reject it outright, so inferring True would have
turned working `ExpandingMean`/`ExponentiallyWeightedMean` configurations
into hard errors just for opting into null targets. An inferred True now
downgrades to False for those and warns; an explicit True still raises. The
warning that used to fire for any propagating transform is now limited to
this case, which makes it both quieter and actionable.
Resolution mutates `_core_tfm.skipna` rather than the declared `skipna`,
which matters twice: coreforecast reads the attribute at call time so the
post-construction flip takes effect, and re-fitting with a different
`allow_null_target` re-resolves instead of inheriting the previous answer.
Feature names are built during `_parse_transforms`, before any of this runs,
so inference can't rename features -- a name reflects the declared spec, not
the resolved behaviour.
`Offset` and `Combine` take no `skipna` of their own, so they delegate
resolution to the transforms they wrap; `_accepts_skipna` is derived from the
constructor signature so it can't drift. `Lag`/`LookupLag` are untouched,
since the lag of an unobserved value genuinely is unobserved.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>simonez-tuidi:feature/nan-target-support Latest Branches
0%
fix/lag-transform-doc-links 0%
fix/broken-documentation-links 0%
simonez-tuidi:feature/nan-target-support © 2026 CodSpeed Technology