MCPcopy Create free account
hub / github.com/NVIDIA/TensorRT / deprecate_impl

Function deprecate_impl

tools/Polygraphy/polygraphy/mod/exporter.py:247–287  ·  view source on GitHub ↗
(obj)

Source from the content-addressed store, hash-verified

245 """
246
247 def deprecate_impl(obj):
248 if config.INTERNAL_CORRECTNESS_CHECKS and version(polygraphy.__version__) >= version(remove_in):
249 G_LOGGER.internal_error(f"{obj} should have been removed in version: {remove_in}")
250
251 nonlocal name
252 name = name or obj.__name__
253
254 if inspect.ismodule(obj):
255
256 class DeprecatedModule:
257 def __getattr__(self, attr_name):
258 warn_deprecated(name, use_instead, remove_in, module_name)
259 self = obj
260 return getattr(self, attr_name)
261
262 def __setattr__(self, attr_name, value):
263 warn_deprecated(name, use_instead, remove_in, module_name)
264 self = obj
265 return setattr(self, attr_name, value)
266
267 DeprecatedModule.__doc__ = f"Deprecated: Use {use_instead} instead"
268 return DeprecatedModule()
269 elif inspect.isclass(obj):
270
271 class Deprecated(obj):
272 def __init__(self, *args, **kwargs):
273 warn_deprecated(name, use_instead, remove_in, module_name)
274 super().__init__(*args, **kwargs)
275
276 Deprecated.__doc__ = f"Deprecated: Use {use_instead} instead"
277 return Deprecated
278 elif inspect.isfunction(obj):
279
280 def wrapped(*args, **kwargs):
281 warn_deprecated(name, use_instead, remove_in, module_name)
282 return obj(*args, **kwargs)
283
284 wrapped.__doc__ = f"Deprecated: Use {use_instead} instead"
285 return wrapped
286 else:
287 G_LOGGER.internal_error(f"deprecate is not implemented for: {obj}")
288
289 return deprecate_impl
290

Callers

nothing calls this directly

Calls 3

versionFunction · 0.90
DeprecatedModuleClass · 0.85
internal_errorMethod · 0.80

Tested by

no test coverage detected