code: def _cycler(label: K, itr: Iterable[V]) -> Cycler[K, V]:
      """
      Create a new `Cycler` object from a property name and iterable of values.
  
      Parameters
      ----------
      label : hashable
          The property key.
      itr : iterable
          Finite length iterable of the property values.
  
      Returns
      -------
      cycler : Cycler
          New `Cycler` for the given property
      """
      if isinstance(itr, Cycler):
          keys = itr.keys
          if len(keys) != 1:
              msg = "Can not create Cycler from a multi-property Cycler"
              raise ValueError(msg)
  
          lab = keys.pop()
          # Doesn't need to be a new list because
          # _from_iter() will be creating that new list anyway.
          itr = (v[lab] for v in itr)
  
      return Cycler._from_iter(label, itr)
  
imports: from __future__ import annotations
  from collections.abc import Hashable, Iterable, Generator
  import copy
  from functools import reduce
  from itertools import product, cycle
  from operator import mul, add
  from typing import TypeVar, Generic, Callable, Union, Dict, List, Any, overload, cast
label_desc: Use image node_id 7 for calling a global function with example usage: _cycler(label, itr) and returns: Cycler