PyGame and PyAudio are two of the best currently maintained packages for playing audio from Python, including from Numpy arrays or streaming sources.
PyGame is for building games and does much more than audio. I find PyGame to be very robust across a wide variety of systems (including embedded systems) to play audio from Python.
PyAudio uses PortAudio on Windows, Mac, and Linux to allow easy playback of Numpy arrays. If you find that you’re not able to install PortAudio, consider using PyGame instead of PyAudio.
Linux PyAudio setup
apt install portaudio19-dev pip install pyaudio
Mac PyAudio setup
brew install portaudio pip install pyaudio
Windows PyAudio setup
The Windows PyAudio wheels are currently for Python 2.7, 3.4, 3.5, and 3.6 and include PortAudio.
pip install pyaudio