def slicer(dimensions):
 def decorator(extractor):
  @wraps(extractor)
  def make_slicer(*a, **k):
   return Slicer(dimensions=dimensions, extractor=partial(extractor, *a, **k))
  return make_slicer
 return decorator

def slicer ( dimensions ) : def decorator ( extractor ) : @ wraps ( extractor ) def make_slicer ( * a , ** k ) : return Slicer ( dimensions = dimensions , extractor = partial ( extractor , * a , ** k ) ) return make_slicer return decorator
slicer decorator .