In addition to the bus pirate, I also have these:
I2C driver is nice. It only knows about I2C, so it is a much more limited device than the bus pirate or the Binho Nova. But sometimes a dedicated tool is more useful. It has good python support. It comes with a GUI (python) and command line tool. The tiny little display is actually useful.
https://i2cdriver.com/The Binho Nova is more like the bus pirate in that it understands lots of protocols. It has a nice GUI and very good python API. Unlike the bus pirate, this one is not very comfortable to use directly via a serial terminal -- for interactive use I think they expect people to use the GUI. For the most part I only use this one via the API, and it is really good for that use case.
https://binho.io/Lastly I have the Digital Discovery. This is more of a digital swiss army knife. I mostly use it as a logic analyzer, but it has very good support for I2C. Programming is done via JavaScript inside a proprietary application.
https://reference.digilentinc.com/test-and-measurement/digital-discovery/start-mitch