code: def task_factory(loop, coro):
      
      task = asyncio.Task(coro, loop=loop)
      if task._source_traceback:  # flake8: noqa
          del task._source_traceback[-1]  # flake8: noqa
  
      # Share context with new task if possible
      current_task = asyncio.Task.current_task(loop=loop)
      if current_task is not None and hasattr(current_task, 'context'):
          setattr(task, 'context', current_task.context)
  
      return task
docs: Task factory function
  
      Fuction closely mirrors the logic inside of
      asyncio.BaseEventLoop.create_task. Then if there is a current
      task and the current task has a context then share that context
      with the new task