future: Easy, safe support for Python 3/2 compatibility
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
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.
Metadata
Release files for future 0.13.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| future-0.13.0.tar.gz | 898.4 kB | Details |
Release files / future-0.13.0.tar.gz
| Download URL | future-0.13.0.tar.gz |
|---|---|
| Size | 898.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7fb75607a7a2af3aa975a39373dc7b5db7edbc4e37d54065e6a04b1d4a1bc2c8
|
|
BLAKE2b-256 checksum How to use checksums |
08949f023d3443f00f62d5f3e44e6daaef059bd28300d92d59c60bedfdc298da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |