from __future__ import absolute_import import operator from toolz.functoolz import curry, num_required_args, has_keywords def should_curry(f): num = num_required_args(f) return num is None or num > 1 or num == 1 and has_keywords(f) is not False locals().update( {name: curry(f) if should_curry(f) else f for name, f in vars(operator).items() if callable(f)}, ) # Clean up the namespace. del curry del num_required_args del has_keywords del operator del should_curry