class_docstr: Create a client for talking to json.
  
  :param decoder:
  :type json.JSONDecoder: An instance of json.JSONDecoder
  
  :param encoder:
  :type json.JSONEncoder: An instance of json.JSONEncoder
class_docstr_tok: ["Create","a","client","for","talking","to","json",".",":","param","decoder",":",":","type","json.JSONDecoder",":","An","instance","of","json.JSONDecoder",":","param","encoder",":",":","type","json.JSONEncoder",":","An","instance","of","json.JSONEncoder"]
docstr: Creates a pipeline for the JSON module, that can be used for executing
  JSON commands, as well as classic core commands.
  
  Usage example:
  
  r = redis.Redis()
  pipe = r.json().pipeline()
  pipe.jsonset('foo', '.', {'hello!': 'world'})
  pipe.jsonget('foo')
  pipe.jsonget('notakey')
docstr_tok: ["Creates","a","pipeline","for","the","JSON","module",",","that","can","be","used","for","executing","JSON","commands",",","as","well","as","classic","core","commands",".","Usage","example",":","r","=","redis.Redis","(",")","pipe","=","r.json","(",")",".pipeline","(",")","pipe.jsonset","(","'foo","'",",","'",".","'",",","{","'hello","!","'",":","'world","'","}",")","pipe.jsonget","(","'foo","'",")","pipe.jsonget","(","'notakey","'",")"]
code: def pipeline(self, transaction=True, shard_hint=None):
      """Creates a pipeline for the JSON module, that can be used for executing
      JSON commands, as well as classic core commands.
  
      Usage example:
  
      r = redis.Redis()
      pipe = r.json().pipeline()
      pipe.jsonset('foo', '.', {'hello!': 'world'})
      pipe.jsonget('foo')
      pipe.jsonget('notakey')
      """
      if isinstance(self.client, redis.RedisCluster):
          p = ClusterPipeline(
              nodes_manager=self.client.nodes_manager,
              commands_parser=self.client.commands_parser,
              startup_nodes=self.client.nodes_manager.startup_nodes,
              result_callbacks=self.client.result_callbacks,
              cluster_response_callbacks=self.client.cluster_response_callbacks,
              cluster_error_retry_attempts=self.client.cluster_error_retry_attempts,
              read_from_replicas=self.client.read_from_replicas,
              reinitialize_steps=self.client.reinitialize_steps,
              lock=self.client._lock,
          )
  
      else:
          p = Pipeline(
              connection_pool=self.client.connection_pool,
              response_callbacks=self._MODULE_CALLBACKS,
              transaction=transaction,
              shard_hint=shard_hint,
          )
  
      p._encode = self._encode
      p._decode = self._decode
      return p
  
file_path: catboost/contrib/python/redis/py3/redis/commands/json/__init__.py
imports: from json import JSONDecodeError, JSONDecoder, JSONEncoder
  import redis
  from ..helpers import get_protocol_version, nativestr
  from .commands import JSONCommands
  from .decoders import bulk_of_jsons, decode_list
label_desc: Use image node_id 4 for calling the JSON obj's underlying member method code with example usage: obj.pipeline(transaction, shard_hint) and returns: p