code: def two_at_a_time(it):
      """Iterate over ``it``, two elements at a time.
  
      ``it`` must yield an even number of times.
  
      Examples
      --------
      >>> list(two_at_a_time([1, 2, 3, 4]))
      [(1, 2), (3, 4)]
      """
      return toolz.partition(2, it, pad=None)
  
imports: import itertools
  from operator import attrgetter
  import numpy
  import pandas
  import toolz
  from zipline.pipeline import Pipeline
  from zipline.pipeline.classifiers import Everything
  from zipline.pipeline.domain import US_EQUITIES
  from zipline.pipeline.factors import CustomFactor
  from zipline.pipeline.data import Column, DataSet
  from zipline.pipeline.data.testing import TestingDataSet
  from zipline.pipeline.hooks.testing import TestingHooks
  from zipline.pipeline.hooks.progress import ProgressHooks, repr_htmlsafe, TestingProgressPublisher
  from zipline.pipeline.term import AssetExists, ComputableTerm, LoadableTerm
  from zipline.testing import parameter_space
  from zipline.testing.fixtures import ZiplineTestCase, WithSeededRandomPipelineEngine
  from zipline.testing.predicates import assert_almost_equal, instance_of
label_desc: Use image node_id 1 for calling a global function with example usage: two_at_a_time(it) and returns: toolz