Issue with Automation API (MSO device, 2.4.44, Apple Silicon)

Hi, I am trying to do a get_device() using Automation API for MSO device:

I am on version 2.4.44, MacOS host with Apple Silion.

Automation is enabled, server address http://127.0.0.1:10430

I am using the following cmds:

% python3 -m pip install logic2-automation --quiet

% python3 -c “from saleae import automation; m=automation.Manager.connect(port=10430); print(m.get_devices())”

INFO:saleae.automation.manager:sub ChannelConnectivity.IDLE
INFO:saleae.automation.manager:sub ChannelConnectivity.CONNECTING
INFO:saleae.automation.manager:sub ChannelConnectivity.READY

It hangs at this point

Any ideas why? Thanks in advance for your help!

Note that if I swap MSO with Logic Pro 16 (No change in host HW/SW), I am able to get the device:

% python3 -c “from saleae import automation; m=automation.Manager.connect(port=10430); print(m.get_devices())”
INFO:saleae.automation.manager:sub ChannelConnectivity.IDLE
INFO:saleae.automation.manager:sub ChannelConnectivity.CONNECTING
INFO:saleae.automation.manager:sub ChannelConnectivity.READY
[DeviceDesc(device_id=‘5A70BBAA8F54B51’, device_type=<DeviceType.LOGIC_PRO_16: 6>, is_simulation=False)]

For MSO, it just printed an empty string:

INFO:saleae.automation.manager:sub ChannelConnectivity.IDLE
INFO:saleae.automation.manager:sub ChannelConnectivity.CONNECTING
INFO:saleae.automation.manager:sub ChannelConnectivity.READY
[]

@yi_han Sorry for the trouble with that!

For Logic MSO automation, you will need to use the MSO API linked below:

The Automation API linked here (where get_devices() comes from) is not compatible with Logic MSO.

Hi Tim, Thanks a lot for the information! Let me try it and get back to you if I need more help.

—yi

Hi Tim, Need your help here:

After running cmd: “pip3 install saleae-mso-api --extra-index-url https://downloads.saleae.com/pypi/

I am only getting a defensive package. Any idea why? Thanks a lot!

% pip3 show saleae-mso-api

Name: saleae-mso-api

Version: 0.0.1

Summary: Defensive package-name reservation notice for a potential supply-chain risk.

Home-page: https://bluebear.io

Author:

Author-email:

License: SEE NOTICE.md

Location: /Users/yi_han/Library/Python/3.9/lib/python/site-packages

Requires:

Required-by:

Hi, I am able to install it now (virtual environment helped)

% uv pip show saleae_mso_api

Name: saleae-mso-api

Version: 0.4.0

Location: ~/.venv/lib/python3.11/site-packages

Requires: numpy, psutil, pyusb

Required-by:

But encounter a new issue when running the sample code from Getting Started - Saleae API Documentation

% .venv/bin/python sample.py

Traceback (most recent call last):

File “~/sample.py”, line 5, in

mso = mso_api.MSO(serial_number="7B33M")

      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File “~/.venv/lib/python3.11/site-packages/saleae/mso_api/mso_device.py”, line 40, in _init_

self.wrapper = wrapper or MsoWrapper(serial_number)

                          ^^^^^^^^^^^^^^^^^^^^^^^^^

File “.venv/lib/python3.11/site-packages/saleae/mso_api/wrapper.py”, line 136, in _init_

if proc.name() == get_binary_tool_path().name:

                  ^^^^^^^^^^^^^^^^^^^^^^

File “~/.venv/lib/python3.11/site-packages/saleae/mso_api/wrapper.py”, line 62, in get_binary_tool_path

path = repo_root / "bin" / TO_PLATFORM_DIR\[platform.system()\] / f"mso_data_recorder{suffix}"

                           \~\~\~\~\~\~\~\~\~\~\~\~\~\~\~^^^^^^^^^^^^^^^^^^^

KeyError: ‘Darwin’

Exception ignored in: <function MSO._del_ at 0x102a41260>

Traceback (most recent call last):

File “~/.venv/lib/python3.11/site-packages/saleae/mso_api/mso_device.py”, line 104, in _del_

self.close()

File “~/.venv/lib/python3.11/site-packages/saleae/mso_api/mso_device.py”, line 101, in close

self.wrapper.close()

^^^^^^^^^^^^

AttributeError: ‘MSO’ object has no attribute ‘wrapper’

I am on macOS 15.6

Thanks for any suggestions.