code: def __init__(
      self, func, incols, outcols, kwargs, pessimistic_nulls, cache_key
  ):
      # Get signature of user function
      sig = pysignature(func)
      self.sig = sig
      self.incols = incols
      self.outcols = outcols
      self.kwargs = kwargs
      self.pessimistic_nulls = pessimistic_nulls
      self.cache_key = cache_key
      self.kernel = self.compile(
          func, sig.parameters.keys(), kwargs.keys()
      )
  
imports: import functools
  from typing import Any, Dict
  import cupy
  from numba import cuda
  from numba.core.utils import pysignature
  import cudf
  from cudf import _lib
  from cudf.core.buffer import acquire_spill_lock
  from cudf.core.column import column
  from cudf.utils import utils
  from cudf.utils._numba import _CUDFNumbaConfig
  from cudf.utils.docutils import docfmt_partial
label_desc: Use image node_id 1 to create a new ApplyKernelCompilerBase object  with example: obj = ApplyKernelCompilerBase(func, incols, outcols, kwargs, pessimistic_nulls, cache_key)