deprecate_pybind11

lsst.utils.deprecate_pybind11(obj: ~typing.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:
objfunction, method, or class

The function, method, or class to deprecate.

reasonstr

Reason for deprecation, passed to deprecated.

version‘str’

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

categoryWarning

Warning category, passed to deprecated.

Returns:
objfunction, 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))