This already exists as `warnings.DeprecationWarning` see the documentation here:

That said, the fact that this is hidden by default [as seen here](

> Base category for warnings about deprecated features when those warnings are intended for other Python developers (ignored by default, unless triggered by code in `__main__`).

..makes it almost useless for most. Going back to your original suggestion though, having some decorator similar to NodeJs `util.deprecate` (which only prints the warning once) would be very convenient and much easier detected by editors and linters.