Skip to main content

future is the missing compatibility layer between Python 3 and Python 2. It allows you to use a single, clean Python 3.x-compatible codebase to support both Python 3 and Python 2 with minimal overhead.

Notable projects that use future for Python 2/3 compatibility are Mezzanine and ObsPy.

It is designed to be used as follows:

from __future__ import (absolute_import, division,
                        print_function, unicode_literals)
from future.builtins import (
                bytes, dict, int, list, object, range, str,
                ascii, chr, hex, input, next, oct, open,
                pow, round, super,
                filter, map, zip)

followed by predominantly standard, idiomatic Python 3 code that then runs similarly on Python 2.6/2.7 and Python 3.3+.

The imports have no effect on Python 3. On Python 2, they shadow the corresponding builtins, which normally have different semantics on Python 3 versus 2, to provide their Python 3 semantics.

Standard library reorganization

from future import standard_library provides a context-manager called hooks that installs import hooks (PEP 3108) to allow renamed and moved standard library modules to be imported from their new Py3 locations.

Automatic conversion

An included script called futurize aids in converting code (from either Python 2 or Python 3) to code compatible with both platforms. It is similar to python-modernize but goes further in providing Python 3 compatibility through the use of the backported types and builtin functions in future.

Documentation

See: http://python-future.org

Credits

Author:

Ed Schofield

Sponsor:

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

Others:

See docs/credits.rst or http://python-future.org/credits.html

Licensing

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

future-0.12.2.tar.gz (556.0 kB view details)

Uploaded Source

File details

Details for the file future-0.12.2.tar.gz.

File metadata

  • Download URL: future-0.12.2.tar.gz
  • Upload date:
  • Size: 556.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for future-0.12.2.tar.gz
Algorithm Hash digest
SHA256 b5ef01195260bbd302e4bb565c0915f62e2c18331a43c45ae0838f378ae8b0c6
MD5 11c1fb29f7fb181396cbc1b73443d431
BLAKE2b-256 9d475cdb58d1ce9035d6f6b4bde347354f262d2cddd568c51c3053baa88fc59d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page