Python bindings to pacmd. This transforms the semi-structured output from pacmd into dictionaries.
If all you want is a simple way to change volume and the active device, have a look at these configs/scripts in my dotfiles:
In my research, programming with Pulseaudio generally requires strictly using the C bindings, which aren't easily scriptable. Python is a great fit for general purpose scripting.
TBD. Probably as a published package. For now, read the tests and copy the code.
If you find this useful, I will gladly review PRs to help improve this project.