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

Uploaded CPython 3.14Windows x86-64

pyjoulescope_driver-2.0.5-cp314-cp314-manylinux_2_28_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.0.5-cp314-cp314-manylinux_2_28_aarch64.whl (6.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.5-cp314-cp314-macosx_10_15_universal2.whl (4.7 MB view details)

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

pyjoulescope_driver-2.0.5-cp313-cp313-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.13Windows x86-64

pyjoulescope_driver-2.0.5-cp313-cp313-manylinux_2_28_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.0.5-cp313-cp313-manylinux_2_28_aarch64.whl (6.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.5-cp313-cp313-macosx_10_13_universal2.whl (4.7 MB view details)

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

pyjoulescope_driver-2.0.5-cp312-cp312-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.12Windows x86-64

pyjoulescope_driver-2.0.5-cp312-cp312-manylinux_2_28_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.0.5-cp312-cp312-manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.5-cp312-cp312-macosx_10_13_universal2.whl (4.7 MB view details)

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

pyjoulescope_driver-2.0.5-cp311-cp311-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.11Windows x86-64

pyjoulescope_driver-2.0.5-cp311-cp311-manylinux_2_28_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.0.5-cp311-cp311-manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.5-cp311-cp311-macosx_10_9_universal2.whl (4.7 MB view details)

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

File details

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

File metadata

  • Download URL: pyjoulescope_driver-2.0.5.tar.gz
  • Upload date:
  • Size: 4.5 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.5.tar.gz
Algorithm Hash digest
SHA256 764f404f713337bba79197529bf01d96316b2bba10c9d0051d9a4da2295c444d
MD5 20758a065f548a980e248812193d5fc6
BLAKE2b-256 040ba3db71323e012f6d478726114d72a785b7b3de81b514296aa531be1954d1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0261a3e7f59f8615601cc3c155f4a41ef053e9b2f35649ffa54026f969881520
MD5 ba8ac56f0a2333be9ebf24755b637c46
BLAKE2b-256 77f1ece8c73ddb10c80a004f8f4467851265d46b6413f2d5b4888fc9f505a19e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a4879c9c32e486aae7ea2feb0414c232aea8fea2ea8510b42ff6a01a4e2b47ae
MD5 a52ac368d0d27afd397deb765fe03bec
BLAKE2b-256 d827d81cd63aa539e35e78b38c80bf1b204337ea4ed84284902663b15a5ba925

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 db19ac6585a27b4f8def02819245a02aa930c698129d987e2537e50c3af1c60d
MD5 909469527da91ff19aa62aebda558a5a
BLAKE2b-256 333d63dea01d1e074d475507193f569ba0ac82930dc8240f0ecb4a55457ea4c1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 62853c3bcbb78773356edd0f56e7ff9eac62802f37cd3fc9e456fcac6bb219b4
MD5 8d5c2cc5da61a11470894d3e21f050ef
BLAKE2b-256 c7da0b8b823063cdbe8c28b73924de3def6f13d40663800d640a7f16c0b91da2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 88baadebe518c95e4ca733ad688a19d703096cec53182b6c65118668b70bad13
MD5 9dd0cc3d74d3b43753c01d017cf92184
BLAKE2b-256 27b3fec1e9f79d1072c9502e8aff718853b7b0e03ac8ae99d2b747c65dca22fe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5a76151afd1b7906c3c3422ac5fa35489009938ecbf4ccd9963220052b290d5d
MD5 ad0f5784a477060aa116cf829fafcbb8
BLAKE2b-256 03ccd1b0820515e4ab80534454fd13ab85117994d1a41ab69b817a44ffdb27ae

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d35173ab080ee0d553d7c6346d34373a243f4e8ea1b15cdefab1ea5c183017d6
MD5 217e4c86bffbed6a16855bfe4c40d16d
BLAKE2b-256 556098fa57192d13292e0db2943286abfb80a174c8fc8bf237bf6d9b6e69f175

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 7115d1f9d022b8cad669c163af91198f6a0a6e6f322ee10f789781ab5ad4b5be
MD5 8fe888b0ead71484321e79129faddcbc
BLAKE2b-256 79bc2e01407762836dd16b303f4adf20e3624f4770d450e826b64dbdb701a456

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 defd65875950c5dd47ef60f38d358ddc6f5e46dcd90de59cfa6267d91851054a
MD5 b78b5848f85e1e09debf4cd281a3d0f2
BLAKE2b-256 a307f6b99957f32e35af38928df5a22f6ae095acb6b34b9418fcc1af38d57102

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f3a313299e72f4c850f11f7f9f49b4d32e997ce6338f5aed0fe46d9c1764e862
MD5 42f256d3d2c50c6dbee910f7eb5488ba
BLAKE2b-256 ccb14ee5a1aa8e10c4b5e3ae19fed43bd410f2f08cb74bead87141e9c2519371

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c562d4a3cbf57f0ed8a0fa9a65ad8a8fcc11a40b2c9cc1842e1cf37dff4e25ac
MD5 5e3e50341ec51a05928c7fd89356463a
BLAKE2b-256 57b893702251e0e97d9c08fc9693840a7b3c62b9347f6df3f34551b7cd41cb7c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 870a77a38d9afa3efc1134f618b934d5c266fb8dd785fe99437aa1023b25786e
MD5 6ba785c8b9863ca4b93b94949597db92
BLAKE2b-256 bd08f5662f8e0731b7c4789d5e076a188c72a461a53b9bcada4ff3b2359f743c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.0.5-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.5-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 57731e2e27b6da5d70d21169e9721669f6c69a97706a3cfc6aa63b2473a27f22
MD5 c8154097cd42d3a612cbc55455487881
BLAKE2b-256 115096321e481ccc9dc10ccf7a281649c8f4ecf8d5d92762c35fd1f3180ac504

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 964a296dc0397d166407aff8657730f2685af948fe9066cd48e2860e76f8d844
MD5 806c699df803cb2811487a94fa37504b
BLAKE2b-256 2226014e718bf21552d9d41fbd26f9e09069a20311d78d89c878cf730cc48149

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 34749db7e452e400665350cdb01c2f6c271f9f220ac92716e92602068aaa756f
MD5 96f3d45d638c26f390367d51f1d76ab8
BLAKE2b-256 82e35423583aeff3f175dd6cf6f931aa8dd76f5348b27f9e5631db3c5c8daf21

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.5-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3e10e48ce335373ddf9f67d85b2e6e0730a67806fd620fb84dcc065e5304f4ea
MD5 669027082e30f64dd8862e25cede55d4
BLAKE2b-256 5aac6bad0177870dea0dad0884ac9e693db1972b3b4ec54d304d90fb9ad295a1

See more details on using hashes here.

Provenance

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