Itertools shim with recipes and extras
A drop-in replacement for itertools including the recipes from the itertools document page(including tests) and some extras.
The extras.py file adds a couple of useful function along with an alternate pairwise function to avoid over-loading with tee, an alternate partition function to return lists instead of generators as tee would have also generated the overhead and the predicate would have run twice for each element, and an alternate powerset function providing a reverse argument.
All of itertools and the functions in extra.py are pulled in on __init__.
The recipes are included in the recipes.py file and are pulled in on __init__ with the exception of the alternates provided by extra.py.