docstr: ivy.Container static method variant of ivy.expand_dims. This method
  simply wraps the function, and so the docstring for ivy.expand_dims
  also applies to this method with minimal changes.
  
  Parameters
  ----------
  x
      input container.
  copy
      boolean indicating whether or not to copy the input array.
      If True, the function must always copy.
      If False, the function must never copy and must
      raise a ValueError in case a copy would be necessary.
      If None, the function must reuse existing memory buffer if possible
      and copy otherwise. Default: ``None``.
  axis
      position where a new axis (dimension) of size one will be added. If an
      element of the container has the rank of ``N``, then the ``axis`` needs
      to be between ``[-N-1, N]``. Default: ``0``.
  key_chains
      The key-chains to apply or not apply the method to. Default is ``None``.
  to_apply
      If True, the method will be applied to key_chains, otherwise key_chains
      will be skipped. Default is ``True``.
  prune_unapplied
      Whether to prune key_chains for which the function was not applied.
      Default is ``False``.
  map_sequences
      Whether to also map method to sequences (lists, tuples).
      Default is ``False``.
  out
      optional output container, for writing the result to. It must have a shape
      that the inputs broadcast to.
  
  Returns
  -------
  ret
      A container with the elements of ``x``, but with the dimensions of
      its elements added by one in a given ``axis``.
  
  Examples
  --------
  With one :class:`ivy.Container` input:
  
  >>> x = ivy.Container(a=ivy.array([0., 1.]),
  ...                   b=ivy.array([3., 4.]),
  ...                   c=ivy.array([6., 7.]))
  >>> y = ivy.Container.static_expand_dims(x, axis=1)
  >>> print(y)
  {
      a: ivy.array([[0.],
                    [1.]]),
      b: ivy.array([[3.],
                    [4.]]),
      c: ivy.array([[6.],
                    [7.]])
  }
  
  With multiple :class:`ivy.Container` inputs:
  
  >>> x = ivy.Container(a=ivy.array([0., 1., 2.]),
  ...                   b=ivy.array([3., 4., 5.]),
  ...                   c=ivy.array([6., 7., 8.]))
  >>> container_axis = ivy.Container(a=0, b=-1, c=(0,1))
  >>> y = ivy.Container.static_expand_dims(x, axis=container_axis)
  >>> print(y)
  {
      a: ivy.array([[0., 1., 2.]]),
      b: ivy.array([[3.],
                    [4.],
                    [5.]]),
      c: ivy.array([[[6., 7., 8.]]])
  }
code: def _static_expand_dims(
      x: ivy.Container,
      /,
      *,
      copy: Optional[Union[bool, ivy.Container]] = None,
      axis: Union[int, Sequence[int], ivy.Container] = 0,
      key_chains: Optional[
          Union[List[str], Dict[str, str], ivy.Container]
      ] = None,
      to_apply: Union[bool, ivy.Container] = True,
      prune_unapplied: Union[bool, ivy.Container] = False,
      map_sequences: Union[bool, ivy.Container] = False,
      out: Optional[ivy.Container] = None,
  ) -> ivy.Container:
      """ivy.Container static method variant of ivy.expand_dims. This method
      simply wraps the function, and so the docstring for ivy.expand_dims
      also applies to this method with minimal changes.
  
      Parameters
      ----------
      x
          input container.
      copy
          boolean indicating whether or not to copy the input array.
          If True, the function must always copy.
          If False, the function must never copy and must
          raise a ValueError in case a copy would be necessary.
          If None, the function must reuse existing memory buffer if possible
          and copy otherwise. Default: ``None``.
      axis
          position where a new axis (dimension) of size one will be added. If an
          element of the container has the rank of ``N``, then the ``axis`` needs
          to be between ``[-N-1, N]``. Default: ``0``.
      key_chains
          The key-chains to apply or not apply the method to. Default is ``None``.
      to_apply
          If True, the method will be applied to key_chains, otherwise key_chains
          will be skipped. Default is ``True``.
      prune_unapplied
          Whether to prune key_chains for which the function was not applied.
          Default is ``False``.
      map_sequences
          Whether to also map method to sequences (lists, tuples).
          Default is ``False``.
      out
          optional output container, for writing the result to. It must have a shape
          that the inputs broadcast to.
  
      Returns
      -------
      ret
          A container with the elements of ``x``, but with the dimensions of
          its elements added by one in a given ``axis``.
  
      Examples
      --------
      With one :class:`ivy.Container` input:
  
      >>> x = ivy.Container(a=ivy.array([0., 1.]),
      ...                   b=ivy.array([3., 4.]),
      ...                   c=ivy.array([6., 7.]))
      >>> y = ivy.Container.static_expand_dims(x, axis=1)
      >>> print(y)
      {
          a: ivy.array([[0.],
                        [1.]]),
          b: ivy.array([[3.],
                        [4.]]),
          c: ivy.array([[6.],
                        [7.]])
      }
  
      With multiple :class:`ivy.Container` inputs:
  
      >>> x = ivy.Container(a=ivy.array([0., 1., 2.]),
      ...                   b=ivy.array([3., 4., 5.]),
      ...                   c=ivy.array([6., 7., 8.]))
      >>> container_axis = ivy.Container(a=0, b=-1, c=(0,1))
      >>> y = ivy.Container.static_expand_dims(x, axis=container_axis)
      >>> print(y)
      {
          a: ivy.array([[0., 1., 2.]]),
          b: ivy.array([[3.],
                        [4.],
                        [5.]]),
          c: ivy.array([[[6., 7., 8.]]])
      }
      """
      return ContainerBase.cont_multi_map_in_function(
          "expand_dims",
          x,
          copy=copy,
          axis=axis,
          key_chains=key_chains,
          to_apply=to_apply,
          prune_unapplied=prune_unapplied,
          map_sequences=map_sequences,
          out=out,
      )
  
imports: from typing import Optional, Union, List, Tuple, Dict, Iterable, Sequence
  from numbers import Number
  import ivy
  from ivy.data_classes.container.base import ContainerBase
label_desc: Use image node_id 3 for calling the _ContainerWithManipulation obj's underlying member method code with example usage: obj._static_expand_dims() and returns: ContainerBase