Skip to content

tempify v0.1.4 — Akima + Cubic interpolators

Choose a tag to compare

@djwillichile djwillichile released this 18 May 05:24
· 70 commits to main since this release
2137afa

tempify v0.1.4 — Akima + Cubic interpolators

Cuarta release de la serie 0.1.x. Extiende el catálogo de interpoladores de 4 a 6 métodos clásicos sin breaking changes. Guiado por la nueva ADR-0018 tras revisión bibliográfica de papers WoS/JCR-indexed.

Added

  • AkimaInterpolator (akima): spline C¹ de Akima 1970, J. ACM 17(4): 589–602. Menos agresivo que PCHIP al aplanar máximos locales, menos overshoots que cubic. Envuelve scipy.interpolate.Akima1DInterpolator.
  • CubicSplineInterpolator (cubic): spline natural C² (not-a-knot) de de Boor 1978, A Practical Guide to Splines, Springer (ISBN 978-0-387-95366-3). Más suave que PCHIP pero puede overshoot entre nodos. Envuelve scipy.interpolate.CubicSpline.
  • ADR-0018: catálogo extensible de interpoladores clásicos con roadmap completo para v0.2.0+ (Lai-Kaplan 2022, Savitzky-Golay, Whittaker-Henderson, GPR/kriging).
  • 14 tests unitarios nuevos: kernels (constancia, pass-through, error sinusoidal, extrapolación), facade (NaN policy raise + propagate_all). Suite total: 241 → 257 tests pasando.
  • README: nueva sección "Referencias bibliográficas de los métodos" con DOIs y BibTeX listos para copiar de los 6 papers fundacionales.

Changed

  • InterpolationMethod Literal: 4 → 6 valores (linear | pchip | pchip_mp | fourier | akima | cubic).
  • Perfiles de variable (temperature, relative_humidity, solar_radiation): aceptan los dos nuevos. precipitation los rechaza (consistente con ADR-0004).
  • CLI: tempify convert --method akima|cubic ... acepta los nuevos.
  • Landing page: tabla extendida a 6 filas con swatches naranja (akima) y cian (cubic).
  • Notebook tutorial: Demo 2 ahora compara los 6 métodos.

No cambia

  • Los 4 métodos existentes (linear, pchip, pchip_mp, fourier) son byte-idénticos a v0.1.3.
  • API pública estable.
  • mypy --strict limpio, ruff check limpio.

Compatibility

Python 3.11, 3.12, 3.13. Linux, macOS, Windows.

Sitio web

https://djwillichile.github.io/tempify/ (también declarada como homepage del repo).

Tutorial

Abrir en Colab

Roadmap v0.2.0+ (documentado en ADR-0018)

  • cubic_mp_lai_kaplan: spline mean-preserving moderno (Lai & Kaplan 2022, JTECH)
  • Post-procesador Savitzky-Golay (fase opcional del pipeline)
  • WhittakerHendersonInterpolator
  • GUI PySide6, instalador Windows .exe, integración NN (ADR-0017)