(obj)
| 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 |
nothing calls this directly
no test coverage detected