Skip to main content

Joulescope™ driver

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.

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.0.4.tar.gz (3.7 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.0.4-cp314-cp314-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.14Windows x86-64

pyjoulescope_driver-2.0.4-cp314-cp314-manylinux_2_28_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.0.4-cp314-cp314-manylinux_2_28_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.4-cp314-cp314-macosx_10_15_universal2.whl (3.7 MB view details)

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

pyjoulescope_driver-2.0.4-cp313-cp313-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.13Windows x86-64

pyjoulescope_driver-2.0.4-cp313-cp313-manylinux_2_28_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.0.4-cp313-cp313-manylinux_2_28_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.4-cp313-cp313-macosx_10_13_universal2.whl (3.7 MB view details)

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

pyjoulescope_driver-2.0.4-cp312-cp312-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.12Windows x86-64

pyjoulescope_driver-2.0.4-cp312-cp312-manylinux_2_28_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.0.4-cp312-cp312-manylinux_2_28_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.4-cp312-cp312-macosx_10_13_universal2.whl (3.7 MB view details)

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

pyjoulescope_driver-2.0.4-cp311-cp311-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.11Windows x86-64

pyjoulescope_driver-2.0.4-cp311-cp311-manylinux_2_28_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.0.4-cp311-cp311-manylinux_2_28_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.4-cp311-cp311-macosx_10_9_universal2.whl (3.7 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

File details

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

File metadata

  • Download URL: pyjoulescope_driver-2.0.4.tar.gz
  • Upload date:
  • Size: 3.7 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.0.4.tar.gz
Algorithm Hash digest
SHA256 42838c8d4396990431b5c8c08f73e57bff28e0f18ce3c25f4202abdff801503b
MD5 e44b7bf7f3ebac57e6ae9d41591e36f7
BLAKE2b-256 6eecfd9995070e3c229e0311e7cbc08872bf1981e4665d4c579bf41d09c27001

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4.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.0.4-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 39c99de244675f3396c7e41dc21792a0ccd432010e807533837617b7d0e0d8c8
MD5 58aacc6c4b59d1152adac6e824d4d484
BLAKE2b-256 e168ac6b0f01ccdeb2284a35c267e4507064f0fdd58862e52f4c5eba482c7ce3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-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.0.4-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7d0eee54c3749544b19524179d140e643e20b2c02d87017f7ecf9e60d9331fbf
MD5 6adf01b4f4b5e941a8c08f067ba36b65
BLAKE2b-256 64576234a81adbcacb5f5e15f193a96a762eea34c61f920f91bc56c1f4be7965

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-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.0.4-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7b6dff05d34707c2f0f567a38774143a12738f48a20c871e4b2c2c005063778c
MD5 dd91154645c5f13a7a1c8005537bf652
BLAKE2b-256 963b59bc1fb2201534032465bc0def829696f0e38f4c2fd44bfa8deab9a32f09

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-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.0.4-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 0fc092d8adfbb75db87adf443d26c75a57b5abb60ca56cfe2a2c15c33883f2ed
MD5 579f176cb3b00492fad3dd3c33731365
BLAKE2b-256 3edfe51118b14a16906878bf1614d5d1ebf1a49fcac03b56d03e60a83303efb3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-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.0.4-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 00e413233a681c0feb34150bab29629f77c2e34565127818f7ee05a86c1a1c8c
MD5 48103aaff6476d7c00ea96cd0f1ca1cd
BLAKE2b-256 126dd2ee58cd2640f8f51f701fa8b6f7bfe1ecc2af0e80693896a314d3c6dd0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-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.0.4-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 358c67b494fcc78e446f62ec684a606bf2055c54980090b8b867d82550023bc5
MD5 35d09c2f9a3e099f284d67acbd3defca
BLAKE2b-256 2a6f36f9eaba66545df07f36aa145462315cfb4d253de1d8d4ca1937377fa1c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-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.0.4-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6ee922ddf95aedf468ab4e4f57d5efa901e77f938604950991f9f587e90d8d3c
MD5 374bb570463bcd356d6961f28f580392
BLAKE2b-256 bb5190495c132f29940518bbf22c63b090aa8ecfcd2fcee91c9adab4dc8cea70

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-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.0.4-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 66481f884ba1e5726ac7eb26a9df6af7e41c932877a7a25a81723fcfccb7a29d
MD5 28da7acb7fb7e0044aaa8039fb206595
BLAKE2b-256 f969c12bf70fcde1491b86d4ff1eaad6d535a1d6ac8ffec4b56c5120c18becc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-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.0.4-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 84cebb80668ae2f81aa3fb7f641ddc3c6d257f0c3feec7c1b5dfc78facc8ea3b
MD5 1748feffcddcb509ce7d1c27cfaac134
BLAKE2b-256 b60c3a44ece3d5adae92519116d42be94aa53e75ee0c61e2edf30b4ff7c7361c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-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.0.4-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 33ca921d6f5dd771081cd1f3e1b9126404af968f648cae6c745f64b60e20b163
MD5 6e38bb1257c98db3517a3cac9549be43
BLAKE2b-256 f1e3228296b2129f970a9a93c1adea97b05b8b7011c1e6caaa99b18dac3c3d3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-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.0.4-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a8082ce768086b0e7cd1444a7bea7d93c0e05fbf096b258d1e4b4cc1767f0404
MD5 2e395ad912ef4dc44db88870fffad4b0
BLAKE2b-256 28884f377366636a9f022de6a4dd5000ad813eaaecd68493eecd7eed83b19df9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-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.0.4-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 a46115a2e1241bac0db2359dc756611c1d7bb49901c2fe3840b1e218a09c1587
MD5 ddea370ee25775e8123946335193f66c
BLAKE2b-256 e8fad5fbb80e38ea16cd53a5cee255aaacf40263937d24b0c2a492dde331039c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-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.

File details

Details for the file pyjoulescope_driver-2.0.4-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4c7174aa65844b9a0e315c625f25c1281997d84fda17ceae64c4c082d5515e51
MD5 7351326d75bd3f76f882042ece16ef63
BLAKE2b-256 4f8601405f4d9efc00493d2005933cf4bb2541b5fc25850aea209001402f39bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-cp311-cp311-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.0.4-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f587d8f9638ff5b265a4467f05af4978fbc159d01a6ed50fb97cad91003a9fdd
MD5 306bb68757c908b44a67f5de056bd5df
BLAKE2b-256 31e3d87b2118b0931f11b7d76b7ede8c8cbd05b60caee51123947df54ccf94fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-cp311-cp311-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.0.4-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 42c2551f257386b5b23a3aea8e981fdb6004591e8a8e6c3e81d1eb906a665649
MD5 20be5dafb5389ff6a20e9e81b449dd7c
BLAKE2b-256 77694c272d9894e263ad7ae8945998a8ee6b1c75d265a7912ec152891e618a11

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-cp311-cp311-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.0.4-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.4-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7f54222349cb79b70ef245ef9a8b4e48766a0eaa18b5872e4cb0b26e53d5f963
MD5 64d6f22aa6ccaabed9ea0875792e8fad
BLAKE2b-256 195db83a8de3ce8c1bcfb1c1b99d16a25101bdab36ff3526004dfc332dace779

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.4-cp311-cp311-macosx_10_9_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