code: def copy(
      source: HDF5Any,
      dest: HDF5Group,
      key: str,
      on_conflict: Literal["raise", "overwrite", "ignore"] = "raise",
  ) -> None:
      """Copy HDF5 array or group ``source`` into group ``dest``.
  
      Args:
          source: HDF5 group or array to copy
          dest: Target HDF5 group
          keys: Name to save source into, under dest
          on_conflict: How to handle conflicts if ``key`` already exists in
              ``dest``. ``"raise"`` will raise an exception, ``overwrite``
              will overwrite the existing object in ``dest``, ``"ignore"`` will
              do nothing
      """
      if key in dest:
          if on_conflict == "overwrite":
              del dest[key]
          elif on_conflict == "raise":
              raise ValueError(
                  f"Key '{key}' already exists in '{source.name}'"
              )
          if on_conflict == "ignore":
              return
  
      dest.copy(source, dest, name=key)
  
file_path: pennylane/pennylane/data/base/hdf5.py
imports: from collections.abc import MutableMapping
  from pathlib import Path
  from typing import Literal, TypeVar, Union
  from uuid import uuid4
  from numpy.typing import ArrayLike
  from ._lazy_modules import fsspec, h5py
label_desc: Use image node_id 3 for calling a global function with example usage: copy(source, dest, key, on_conflict) without return types