22 import deprecated.sphinx
27 """Deprecate a pybind11-wrapped C++ interface function, method or class. 29 This needs to use a pass-through Python wrapper so that 30 `~deprecated.sphinx.deprecated` can update its docstring; pybind11 31 docstrings are native and cannot be modified. 33 Note that this is not a decorator; its output must be assigned to 34 replace the method being deprecated. 38 obj : function, method, or class 39 The function, method, or class to deprecate. 41 Reason for deprecation, passed to `~deprecated.sphinx.deprecated` 43 Warning category, passed to `~deprecated.sphinx.deprecated` 47 obj : function, method, or class 48 Wrapped function, method, or class 52 .. code-block:: python 54 ExposureF.getCalib = deprecate_pybind11(ExposureF.getCalib, 55 reason="Replaced by getPhotoCalib. (Will be removed in 18.0)", 56 category=FutureWarning)) 60 def internal(*args, **kwargs):
61 return obj(*args, **kwargs)
63 return deprecated.sphinx.deprecated(reason=reason, category=category)(internal)
def deprecate_pybind11(obj, reason, category=FutureWarning)