A library for template generation of synchronous and asynchronous functions in Python.
Doesn't work, only library base
- Add README
- Add Manager class
- Add root manager
- Add tests for import, common manager and root manager
You can install this library by download from GitHub:
git clone https://github.com/OlegYurchik/pySyncAsync
cd pySyncAsync
python setup.py install
or install from PyPI:
pip install pySyncAsync
Just let me show simple code for set your templates and run them
import asyncio
import time
from random import randint
import pysyncasync as psa
@psa.register("sum")
def sync_func(a, b):
print("SUM SYNC START")
time.sleep(1)
return a + b
@psa.register("sum")
async def async_func(a, b):
print("SUM ASYNC START")
await asyncio.sleep(1)
return a + b
def worker():
a, b, c, d = (randint(0, 10**9) for _ in range(4))
call1 = psa.Call("sum", a, b)
yield call1
call2 = psa.Call("sum", c, d)
yield call2
call3 = psa.Call("sum", call1.result, call2.result)
yield call3
return call3.result
def main():
generated_worker = psa.generate(worker, psa.SYNC)
return generated_worker()
def a_main():
generated_worker = psa.generate(worker, psa.ASYNC)
loop = asyncio.get_event_loop()
return loop.run_until_complete(generated_worker())
if __name__ == "__main__":
print("SYNC SESSION")
main()
print("ASYNC SESSION")
a_main()