# `pasteurize`: Py3 to Py2/3

Running `pasteurize -w mypy3module.py` turns this Python 3 code:

    import configparser
    import copyreg

    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
    import copyreg

    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.

Note also that the `configparser` module is a special case; there is a full backport available on PyPI (https://pypi.org/project/configparser/), so, as of v0.16.0, `python-future` no longer provides a `configparser` package alias. To use the resulting code on Py2, install the `configparser` backport with `pip install configparser` or by adding it to your `requirements.txt` file.

`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.