summaryrefslogtreecommitdiffstats
path: root/FOSS/Python/Dependencies/future-0.18.2/docs/translation.rst
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2023-01-23 14:28:53 -0800
committeryum <yum.food.vr@gmail.com>2023-01-23 14:32:09 -0800
commit9fff496394dcd94c4084694ca96a5e07ab836274 (patch)
treed89b78e16ecb6011bdd74555da79f7a8c1d90752 /FOSS/Python/Dependencies/future-0.18.2/docs/translation.rst
parent9329d64f991b8b3289af22e4c2eedb09a97c5640 (diff)
package.ps1 now fetches all dependencies
Don't literally check in Python since it looks dodgy (rightfully so). Instead the build script just fetches it. * Update README, simplifying language and documenting other projects
Diffstat (limited to 'FOSS/Python/Dependencies/future-0.18.2/docs/translation.rst')
-rw-r--r--FOSS/Python/Dependencies/future-0.18.2/docs/translation.rst112
1 files changed, 0 insertions, 112 deletions
diff --git a/FOSS/Python/Dependencies/future-0.18.2/docs/translation.rst b/FOSS/Python/Dependencies/future-0.18.2/docs/translation.rst
deleted file mode 100644
index 632c46b..0000000
--- a/FOSS/Python/Dependencies/future-0.18.2/docs/translation.rst
+++ /dev/null
@@ -1,112 +0,0 @@
-.. _translation:
-
-Using Python 2-only dependencies on Python 3
---------------------------------------------
-
-The ``past`` module provides an experimental ``translation`` package to help
-with importing and using old Python 2 modules in a Python 3 environment.
-
-This is implemented using PEP 414 import hooks together with fixers from
-``lib2to3`` and ``libfuturize`` (included with ``python-future``) that
-attempt to automatically translate Python 2 code to Python 3 code with equivalent
-semantics upon import.
-
-*Note* This feature is still in alpha and needs further development to support a
-full range of real-world Python 2 modules. Also be aware that the API for
-this package might change considerably in later versions.
-
-Here is how to use it::
-
- $ pip3 install plotrique==0.2.5-7 --no-compile # to ignore SyntaxErrors
- $ python3
-
-Then pass in a whitelist of module name prefixes to the
-``past.translation.autotranslate()`` function. Example::
-
- >>> from past.translation import autotranslate
- >>> autotranslate(['plotrique'])
- >>> import plotrique
-
-Here is another example::
-
- >>> from past.translation import install_hooks, remove_hooks
- >>> install_hooks(['mypy2module'])
- >>> import mypy2module
- >>> remove_hooks()
-
-This will translate, import and run Python 2 code such as the following::
-
- ### File: mypy2module.py
-
- # Print statements are translated transparently to functions:
- print 'Hello from a print statement'
-
- # xrange() is translated to Py3's range():
- total = 0
- for i in xrange(10):
- total += i
- print 'Total is: %d' % total
-
- # Dictionary methods like .keys() and .items() are supported and
- # return lists as on Python 2:
- d = {'a': 1, 'b': 2}
- assert d.keys() == ['a', 'b']
- assert isinstance(d.items(), list)
-
- # Functions like range, reduce, map, filter also return lists:
- assert isinstance(range(10), list)
-
- # The exec statement is supported:
- exec 'total += 1'
- print 'Total is now: %d' % total
-
- # Long integers are supported:
- k = 1234983424324L
- print 'k + 1 = %d' % k
-
- # Most renamed standard library modules are supported:
- import ConfigParser
- import HTMLParser
- import urllib
-
-
-The attributes of the module are then accessible normally from Python 3.
-For example::
-
- # This Python 3 code works
- >>> type(mypy2module.d)
- builtins.dict
-
-This is a standard Python 3 data type, so, when called from Python 3 code,
-``keys()`` returns a view, not a list::
-
- >>> type(mypy2module.d.keys())
- builtins.dict_keys
-
-
-.. _translation-limitations:
-
-Known limitations of ``past.translation``
-*****************************************
-
-- It currently requires a newline at the end of the module or it throws a
- ``ParseError``.
-
-- This only works with pure-Python modules. C extension modules and Cython code
- are not supported.
-
-- The biggest hurdle to automatic translation is likely to be ambiguity
- about byte-strings and text (unicode strings) in the Python 2 code. If the
- ``past.autotranslate`` feature fails because of this, you could try
- running ``futurize`` over the code and adding a ``b''`` or ``u''`` prefix to
- the relevant string literals. To convert between byte-strings and text (unicode
- strings), add an ``.encode`` or ``.decode`` method call. If this succeeds,
- please push your patches upstream to the package maintainers.
-
-- Otherwise, the source translation feature offered by the ``past.translation``
- package has similar limitations to the ``futurize`` script (see
- :ref:`futurize-limitations`). Help developing and testing this feature further
- would be particularly welcome.
-
-Please report any bugs you find on the ``python-future`` `bug tracker
-<https://github.com/PythonCharmers/python-future/>`_.