-
-
Notifications
You must be signed in to change notification settings - Fork 200
Docstring flavors #153
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
In epydoc you could set this in the code at file level with https://www.python.org/dev/peps/pep-0258/#choice-of-docstring-format Reusing this convention seems far preferable to inventing another. |
Could we have As oposed to |
Controlling with a command-line flag seems sensible and pragmatic to me. If I rebase and resubmit #101, will it be considered? |
Bumping this |
From what I've read so far I think there'd be no strong objections to just start with a universal command-line flag (for example, Thoughts? |
What is the current status on docstrings? As of 0.7.4, None (Google, numpy, reST) are supported by pdoc, which is very frustrating. |
If you want to add a command line option, using http://epydoc.sourceforge.net/manual-usage.html For large inhomogeneous projects being able to set the docstring format on a file by file level is especially useful (converting a lot of documentation at once would be hard to coordinate). But being pragmatic, in my experience a global setting would work fine for most projects. |
Hey folks! Better late than never, I'm happy to announce that the latest pdoc release now supports Google-style and numpydoc docstrings. 😃 We're using the |
This still does not seem to work in my case, both using pdoc 3.0.0 installed from PyPI and the master branch? For example, the following code snippet: def function_with_types_in_docstring(param1, param2):
"""Example function with types documented in the docstring.
`PEP 484`_ type annotations are supported. If attribute, parameter, and
return types are annotated according to `PEP 484`_, they do not need to be
included in the docstring:
Args:
param1 (int): The first parameter.
param2 (str): The second parameter.
Returns:
bool: The return value. True for success, False otherwise.
.. _PEP 484:
https://www.python.org/dev/peps/pep-0484/
"""
return param1 + param2 gives the following output: I am invoking pdoc --docformat google -o docs example/ |
Oh, but it does work if I put Thanks! |
@ostrokach: looks like I butchered this last minute, thanks for the heads-up. Expect a fixed release in a few minutes. |
3.0.1 is out, thanks again! 😃 |
Can confirm that it works, thank you! |
I'm opening this ticket to unify discussion of docstring flavors. We have a wide range of requests for these, including:
I'm going to close all these tickets so that we can explore which direction to take in one place. When I first took on pdoc, I thought we could get away with supporting one and only one format. Having read carefully through all of the related tickets, I've now softened that a bit, and I think that there's an argument for being pragmatic.
My feeling is that we should clearly cater for doctests and pre-formatted docstrings, and choose a more flexible markdown renderer that includes Github-style tables and the like. Equally, I feel we should clearly not include support for reStructuredText, which is way too large and complicated. I'm undecided about things like Google style and EpyText, which are intermediate.
It's possible that we could use a Github-style type marker for this:
And:
The downside of this is that it introduces a weirdness to docstrings that make them less nice for both humans in code editors and other documentation tools. Another possibility (fronted in some PRs) is to control this unilaterally for an entire module with a command-line flag. This has the issue that the format is not specified in the code (where I feel it should be), and that many modules will be heterogenous and require support for multiple formats. Thoughts?
The text was updated successfully, but these errors were encountered: