According to the convention in guide to numpy/scipy documentation function parameters should be documented in the following way:
def foo(x):
"""" This function does nothing
Parameters
----------
x : type
Description of parameter `x`.
""""
pass
This is straightforward if type is a distinct type such as int or str.
Now I want the parameter to be an instance of BaseClass or any object that exposes the same interface (such as a class derived from BaseClass). Is there a convention how to concisely document that parameter x should expose a certain interface (by derivation or duck-typing)?