A while ago, I suggested a generic version of this, that would allow user-defined decorators to have the same semantics than @classmethod/@property etc. This could also work for decorators having the same effect as @warnings.deprecated, although as @hauntsaninja mentioned the signature needs to be compatible (and most of the time it isn’t, e.g. extra parameters are commonly available – like since, until, etc).