pasteurize
: Py3 to Py2/3ΒΆ
Running pasteurize -w mypy3module.py
turns this Python 3 code:
import configparser
class Blah:
pass
print('Hello', end=None)
into this code which runs on both Py2 and Py3:
from __future__ import print_function
from future import standard_library
standard_library.install_hooks()
import configparser
class Blah(object):
pass
print('Hello', end=None)
Notice that both futurize
and pasteurize
create explicit new-style
classes that inherit from object
on both Python versions, and both
refer to stdlib modules (as well as builtins) under their Py3 names.
pasteurize
also handles the following Python 3 features:
- keyword-only arguments
- metaclasses (using
with_metaclass()
) - extended tuple unpacking (PEP 3132)
To handle function annotations (PEP 3107), see Function annotations.