code: def socket(*args, **kwargs):
      """Decorator for adding a socket to a function.
  
      Usage::
  
          @socket(zmq.PUSH)
          def foo(push):
              ...
  
      .. versionadded:: 15.3
  
      :param str name: the keyword argument passed to decorated function
      :param str context_name: the keyword only argument to identify context
                               object
      """
      return _SocketDecorator()(*args, **kwargs)
  
file_path: catboost/contrib/python/pyzmq/py3/zmq/decorators.py
imports: from functools import wraps
  import zmq
label_desc: Use image node_id 2 for calling a global function with example usage: socket() and returns: _SocketDecorator