From 28c53a49bc3e9bba7499f0f583a7b240e735cddf Mon Sep 17 00:00:00 2001 From: Abhayindia Date: Wed, 9 Sep 2026 21:47:47 +0900 Subject: [PATCH] rename PTF_formula to ptf_formula with a deprecation alias --- chainladder/development/barnzehn.py | 4 ++-- chainladder/utils/tests/test_utilities.py | 12 ++++++++++++ chainladder/utils/utility_functions.py | 15 +++++++++++++-- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/chainladder/development/barnzehn.py b/chainladder/development/barnzehn.py index 1f893667..8ccd1326 100644 --- a/chainladder/development/barnzehn.py +++ b/chainladder/development/barnzehn.py @@ -9,7 +9,7 @@ from chainladder.development.glm import TweedieGLM from sklearn.linear_model import LinearRegression from sklearn.pipeline import Pipeline -from chainladder.utils.utility_functions import PatsyFormula, PTF_formula +from chainladder.utils.utility_functions import PatsyFormula, ptf_formula class BarnettZehnwirth(TweedieGLM): @@ -162,7 +162,7 @@ def fit(self, X, y=None, sample_weight=None): tri = X.cum_to_incr().log() response = X.columns[0] if not self.response else self.response if not self.formula: - self.formula = PTF_formula( + self.formula = ptf_formula( self.alpha, self.gamma, self.iota, dgrain=min(tri.development) ) self.model_ = DevelopmentML( diff --git a/chainladder/utils/tests/test_utilities.py b/chainladder/utils/tests/test_utilities.py index 9a39eccc..23b0a7ff 100644 --- a/chainladder/utils/tests/test_utilities.py +++ b/chainladder/utils/tests/test_utilities.py @@ -1297,3 +1297,15 @@ def test_triangleweight_drop_valuation_all(raa: Triangle) -> None: "1990", ] ).fit(raa) + + +def test_ptf_formula_deprecated_alias() -> None: + """ + PTF_formula should warn and return the same string as ptf_formula. + """ + from chainladder.utils.utility_functions import PTF_formula, ptf_formula + + args = dict(alpha=[0, 2], gamma=[0, 1, 2], iota=[0, 1], dgrain=12) + with pytest.warns(FutureWarning, match="ptf_formula"): + old = PTF_formula(**args) + assert old == ptf_formula(**args) diff --git a/chainladder/utils/utility_functions.py b/chainladder/utils/utility_functions.py index cca1dce9..9db92bfd 100644 --- a/chainladder/utils/utility_functions.py +++ b/chainladder/utils/utility_functions.py @@ -7,11 +7,12 @@ import dill import json import os -import numpy as np import warnings +import numpy as np import pandas as pd from chainladder import __dt64_unit__, __dt64_dtype__ +from chainladder._config.deprecation import _deprecated_rename from chainladder.utils.sparse import sp from chainladder.utils.data._manifest import SAMPLES from io import StringIO @@ -1084,7 +1085,7 @@ def model_diagnostics( return concat(triangles, 0) -def PTF_formula( # noqa: N802 +def ptf_formula( alpha: list = None, gamma: list = None, iota: list = None, dgrain: int = 12 ): """ @@ -1124,6 +1125,16 @@ def PTF_formula( # noqa: N802 return "" +@_deprecated_rename("ptf_formula", version="0.11.0") +def PTF_formula( # noqa: N802 + alpha: list = None, gamma: list = None, iota: list = None, dgrain: int = 12 +): + """ + Deprecated alias for :func:`ptf_formula`. + """ + return ptf_formula(alpha=alpha, gamma=gamma, iota=iota, dgrain=dgrain) + + def date_delta_adjustment(date: str) -> str: """ Subtracts the default pandas datetime delta from a date in "YYYY-MM-DD" string format.