I\'m learning about Python\'s relatively new async features. I found this in PEP 492:
The following is a utility class that transforms a regular iterable
The code you are using works with python 3.5.2+.
From Python 3.5.2 __aiter__ can directly return asynchronous iterators. More here
__aiter__
The error you were receiving was because of the older python(3.5.1) and it was therefore returning the wrong type.