RuntimeError("no devices found") while using pyjoulescope_examples

Hi,

I am wanting to control my JS220 Joulescope through the python command line so I can record high speed data on trigger input as well as run the energy accumulator for automated testing of a battery powered device.

Unfortunately I seem to have hit a block where I can’t get the python joulescope package to connect to the hardware.

I am using:
Joulescope JS220
Windows 10 Pro 64bit
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32
python packages pyjoulescope_driver and joulescope have been installed successfully

I can run:
python -m pyjoulescope_driver scan
and it gives me the joulescope name and serial:
u/js220/000763
I am trying to use some of the examples in the following repo:
https://github.com/jetperch/pyjoulescope_examples
I have followed the README and installed all requirements.
When I try to run:
python bin\capture_simple.py
I get the following error:

Traceback (most recent call last):
  File "bin\capture_simple.py", line 33, in <module>
    run()
  File "bin\capture_simple.py", line 24, in run
    device = scan_require_one(config='auto')
  File "C:\Users\mattc\AppData\Roaming\Python\Python37\site-packages\joulescope\driver.py", line 1353, in scan_require_one
    raise RuntimeError("no devices found")

The joulescope GUI program has no problem connecting and recording.
pyjoulescope_driver seems to be able to connect to the hardware no problem with:
python -m pyjoulescope_driver statistics

I see in the pyjoulescope_examples repo some of the examples use the “joulescope” package and others use the “pyjoulescope_driver” directly.

Why am I unable to run the examples?
Am I missing something?

Hi @emc and welcome to the Joulescope forum!

The issue is that your computer is using Python 3.7.3 from 2019, which is end-of-life. You are installing the last versions of packages that support python 3.7. I am actually surprised that pyjoulescope_driver ever supported 3.7. The version of joulescope must not have support the JS220.

We now require at least 3.9 (3.10 for the UI). For new development, you should be using Python 3.12.2 as of Feb 2024. You can choose to use 3.11, but most of the package maintainers have caught up to 3.12 by now. Although we still build the official Joulescope UI releases using 3.11, it runs great under 3.12.

Visit python.org and download the Python version you want.

As to the choice between pyjoulescope_driver and joulescope packages, you can use either. If you are doing simple things, joulescope is easier to use. We specifically designed the pyjoulescope_driver API to make more complicated applications, like the Joulescope UI, more reliable and faster.

Does updating your python version fix the issue?