More future! Make Python 2/3 compatibility a bit easier
More future! Make Python 2/3 compatibility a little bit easier
six are hard to use: It is easy to google how to import an object in Python2, or Python3, but finding the full path in these compatibility libraries is difficult.
All the modules and types required for compatibility are put into the
mo-future top-level module so they are easy to find.
from future.utils import text_type
you get the same, but without having to discover what sub-module the
text_type is hiding:
from mo_future import text_type
Instead of writing conditional imports like
try: from io import StringIO except: from StringIO import StringIO
if PY3: from io import StringIO else: from StringIO import StringIO
you can use
from mo_future import StringIO