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
execfilewithimportOptions - Run futurize stage 2 (tweaked)
- Use
inspect.signaturefor Python 3 - Replace
math.logwith justlogin functors - String/bytes compatibility with Python 3
- Flush printout of
ApplicationOptionsobject - 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