fix: Preliminary Python 3 support