""" This file should only be imported from Python 3. It will raise SyntaxError when importing from Python 2. """ import asyncio import inspect try: import uvloop except ImportError: uvloop = None def get_new_event_loop(): """Construct a new event loop. Ray will use uvloop if it exists""" if uvloop: return uvloop.new_event_loop() else: return asyncio.new_event_loop() def sync_to_async(func): """Convert a blocking function to async function""" if inspect.iscoroutinefunction(func): return func async def wrapper(*args, **kwargs): return func(*args, **kwargs) return wrapper