I've been looking around for a solution to this and I'm completely stuck.
The icecast/shoutcast libs all seem to be Python 2.7 which is an issue as I'm using 3.6
Any ideas for where to start with broadcasting and authenticating would be very useful. I'm looking to stream mp3 files.
TIA.
Use liquidsoap to generate your audio stream(s) and output them to shoutcast and/or icecast2 servers. I currently have liquidsoap, shoutcast, icecast2 and apache2 all running on the same Ubuntu 18.04 server. liquidsoap generates the audio stream and outputs it to both shoutcast and icecast2. Listeners can use their browser to access either the shoutcast stream at port 8000 or the icecast2 stream at port 8010. It works very well 24 x 7.
You can have multiple streams and liquidsoap has many features including playlists and time-based (clock) actions. See the liquidsoap documentation for examples to create audio streams from your mp3 or other format audio files. Best of all liquidsoap is free.
Python broadcast to shoutcast (DNAS) or icecast