I don\'t want to use any other apps (like sox) - I want to do this in pure Python. Installing needed Python libs is fine.
I maintain an open source library, pydub, which make this pretty simple
from pydub import AudioSegment
sound = AudioSegment.from_wav("/path/to/file.wav")
sound = sound.set_channels(1)
sound.export("/output/path.wav", format="wav")
One caveat: it uses ffmpeg to handle audio format conversions, but if you only use wav it can be pure python.