私は IntelJ IDEA / PyCharm を Django およびプレーンな Python プロジェクトで広く使用しています。
進むべき道は、間違いなく reStructuredText と Sphinx です。後者は、HTML または PDF ドキュメントを生成する場合にのみ使用します。これは、Python ライブラリ自体が文書化されている方法でもあります。後者の一般的なサポートがはるかに優れているため、数か月前に epydoc から reStructuredText に切り替えました。
docstring は次のようになります。
def myfunc(p1, p2, p3):
"""myfunc does something interesting.
some more detail. See :meth:`my_other_func` for more information.
:param p1: The first parameter.
:type p1: string
:param p2: The second parameter.
:param p3: The third parameter.
:returns: True if successful, False if not.
"""
my_code(p1)
more_code(p2)
return third_part(p1,p2,p3)
基本的な要素については、古いepydoc標準とそれほど違いはありません。PyCharm は、この情報を解析できます。たとえば、:type: 仕様を使用して、関数の本体で補完を行います。