Skip to main content

Joulescope™ driver

Reason this release was yanked:

USBD reliability issues

Project description

packaging

Joulescope Driver

Welcome to the Joulescope™ Driver project. Joulescope is an affordable, precision DC energy analyzer that enables you to build better products.

This user-space C library communicates with Joulescope products to configure operation and receive data. The first-generation driver introduced in 2019 was written in Python. While Python proved to be a very flexible language enabling many user scripts, it was difficult to support other languages.
This second-generation driver launched in 2022 addresses several issues with the first-generation python driver including:

  1. Improved event-driven API based upon PubSub for easier integration with user interfaces and other complicated software packages.
  2. Improved portability for easier language bindings.
  3. Improved performance.

For more information, see:

Python Installation

The python bindings work with Python 3.9 and later. To use the python bindings, ensure that you have a compatible version of python installed on your host computer. Then:

python -m pip install pyjoulescope_driver

For Ubuntu, you will also need to install the udev rules.

You can then run the pyjoulescope_driver python entry points:

python -m pyjoulescope_driver --help
python -m pyjoulescope_driver scan
python -m pyjoulescope_driver info
python -m pyjoulescope_driver info * --verbose

Note that you may need to change "python" to "python3" or the full path.
You can also use a python virtual environment.

Building

Ensure that your computer has a development environment including CMake.

Windows

Install cmake and your favorite build toolchain such as Visual Studio, mingw64, wsl, ninja.

macOS

For macOS, install homebrew, then:

brew install pkgconfig python3

Ubuntu 22.04 LTS

For Ubuntu:

sudo apt install cmake build-essential ninja-build libudev-dev

You will also need to install the udev rules. If you are using a modern Linux distribution managed by systemd, using tag-based rules is most likely the right choice:

$ wget https://raw.githubusercontent.com/jetperch/joulescope_driver/main/72-joulescope.rules
$ sudo cp 72-joulescope.rules /etc/udev/rules.d/
$ sudo udevadm control --reload-rules

If your system is not managed by systemd or your user is not assigned a proper login seat (as may be the case when logging in via SSH), using group-based rules is necessery (note that the plugdev group must exist/be created and your user must belong to it):

$ wget https://raw.githubusercontent.com/jetperch/joulescope_driver/main/99-joulescope.rules
$ sudo cp 99-joulescope.rules /etc/udev/rules.d/
$ sudo udevadm control --reload-rules

Common

cd {your/repos/joulescope_driver}
mkdir build && cd build
cmake ..
cmake --build . && ctest .

This package includes a command-line tool, jsdrv:

jsdrv --help
jsdrv scan

Build python bindings

Install a compatible version of Python 3.9 or later. To install the pyjoulescope_driver dependencies:

cd {your/repos/joulescope_driver}
python -m pip install -U requirements.txt

You should then be able to build the native bindings:

python setup.py build_ext --inplace

You can build the package using isolation:

python -m build

Depending upon your system configuration, you may need to replace "python" with "python3" or the full path to your desired python installation.

