Coroutines (functions with the prefix async), as introduced by the asyncio module, are not parsed.
Test Version
Python 3.6.4 using pipenv to manage a virtual environment.
doxypypy==0.8.8.6, as installed by pipenv with pipenv install doxypypy
Failure can be reproduced without the need for Doxygen.
Reproduction
Modify the example code by prefixing async to make the function be a coroutine.
Run doxypypy -a -c example.py, targeting the example file.
Code is perfectly valid python 3.5+ code, but is not parsed.
Cry that you cannot use this cool piece of software.
async def myfunction(arg1, arg2, kwarg='whatever.'):
"""
Does nothing more than demonstrate syntax.
This is an example of how a Pythonic human-readable docstring can
get parsed by doxypypy and marked up with Doxygen commands as a
regular input filter to Doxygen.
Args:
arg1: A positional argument.
arg2: Another positional argument.
Kwargs:
kwarg: A keyword argument.
Returns:
A string holding the result.
Raises:
ZeroDivisionError, AssertionError, & ValueError.
Examples:
>>> myfunction(2, 3)
'5 - 0, whatever.'
>>> myfunction(5, 0, 'oops.')
Traceback (most recent call last):
...
ZeroDivisionError: integer division or modulo by zero
>>> myfunction(4, 1, 'got it.')
'5 - 4, got it.'
>>> myfunction(23.5, 23, 'oh well.')
Traceback (most recent call last):
...
AssertionError
>>> myfunction(5, 50, 'too big.')
Traceback (most recent call last):
...
ValueError
"""
assert isinstance(arg1, int)
if arg2 > 23:
raise ValueError
return '{0} - {1}, {2}'.format(arg1 + arg2, arg1 / arg2, kwarg)```
Bug
Coroutines (functions with the prefix async), as introduced by the asyncio module, are not parsed.
Test Version
Python 3.6.4 using pipenv to manage a virtual environment. doxypypy==0.8.8.6, as installed by pipenv with
pipenv install doxypypy
Failure can be reproduced without the need for Doxygen.Reproduction
async
to make the function be a coroutine.doxypypy -a -c example.py
, targeting the example file.