こちらに解決策がありました。
問題は libusb の動的ライブラリが pyusb によって見つからないことに起因しているようです。Homebrewを使用して libusb をインストールした場合、そのライブラリファイルは /opt/homebrew/Cellar/libusb/1.0.24/lib に配置され、/opt/homebrew/lib にシンボリックリンクが作成されますが、pyusb はこれらのパスをデフォルトでは認識しません。
とのこと。
パスを通すと動作しました。
echo 'export DYLD_LIBRARY_PATH="/opt/homebrew/lib:$DYLD_LIBRARY_PATH"' >> ~/.zshenv
source ~/.zshenv
サンプルコードです
import usb.core
import usb.util
# USBデバイスのリストを取得
devices = usb.core.find(find_all=True)
# 各デバイスの情報を表示
for device in devices:
print("Device:", device)
print(" ID Vendor:ID Product: {:04x}:{:04x}".format(device.idVendor, device.idProduct))
print(" Manufacturer:", usb.util.get_string(device, device.iManufacturer))
print(" Product:", usb.util.get_string(device, device.iProduct))
print(" Serial Number:", usb.util.get_string(device, device.iSerialNumber))
print()