def get_devices_by_parent(self, hid_filter=None):
        all_devs = self.get_devices(hid_filter)
        dev_group = dict()
        for hid_device in all_devs:
            #keep a list of known devices matching parent device Ids
            parent_id = hid_device.get_parent_instance_id()
            device_set = dev_group.get(parent_id, [])
            device_set.append(hid_device)
            if parent_id not in dev_group:
                #add new
                dev_group[parent_id] = device_set
        return dev_group
Group devices returned from filter query in order         by devcice parent id.
dataset/ETHPy150Open rene-aguirre/pywinusb/pywinusb/hid/core.py/HidDeviceFilter.get_devices_by_parent