LapI2CTop supports a branched topology I2C network, using the ubiquitous TCA9748 multiplexers
It performs discovery to find each I2C device on the bus, and assigns each a deviceID that can be used to setup the path to that device. There is a configurable limit of 64 I2C devices. If you need more you can change that. All that is needed to access a device anywhere on the bus is a call to setbus(deviceID) before talking to it. It's that simple.