ó
¦–Õ\c           @` s»   d  Z  d d l m Z m Z m Z d d l m Z m Z m Z d d l	 m
 Z
 m Z d d l m Z d d l m Z d d l m Z y d d	 l Z Wn e k
 r­ e Z n Xd
 „  Z d	 S(   s    Dataframe optimizations i    (   t   absolute_importt   divisiont   print_functioni   (   t   cullt   fuse_getitemt   fuse(   t   configt   core(   t   HighLevelGraph(   t   ensure_dict(   t   optimize_blockwiseNc      	   K` s   t  |  t ƒ r3 t |  d t t j | ƒ ƒ ƒ}  n  t |  ƒ }  d d l m } t  | t ƒ r… t	 |  t t j | ƒ ƒ ƒ \ }  } n t	 |  | g ƒ \ }  } t
 |  | d ƒ }  t rÚ d d l m } t
 |  | d ƒ }  n  t |  | d | d t j d t ƒ ƒ\ }  } t	 |  | ƒ \ }  } |  S(	   Nt   keysi   (   t   dataframe_from_ctablei   (   t   _read_parquet_row_groupi   t   dependenciest   fuse_subgraphs(   t
   isinstanceR   R
   t   listR   t   flattenR	   t   ioR   R   R   t   fastparquett
   io.parquetR   R   R   t   gett   True(   t   dskR   t   kwargsR   R   R   t   _(    (    s6   lib/python2.7/site-packages/dask/dataframe/optimize.pyt   optimize   s    $'(   t   __doc__t
   __future__R    R   R   t   optimizationR   R   R   t    R   R   t   highlevelgraphR   t   utilsR	   t	   blockwiseR
   R   t   ImportErrort   FalseR   (    (    (    s6   lib/python2.7/site-packages/dask/dataframe/optimize.pyt   <module>   s   
