code: def _cycler(label, itr):
      """
      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 absolute_import, division, print_function, unicode_literals
  import six
  from itertools import product, cycle
  from six.moves import zip, reduce
  from operator import mul, add
  import copy
label_desc: Use image node_id 4 for calling a global function with example usage: _cycler(label, itr) and returns: Cycler