ham2mon
ham2mon is a SDR scanner application written in python using gnuradio and ncurses modules.
What I've done to it
I modified it to use the most recent version of gnuradio, which meant converting its use of osmocom to soapy and migrating the code from python 2.7 to 3.10.
The soapy api is a little different from the osmocom one, mostly notably on the set_gain calls.
I don't have a device with multiple kinds of gain to set, so I haven't been able to test the BB and IF amplifier gains.
I am also unsure how to test if a device supports setting a particular kind of gain, though the soapy utilities do spit out that information, so it must be available somehow.
What may come next
It looks like others have done this, too.
After my efforts, I discovered some unmerged pull requests on github. Since all these have sat there for a few years, I might end up hosting a fork on sourcehut or something, to make it easier for others to get up and running.
It's under a GPL 3 license, so that should be no problem.