On Windows, you may be prompted to install the Microsoft C++ Build Tools.

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyjoulescope_driver-2.3.1.tar.gz (4.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyjoulescope_driver-2.3.1-cp314-cp314-win_arm64.whl (3.7 MB view details)

Uploaded CPython 3.14Windows ARM64

pyjoulescope_driver-2.3.1-cp314-cp314-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.14Windows x86-64

pyjoulescope_driver-2.3.1-cp314-cp314-manylinux_2_28_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.3.1-cp314-cp314-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.3.1-cp314-cp314-macosx_10_15_universal2.whl (4.8 MB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

pyjoulescope_driver-2.3.1-cp313-cp313-win_arm64.whl (3.7 MB view details)

Uploaded CPython 3.13Windows ARM64

pyjoulescope_driver-2.3.1-cp313-cp313-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.13Windows x86-64

pyjoulescope_driver-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.3.1-cp313-cp313-macosx_10_13_universal2.whl (4.8 MB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

pyjoulescope_driver-2.3.1-cp312-cp312-win_arm64.whl (3.7 MB view details)

Uploaded CPython 3.12Windows ARM64

pyjoulescope_driver-2.3.1-cp312-cp312-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.12Windows x86-64

pyjoulescope_driver-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.3.1-cp312-cp312-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.3.1-cp312-cp312-macosx_10_13_universal2.whl (4.8 MB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

File details

Details for the file pyjoulescope_driver-2.3.1.tar.gz.

File metadata

  • Download URL: pyjoulescope_driver-2.3.1.tar.gz
  • Upload date:
  • Size: 4.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyjoulescope_driver-2.3.1.tar.gz
Algorithm Hash digest
SHA256 eb8aba7d78675ef067b82b03c3fd130f5bfdae06852e5d96d62c4f127bd1cbb1
MD5 161c27dc080badfc4aa2a423a1634d6a
BLAKE2b-256 33bb599d9fab589f5a1c97679bf6501d3202b48a5048da576b1417c891aee0dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1.tar.gz:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.1-cp314-cp314-win_arm64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.1-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 f80056472eeb25c0d3e02627d6d696358d16023089b68d6e55ba4c75516f63b2
MD5 952ef2b213b78b5196fee837e2c89419
BLAKE2b-256 ef5b961442b3eee674d31ad9624687630fded9d5dc764aa40f74cfa536df31cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1-cp314-cp314-win_arm64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 f91dfc6952c2861909a0828373a544481caa738b4d50c934332bdcfbe55ce0e0
MD5 e811b15b15f145c07d16ceb0db0b0d13
BLAKE2b-256 4b561bed05a2a6224c0b57f66d91d86e6fc41c45f81c6e9a34d46da86c50cd50

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1-cp314-cp314-win_amd64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.1-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.1-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 abefcc26fdbd26d6704926a4b9c515a8fe239e92f72de32f21fd8b40bded9101
MD5 567523e967ce8958800e0b4bd5963839
BLAKE2b-256 970030c74e278311f93b10c7165618da1e69a43eba1c073f9f15efe9fdc43e0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.1-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.1-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 55133b984aad901ad67f688ae126b91834435d1457866adaeddbc6bd8e8fcf85
MD5 d08e186c0bd535108bb2a1faf7ff404e
BLAKE2b-256 d71d2536e7f1cd71a104d482ad4687100881a720bb89312513f35f0ad820398f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1-cp314-cp314-manylinux_2_28_aarch64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.1-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.1-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 b4d74253f8e8ecd7e0d6e8da31011b001feb692ee9d967429e6014f20e4a4298
MD5 238eb9e6a4eacbdd70e5f0012f4a3d6c
BLAKE2b-256 a0725cdd4760ad4be95b87bb67325e09ab85cd0940f22c1d8a171f71e8cc3daf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1-cp314-cp314-macosx_10_15_universal2.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.1-cp313-cp313-win_arm64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.1-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 0bae21f5bf1c489e38aadd3c377e3e43e1cd1785a50c5c229589ba1c47b04e75
MD5 a6d68ffba7a6610cc0ea8d0f52caf5de
BLAKE2b-256 c2b47abedd80d4e43167311924ec07f12f947be79a07bb6f699a30cc4d914b5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1-cp313-cp313-win_arm64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 73c2b458d8ccb7d2c68430d8b9dab9977db8718bacc3529cf51d2579b0c350cf
MD5 1ef10d5c7ce177399618caa2a8ad4160
BLAKE2b-256 6937e57477aea1bed87317f81e6570f9c7de4eb12f63b869d014d893d7480632

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1-cp313-cp313-win_amd64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4afc6e3fd5ee5db1f9e72c4ff935465b47fc10994c0d1619e840bb2ae42c123c
MD5 039be5e92d8e9487ba265ce1ae802ea1
BLAKE2b-256 860141898b757adf713d53e146c7272ab350589b8741e79a600af22b95bcfb4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 79a607037086951f1cd3d42ca580653c3cb0b8bbfa2f524ccd24cd005f855b62
MD5 19660df21347b16d793847fcee338cb0
BLAKE2b-256 65d50bedbdadd6b25a74b18f018e434abd48bc84652da18fae9c944f41947bf8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.1-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.1-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 39fa8c46e00cba9a841239638bcffdb2a49a20e5368bb52bde50f4fa47d8eb9f
MD5 61f20ded5ee481283c02a1b61ef93f20
BLAKE2b-256 3c9c3d9f7cde480d2b4d2fcb9d77ee61ef676d1d09a8abec52b35647db66d9d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1-cp313-cp313-macosx_10_13_universal2.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.1-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.1-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 4d7ed911dd44af3dacc26e45d941e4f86813170658038eca3f32ee8cc940e9e7
MD5 8591094dd2ae3a048bf052260b5ee1f7
BLAKE2b-256 441e0dc525e02ae4711c6c784d252bacf7f492cd8e73de676430e7823ba58137

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1-cp312-cp312-win_arm64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 00799a7b5c4c9f401fc82f2c62e5adc210f1f70736c5efbf7c40074a2dd7baa3
MD5 673bb7590a597df5c5f66016e82c8f25
BLAKE2b-256 44b6201c381352843d1251869a7d7779774d5dda1659447d73367a31a1ce01e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1-cp312-cp312-win_amd64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f92a03557c92751b00734cf9fd558889b600a6b3c6bdb0ce97982d8f22e53cc8
MD5 e43e8c9cee815d5009b245d7d75eaa06
BLAKE2b-256 ae25eea7b0a567162bce88544e75e6bd092a0d0df687dc0e4615d3633ff48b5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.1-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 24f997adc556bcbe11af6550e1b7feca6adae208c6649676c309a13f218697a2
MD5 32ade3ad3ef243ae2c2f1477d403f84f
BLAKE2b-256 64089c5863ed89f5c080806c91dd0a672c92a54a57ba827e63d2f3891ff9d45e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.1-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.1-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 6558d681f98d2ded02704dc181abbd7227e77bb4210c4e6a99a2334f76ca97e1
MD5 763d5a5510e7d5fd4f8331ca470ee177
BLAKE2b-256 8951eaa151e5f2005ff4d1d9beadb14c8f6afcd925368afd7af6e8501d0dbcee

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.1-cp312-cp312-macosx_10_13_universal2.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page