code: def refresh_devices():
      """Scan installed PennyLane plugins to refresh the device list."""
  
      # This function does not return anything; instead, it has a side effect
      # which is to update the global plugin_devices variable.
  
      # We wish to retain the behaviour of a global plugin_devices dictionary,
      # as re-importing metadata can be a very slow operation on systems
      # with a large number of installed packages.
      global plugin_devices  # pylint:disable=global-statement
  
      reload(metadata)
      plugin_devices = _get_device_entrypoints()
  
imports: from importlib import reload, metadata
  from sys import version_info
  import numpy
  from semantic_version import SimpleSpec, Version
  from pennylane.boolean_fn import BooleanFn
  import pennylane.numpy
  from pennylane.queuing import QueuingManager, apply
  import pennylane.kernels
  import pennylane.math
  import pennylane.operation
  import pennylane.qnn
  import pennylane.templates
  import pennylane.pauli
  from pennylane.pauli import pauli_decompose
  from pennylane.resource import specs
  import pennylane.resource
  import pennylane.qchem
  from pennylane.fermi import FermiC, FermiA, jordan_wigner
  from pennylane.qchem import taper, symmetry_generators, paulix_ops, taper_operation, import_operator
  from pennylane._device import Device, DeviceError
  from pennylane._grad import grad, jacobian, vjp, jvp
  from pennylane._qubit_device import QubitDevice
  from pennylane._qutrit_device import QutritDevice
  from pennylane._version import __version__
  from pennylane.about import about
  from pennylane.circuit_graph import CircuitGraph
  from pennylane.configuration import Configuration
  from pennylane.drawer import draw, draw_mpl
  from pennylane.tracker import Tracker
  from pennylane.io import *
  from pennylane.measurements import counts, density_matrix, measure, expval, probs, sample, state, var, vn_entropy, purity, mutual_info, classical_shadow, shadow_expval
  from pennylane.ops import *
  from pennylane.ops import adjoint, ctrl, cond, exp, sum, pow, prod, s_prod
  from pennylane.templates import broadcast, layer
  from pennylane.templates.embeddings import *
  from pennylane.templates.layers import *
  from pennylane.templates.tensornetworks import *
  from pennylane.templates.swapnetworks import *
  from pennylane.templates.state_preparations import *
  from pennylane.templates.subroutines import *
  from pennylane import qaoa
  from pennylane.workflow import QNode, qnode, execute
  from pennylane.transforms import transform, batch_params, batch_input, batch_transform, batch_partial, compile, defer_measurements, qfunc_transform, op_transform, single_tape_transform, quantum_monte_carlo, apply_controlled_Q, commutation_dag, pattern_matching, pattern_matching_optimization, clifford_t_decomposition
  from pennylane.ops.functions import dot, eigvals, equal, evolve, generator, is_commuting, is_hermitian, is_unitary, map_wires, matrix, simplify, iterative_qpe
  from pennylane.optimize import *
  from pennylane.vqe import ExpvalCost
  from pennylane.debugging import snapshots
  from pennylane.shadows import ClassicalShadow
  from pennylane.qcut import cut_circuit, cut_circuit_mc
  import pennylane.pulse
  import pennylane.fourier
  from pennylane.gradients import metric_tensor, adjoint_metric_tensor
  import pennylane.gradients
  import pennylane.qinfo
  import pennylane.logging
  from pennylane.compiler import qjit, while_loop, for_loop
  import pennylane.compiler
  import pennylane.data
  import pennylane.interfaces
label_desc: Use image node_id 2 for calling a global function with example usage: refresh_devices() without return types