deprecate_pybind11

lsst.utils.deprecate_pybind11(obj, reason, category=<class 'FutureWarning'>)

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

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)",
        category=FutureWarning))