[weboob] Python 3 support

Vincent A dev at indigo.re
Thu Jun 22 23:17:13 CEST 2017


As you may know, there's an ongoing task to port weboob to Python 3.

On the devel repository, a series of patch has been merged, porting most 
parts of the core library (under the "weboob" directory) to be 
compatible with both Python 2.7 and Python 3. This means the 
command-line applications (like boobank, flatboob, boobill, etc.) and 
the Qt apps work with Python 3. Specifically, weboob targets Python 3.5.
This was the first step towards full Python 3 compatibility, and 
hopefully there should be a weboob 1.3 release soon.

The next step is to port weboob modules to Python 2.7/Python 3 
compatibility. A few modules are already compatible with both versions, 
and should be usable when running weboob under a Python 3 interpreter.
In a python-six fashion, the weboob.tools.compat contains aliases to 
renamed symbols, which should be imported in modules to achieve Python 
2/3 compatibility.
"tools/pyflakes.sh -3" now makes Python 3 specific checks and run 
pyflakes3 and "tools/run_tests.sh -3" runs unit tests with a Python 3 
Since python-mechanize has no Python 3 support, modules that still use 
it (weboob.deprecated.*) should be ported to weboob's "Browser 2". 
Unmaintained modules that have not been ported to it will simply be 
removed from weboob.

More information about the weboob mailing list