LSSTApplications  18.0.0+106,18.0.0+50,19.0.0,19.0.0+1,19.0.0+10,19.0.0+11,19.0.0+13,19.0.0+17,19.0.0+2,19.0.0-1-g20d9b18+6,19.0.0-1-g425ff20,19.0.0-1-g5549ca4,19.0.0-1-g580fafe+6,19.0.0-1-g6fe20d0+1,19.0.0-1-g7011481+9,19.0.0-1-g8c57eb9+6,19.0.0-1-gb5175dc+11,19.0.0-1-gdc0e4a7+9,19.0.0-1-ge272bc4+6,19.0.0-1-ge3aa853,19.0.0-10-g448f008b,19.0.0-12-g6990b2c,19.0.0-2-g0d9f9cd+11,19.0.0-2-g3d9e4fb2+11,19.0.0-2-g5037de4,19.0.0-2-gb96a1c4+3,19.0.0-2-gd955cfd+15,19.0.0-3-g2d13df8,19.0.0-3-g6f3c7dc,19.0.0-4-g725f80e+11,19.0.0-4-ga671dab3b+1,19.0.0-4-gad373c5+3,19.0.0-5-ga2acb9c+2,19.0.0-5-gfe96e6c+2,w.2020.01
LSSTDataManagementBasePackage
Functions
lsst.utils.deprecated Namespace Reference

Functions

def deprecate_pybind11 (obj, reason, category=FutureWarning)
 

Function Documentation

◆ deprecate_pybind11()

def lsst.utils.deprecated.deprecate_pybind11 (   obj,
  reason,
  category = FutureWarning 
)
Deprecate a pybind11-wrapped C++ interface function, method or class.

This needs to use a pass-through Python wrapper so that
`~deprecated.sphinx.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.sphinx.deprecated`
category : `Warning`
    Warning category, passed to `~deprecated.sphinx.deprecated`

Returns
-------
obj : function, method, or class
    Wrapped function, method, or class

Examples
-------
.. code-block:: python

ExposureF.getCalib = deprecate_pybind11(ExposureF.getCalib,
        reason="Replaced by getPhotoCalib. (Will be removed in 18.0)",
        category=FutureWarning))

Definition at line 26 of file deprecated.py.

26 def deprecate_pybind11(obj, reason, category=FutureWarning):
27  """Deprecate a pybind11-wrapped C++ interface function, method or class.
28 
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.
32 
33  Note that this is not a decorator; its output must be assigned to
34  replace the method being deprecated.
35 
36  Parameters
37  ----------
38  obj : function, method, or class
39  The function, method, or class to deprecate.
40  reason : `str`
41  Reason for deprecation, passed to `~deprecated.sphinx.deprecated`
42  category : `Warning`
43  Warning category, passed to `~deprecated.sphinx.deprecated`
44 
45  Returns
46  -------
47  obj : function, method, or class
48  Wrapped function, method, or class
49 
50  Examples
51  -------
52  .. code-block:: python
53 
54  ExposureF.getCalib = deprecate_pybind11(ExposureF.getCalib,
55  reason="Replaced by getPhotoCalib. (Will be removed in 18.0)",
56  category=FutureWarning))
57  """
58 
59  @functools.wraps(obj)
60  def internal(*args, **kwargs):
61  return obj(*args, **kwargs)
62 
63  return deprecated.sphinx.deprecated(reason=reason, category=category)(internal)
64 
def deprecate_pybind11(obj, reason, category=FutureWarning)
Definition: deprecated.py:26