![JAR search and dependency download from the Maven repository](/logo.png)
kr.motd.maven.sphinx.dist.past.__init__$py.class Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sphinx-maven-plugin Show documentation
Show all versions of sphinx-maven-plugin Show documentation
Maven plugin that creates the site with Sphinx
???? 1 ? f$0 R(Lorg/python/core/PyFrame;Lorg/python/core/ThreadState;)Lorg/python/core/PyObject; __doc__
?
past: compatibility with Python 2 from Python 3
===============================================
``past`` is a package to aid with Python 2/3 compatibility. Whereas ``future``
contains backports of Python 3 constructs to Python 2, ``past`` provides
implementations of some Python 2 constructs in Python 3 and tools to import and
run Python 2 code in Python 3. It is intended to be used sparingly, as a way of
running old Python 2 code from Python 3 until the code is ported properly.
Potential uses for libraries:
- as a step in porting a Python 2 codebase to Python 3 (e.g. with the ``futurize`` script)
- to provide Python 3 support for previously Python 2-only libraries with the
same APIs as on Python 2 -- particularly with regard to 8-bit strings (the
``past.builtins.str`` type).
- to aid in providing minimal-effort Python 3 support for applications using
libraries that do not yet wish to upgrade their code properly to Python 3, or
wish to upgrade it gradually to Python 3 style.
Here are some code examples that run identically on Python 3 and 2::
>>> from past.builtins import str as oldstr
>>> philosopher = oldstr(u'\u5b54\u5b50'.encode('utf-8'))
>>> # This now behaves like a Py2 byte-string on both Py2 and Py3.
>>> # For example, indexing returns a Python 2-like string object, not
>>> # an integer:
>>> philosopher[0]
'å'
>>> type(philosopher[0])
>>> # List-producing versions of range, reduce, map, filter
>>> from past.builtins import range, reduce
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])
15
>>> # Other functions removed in Python 3 are resurrected ...
>>> from past.builtins import execfile
>>> execfile('myfile.py')
>>> from past.builtins import raw_input
>>> name = raw_input('What is your name? ')
What is your name? [cursor]
>>> from past.builtins import reload
>>> reload(mymodule) # equivalent to imp.reload(mymodule) in Python 3
>>> from past.builtins import xrange
>>> for i in xrange(10):
... pass
It also provides import hooks so you can import and use Python 2 modules like
this::
$ python3
>>> from past import autotranslate
>>> authotranslate('mypy2module')
>>> import mypy2module
until the authors of the Python 2 modules have upgraded their code. Then, for
example::
>>> mypy2module.func_taking_py2_string(oldstr(b'abcd'))
Credits
-------
:Author: Ed Schofield
:Sponsor: Python Charmers Pty Ltd, Australia: http://pythoncharmers.com
Licensing
---------
Copyright 2013-2016 Python Charmers Pty Ltd, Australia.
The software is distributed under an MIT licence. See LICENSE.txt.
org/python/core/PyString fromInterned .(Ljava/lang/String;)Lorg/python/core/PyString;
org/python/core/PyFrame
setglobal /(Ljava/lang/String;Lorg/python/core/PyObject;)V
setline (I)V
past.translation java/lang/String
install_hooks org/python/core/imp
importFrom \(Ljava/lang/String;[Ljava/lang/String;Lorg/python/core/PyFrame;I)[Lorg/python/core/PyObject;
!
autotranslate # setlocal %
& future ( __version__ *
__copyright__ , __license__ . past 0 __title__ 2 Ed Schofield 4
__author__ 6 f_lasti I 8 9 : org/python/core/Py < None Lorg/python/core/PyObject; > ? = @ (Ljava/lang/String;)V org/python/core/PyFunctionTable D ()V B F
E G self Lpast$py; past$py K I J L M Lorg/python/core/PyCode; P newCode ?(I[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZLorg/python/core/PyFunctionTable;I[Ljava/lang/String;[Ljava/lang/String;II)Lorg/python/core/PyCode; R S
= T O L V getMain ()Lorg/python/core/PyCode; main ([Ljava/lang/String;)V K B C
L ] X Y
L _ org/python/core/CodeLoader a createSimpleBootstrap 9(Lorg/python/core/PyCode;)Lorg/python/core/CodeBootstrap; c d
b e runMain 5(Lorg/python/core/CodeBootstrap;[Ljava/lang/String;)V g h
= i getCodeBootstrap !()Lorg/python/core/CodeBootstrap; #org/python/core/PyRunnableBootstrap m )getFilenameConstructorReflectionBootstrap 2(Ljava/lang/Class;)Lorg/python/core/CodeBootstrap; o p
n q
call_function S(ILorg/python/core/PyFrame;Lorg/python/core/ThreadState;)Lorg/python/core/PyObject;
L u org/python/core/PyRunnable w Lorg/python/compiler/APIVersion; value % Lorg/python/compiler/MTime; `?fsX Lorg/python/compiler/Filename; W/home/trustin/Workspaces/sphinx-maven-plugin/target/update-sphinx/dist/past/__init__.py org/python/core/ThreadState ? Code LineNumberTable StackMap
SourceFile RuntimeVisibleAnnotations ! L E x I J O ? ? ?+? ? +U? ? W+X? ? N-S-+? "N-2:+$? ':+Y? )? N-+S--S-/S-+? "N-2:++? ':-2:+-? ':-2:+/? ':+[? 1? N+3-? 'N+\? 5? N+7-? 'N+? ;? A? ? U X Y [ \ B C ? 2
&*? H*? N? M,+Q? N ? U? W? X Y ? ? W? Z [ ? ? LY\? ^? `? f*? j? k l ? L? r? s t ? d *,-? ? v?? ? 4 L ? L ? L ? L ? ? ? ? y zI { | zJ } zs ?
© 2015 - 2025 Weber Informatics LLC | Privacy Policy