View source on GitHub

Decorator for marking specific function argument values as deprecated.


This decorator logs a deprecation warning whenever the decorated function is called with the deprecated argument values. It has the following format:

Calling (from ) with = is deprecated and will be removed after . Instructions for updating:

If date is None, 'after ' is replaced with 'in a future version'. will include the class name if it is a method.

It also edits the docstring of the function: ' (deprecated arguments)' is appended to the first line of the docstring and a deprecation notice is prepended to the rest of the docstring.


  • date: String or None. The date the function is scheduled to be removed. Must be ISO 8601 (YYYY-MM-DD), or None
  • instructions: String. Instructions on how to update code using the deprecated function.
  • warn_once: If True, warn only the first time this function is called with deprecated argument values. Otherwise, every call (with a deprecated argument value) will log a warning.
  • **deprecated_kwargs: The deprecated argument values.


Decorated function or method.


  • ValueError: If date is not None or in ISO 8601 format, or instructions are empty.