class_docstr: Historical restrictions stored in memory with effective dates for each
  asset.
  
  Parameters
  ----------
  restrictions : iterable of namedtuple Restriction
      The restrictions, each defined by an asset, effective date and state
class_docstr_tok: ["Historical","restrictions","stored","in","memory","with","effective","dates","for","each","asset",".","Parameters","--","--","--","--","--","restrictions",":","iterable","of","namedtuple","Restriction","The","restrictions",",","each","defined","by","an","asset",",","effective","date","and","state"]
docstr: Returns whether or not an asset or iterable of assets is restricted
  on a dt.
docstr_tok: ["Returns","whether","or","not","an","asset","or","iterable","of","assets","is","restricted","on","a","dt","."]
code: def is_restricted(self, assets, dt):
      """
      Returns whether or not an asset or iterable of assets is restricted
      on a dt.
      """
      if isinstance(assets, Asset):
          return self._is_restricted_for_asset(assets, dt)
  
      is_restricted = partial(self._is_restricted_for_asset, dt=dt)
      return pd.Series(
          index=pd.Index(assets),
          data=vectorize(is_restricted, otypes=[bool])(assets),
      )
  
imports: import abc
  from numpy import vectorize
  from functools import partial, reduce
  import operator
  import pandas
  from six import with_metaclass, iteritems
  from collections import namedtuple
  from toolz import groupby
  from zipline.utils.enum import enum
  from zipline.utils.numpy_utils import vectorized_is_element
  from zipline.assets import Asset
label_desc: Use image node_id 2 for calling the HistoricalRestrictions obj's underlying member method code with example usage: obj.is_restricted(assets, dt) and returns: pd, self