I'm wondering if you'd be open to offering TeX formatted output as an option. My particular use case is for labelling curves in matplotlib, which accepts TeX formatted strings. So, for example
round(3.14159E6, sigfigs=3, format='TeX')
'$3.14\times10^{6}$'
(not sure if you'd want to use 'format' or 'notation' for the keyword).
I've coded this myself, though, my code doesn't have all the features of yours.