I use a genuine Agilent USB adapter, which I found on eBay from a UK seller before the flood of Chinese counterfeits arrived. I use the Keysight IO libraries - yes I know it's hundreds of megabytes, but frankly disc space is just not an issue these day. It provides a full VISA library, and I use the pyvisa Python package to talk to that. It's easy to create simple scripts, and it also gives me a reason to learn Python properly for more complicated tasks.
I've just written a program that takes a data value, calculates and adds the CRC, Manchester-encodes it, creates corresponding waveform data and filters it, then uploads it to my ARB, which I use to FM modulate my RF signal generator. From a keypress I can turn on the RF, send the modulating waveform, and turn the RF off again. This simulates a data message from a mains power monitor (so I can configure a 434 MHz receiver module to receive it). All good clean fun!
I have also used the NI USB adapter, NI VISA library, and C# to build a data logging/control application. That worked OK too.
I would be inclined to avoid the cheaper adapters that don't come with VISA (or linux-gpib) support.