code: def packbits(a, axis=None, bitorder="big"):
      """
      packbits(a, /, axis=None, bitorder='big')
  
      Packs the elements of a binary-valued array into bits in a uint8 array.
  
      The result is padded to full bytes by inserting zero bits at the end.
  
      Parameters
      ----------
      a : array_like
          An array of integers or booleans whose elements should be packed to
          bits.
      axis : int, optional
          The dimension over which bit-packing is done.
          ``None`` implies packing the flattened array.
      bitorder : {'big', 'little'}, optional
          The order of the input bits. 'big' will mimic bin(val),
          ``[0, 0, 0, 0, 0, 0, 1, 1] => 3 = 0b00000011``, 'little' will
          reverse the order so ``[1, 1, 0, 0, 0, 0, 0, 0] => 3``.
          Defaults to 'big'.
  
          .. versionadded:: 1.17.0
  
      Returns
      -------
      packed : ndarray
          Array of type uint8 whose elements represent bits corresponding to the
          logical (0 or nonzero) value of the input elements. The shape of
          `packed` has the same number of dimensions as the input (unless `axis`
          is None, in which case the output is 1-D).
  
      See Also
      --------
      unpackbits: Unpacks elements of a uint8 array into a binary-valued output
                  array.
  
      Examples
      --------
      >>> a = np.array([[[1,0,1],
      ...                [0,1,0]],
      ...               [[1,1,0],
      ...                [0,0,1]]])
      >>> b = np.packbits(a, axis=-1)
      >>> b
      array([[[160],
              [ 64]],
             [[192],
              [ 32]]], dtype=uint8)
  
      Note that in binary 160 = 1010 0000, 64 = 0100 0000, 192 = 1100 0000,
      and 32 = 0010 0000.
  
      """
      return (a,)
  
imports: import functools
  from .None import overrides
  from .None import _multiarray_umath
  from ._multiarray_umath import *
  from ._multiarray_umath import fastCopyAndTranspose, _flagdict, from_dlpack, _place, _reconstruct, _vec_string, _ARRAY_API, _monotonicity, _get_ndarray_c_version, _get_madvise_hugepage, _set_madvise_hugepage, _get_promotion_state, _set_promotion_state, _using_numpy2_behavior
label_desc: Use image node_id 16 for calling a global function with example usage: packbits(a, axis, bitorder) and returns: a