Skip to main content

The future module helps run Python 3.x-compatible code under Python 2 with minimal code cruft.

The goal is to allow you to write clean, modern, forward-compatible Python 3 code today and to run it with minimal effort under Python 2 alongside a Python 2 stack that may contain dependencies that have not yet been ported to Python 3.

It is designed to be used as follows:

from __future__ import (absolute_import, division,
                        print_function, unicode_literals)
from future import standard_library
from future.builtins import *

followed by clean Python 3 code (with a few restrictions) that can run unchanged on Python 2.7.

On Python 3, the import lines have zero effect (and zero namespace pollution).

On Python 2, from future import standard_library installs import hooks to allow renamed and moved standard library modules to be imported from their new Py3 locations.

On Python 2, the from future.builtins import * line shadows builtins to provide their Python 3 semantics. (See below for the explicit import form.)

Documentation

See: http://python-future.org

Also see the docstrings for each of these modules for more info:

- future.standard_library
- future.builtins
- future.utils

Automatic conversion

An experimental script called futurize is included to aid in making either Python 2 code or Python 3 code compatible with both platforms using the future module. See http://python-future.org/automatic_conversion.html.

Credits

Author:

Ed Schofield

Sponsor:

Python Charmers Pty Ltd, Australia, and Python Charmers Pte Ltd, Singapore. http://pythoncharmers.com

Others:
  • The backported super() and range() functions are derived from Ryan Kelly’s magicsuper module and Dan Crosta’s xrange module.

  • The futurize script uses lib2to3, lib3to2, and parts of Armin Ronacher’s python-modernize code.

  • The python_2_unicode_compatible decorator is from Django. The implements_iterator and with_metaclass decorators are from Jinja2.

  • future incorporates the six module by Benjamin Peterson as future.utils.six.

  • Documentation is generated using sphinx using an adaptation of Armin Ronacher’s stylesheets from Jinja2.

Licensing

Copyright 2013 Python Charmers Pty Ltd, Australia. The software is distributed under an MIT licence. See LICENSE.txt.

Metadata

Release files for future 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for future 0.7.0
File Size Uploaded
future-0.7.0.tar.gz 229.8 kB Details

Release files / future-0.7.0.tar.gz

Download URL future-0.7.0.tar.gz
Size 229.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7268b0ef5db1b4fe9eb8b77556695868fb8a96a026bb387b359d5287d0c9395f
BLAKE2b-256 checksum
How to use checksums
02d7f598e05b40dab77125a08d79409e2993b464a72bd8f6e30748fb25c8d2ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

1.0.0

2 release files

0.18.3

1 release file

0.18.2

1 release file

0.18.1

1 release file

0.18.0

3 release files

0.17.1

1 release file

0.17.0

1 release file

0.16.0

1 release file

0.15.2

1 release file

0.15.1

1 release file

0.15.0

1 release file

0.14.3

1 release file

0.14.2

1 release file

0.14.1

1 release file

0.14.0

1 release file

0.13.1

1 release file

0.13.0

1 release file

0.12.4

1 release file

0.12.3

1 release file

0.12.2

1 release file

0.12.1

1 release file

0.12.0

1 release file

0.11.4

1 release file

0.11.3

1 release file

0.11.2

1 release file

0.11.1

1 release file

0.11.0

1 release file

0.10.2

1 release file

0.10.1

1 release file

0.10.0

1 release file

0.9.0

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.8.0

1 release file

This release

0.7.0 This release

1 release file

0.6.0

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.0

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page