Index: third_party/google-endpoints/future/__init__.py |
diff --git a/third_party/google-endpoints/future/__init__.py b/third_party/google-endpoints/future/__init__.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8139aa33a99b2072e0bc93dc1571b98387a65c93 |
--- /dev/null |
+++ b/third_party/google-endpoints/future/__init__.py |
@@ -0,0 +1,93 @@ |
+""" |
+future: Easy, safe support for Python 2/3 compatibility |
+======================================================= |
+ |
+``future`` is the missing compatibility layer between Python 2 and Python |
+3. It allows you to use a single, clean Python 3.x-compatible codebase to |
+support both Python 2 and Python 3 with minimal overhead. |
+ |
+It is designed to be used as follows:: |
+ |
+ from __future__ import (absolute_import, division, |
+ print_function, unicode_literals) |
+ from 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 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
+ |
+``future`` supports the standard library reorganization (PEP 3108) through the |
+following Py3 interfaces: |
+ |
+ >>> # Top-level packages with Py3 names provided on Py2: |
+ >>> import html.parser |
+ >>> import queue |
+ >>> import tkinter.dialog |
+ >>> import xmlrpc.client |
+ >>> # etc. |
+ |
+ >>> # Aliases provided for extensions to existing Py2 module names: |
+ >>> from future.standard_library import install_aliases |
+ >>> install_aliases() |
+ |
+ >>> from collections import Counter, OrderedDict # backported to Py2.6 |
+ >>> from collections import UserDict, UserList, UserString |
+ >>> import urllib.request |
+ >>> from itertools import filterfalse, zip_longest |
+ >>> from subprocess import getoutput, getstatusoutput |
+ |
+ |
+Automatic conversion |
+-------------------- |
+ |
+An included script called `futurize |
+<http://python-future.org/automatic_conversion.html>`_ 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-2016 Python Charmers Pty Ltd, Australia. |
+The software is distributed under an MIT licence. See LICENSE.txt. |
+ |
+""" |
+ |
+__title__ = 'future' |
+__author__ = 'Ed Schofield' |
+__license__ = 'MIT' |
+__copyright__ = 'Copyright 2013-2016 Python Charmers Pty Ltd' |
+__ver_major__ = 0 |
+__ver_minor__ = 16 |
+__ver_patch__ = 0 |
+__ver_sub__ = '' |
+__version__ = "%d.%d.%d%s" % (__ver_major__, __ver_minor__, |
+ __ver_patch__, __ver_sub__) |