It doesn't have to be as extensive, but all docstrings, even internal ones, should use the same formatting for consistency. Also, the whole point of documenting internal functions is to help out developers, and basically all aspects of a docstring (return values, summary, doctests, etc.) are there to help out people who want to use the function. So from that point of view, whether a function is public or private hardly matters in terms of documenting it.