2
# tag: asyncio, gh1685, gh2273
4
PYTHON setup.py build_ext -i
8
######## setup.py ########
10
from Cython.Build import cythonize
11
from distutils.core import setup
14
ext_modules = cythonize("*.pyx"),
18
######## main.py ########
23
from contextlib import closing
28
with closing(asyncio.new_event_loop()) as loop:
29
print("Running Python coroutine ...")
30
loop.run_until_complete(main())
32
print("Running Cython coroutine ...")
33
loop.run_until_complete(cy_test.say())
35
assert asyncio.iscoroutinefunction(cy_test.cy_async_def_example) == True
36
assert asyncio.iscoroutinefunction(cy_test.cy_async_def_example) == True
37
assert asyncio.iscoroutinefunction(py_test.py_async_def_example) == True
38
assert asyncio.iscoroutinefunction(py_test.py_async_def_example) == True
39
assert asyncio.iscoroutinefunction(cy_test.cy_def_example) == False
40
assert asyncio.iscoroutinefunction(py_test.py_def_example) == False
42
######## cy_test.pyx ########
45
from py_test import py_async
48
print("- this one is from Cython")
58
await asyncio.sleep(0.5)
61
async def cy_async_def_example():
67
######## py_test.py ########
70
print("- and this one is from Python")
72
async def py_async_def_example():