Python 3 support
Support Python 3 while keeping Python 2 compatibility. The list of changes/commits (can be reviewed independently):
- Run futurize stage 1
- Replace
execfile
withimportOptions
- Run futurize stage 2 (tweaked)
- Use
inspect.signature
for Python 3 - Replace
math.log
with justlog
in functors - String/bytes compatibility with Python 3
- Flush printout of
ApplicationOptions
object - Python 3 requires
__hash__
when__eq__
is overridden - Do not mutate MC checking categories
- Remove extraneous print statements
- Use None instead of empty string to signify default
- Remove unnecessarily high timeout from tests
- Python 3 compatibility for reading opts and pkl options
See LHCBPS-1858 Must be applied together with LHCb!2694 (merged)
Edited by Rosen Matev