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))