class_docstr: Asynchronous context manager for managing groups of tasks.
  
  Example use:
  
      async with asyncio.TaskGroup() as group:
          task1 = group.create_task(some_coroutine(...))
          task2 = group.create_task(other_coroutine(...))
      print("Both tasks have completed now.")
  
  All tasks are awaited when the context manager exits.
  
  Any exceptions other than `asyncio.CancelledError` raised within
  a task will cancel all remaining tasks and wait for them to exit.
  The exceptions are then combined and raised as an `ExceptionGroup`.
docstr: Create a new task in this group and return it.
  
  Similar to `asyncio.create_task`.
code: def create_task(self, coro, *, name=None, context=None):
      """Create a new task in this group and return it.
  
      Similar to `asyncio.create_task`.
      """
      if not self._entered:
          raise RuntimeError(f"TaskGroup {self!r} has not been entered")
      if self._exiting and not self._tasks:
          raise RuntimeError(f"TaskGroup {self!r} is finished")
      if self._aborting:
          raise RuntimeError(f"TaskGroup {self!r} is shutting down")
      if context is None:
          task = self._loop.create_task(coro)
      else:
          task = self._loop.create_task(coro, context=context)
      tasks._set_task_name(task, name)
      task.add_done_callback(self._on_task_done)
      self._tasks.add(task)
      return task
  
file_path: catboost/contrib/tools/python3/src/Lib/asyncio/taskgroups.py
imports: from .None import events
  from .None import exceptions
  from .None import tasks
label_desc: Use image node_id 3 for calling the TaskGroup obj's underlying member method code with example usage: obj.create_task(coro) and returns: task