22 import deprecated.sphinx
27 """Deprecate a pybind11-wrapped C++ interface function or method. 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. 39 Reason for deprecation, passed to `~deprecated.sphinx.deprecated` 41 Warning category, passed to `~deprecated.sphinx.deprecated` 50 ExposureF.getCalib = deprecate_pybind11(ExposureF.getCalib, 51 reason="Replaced by getPhotoCalib. (Will be removed in 18.0)", 52 category=FutureWarning)) 54 @functools.wraps(func)
55 def internal(*args, **kwargs):
56 return func(*args, **kwargs)
57 return deprecated.sphinx.deprecated(reason=reason, category=category)(internal)
def deprecate_pybind11(func, reason, category=FutureWarning)