deprecate_pybind11

lsst.utils.deprecate_pybind11(obj: Any, reason: str, version: str, category: Type[Warning] = <class 'FutureWarning'>) → Any

Deprecate a pybind11-wrapped C++ interface function, method or class.

This needs to use a pass-through Python wrapper so that deprecated can update its docstring; pybind11 docstrings are native and cannot be modified.

Note that this is not a decorator; its output must be assigned to replace the method being deprecated.

Parameters:
obj : function, method, or class

The function, method, or class to deprecate.

reason : str

Reason for deprecation, passed to deprecated

version : ‘str’

Next major version in which the interface will be deprecated, passed to deprecated

category : Warning

Warning category, passed to deprecated

Returns:
obj : function, method, or class

Wrapped function, method, or class

Examples

ExposureF.getCalib = deprecate_pybind11(ExposureF.getCalib,
        reason="Replaced by getPhotoCalib. (Will be removed in 18.0)",
        version="17.0", category=FutureWarning))