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.3.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.3-cp314-cp314-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.14Windows x86-64

pyjoulescope_driver-2.0.3-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.3-cp314-cp314-manylinux_2_28_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.3-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.3-cp313-cp313-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.13Windows x86-64

pyjoulescope_driver-2.0.3-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.3-cp313-cp313-manylinux_2_28_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.3-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.3-cp312-cp312-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.12Windows x86-64

pyjoulescope_driver-2.0.3-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.3-cp312-cp312-manylinux_2_28_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.3-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.3-cp311-cp311-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.11Windows x86-64

pyjoulescope_driver-2.0.3-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.3-cp311-cp311-manylinux_2_28_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.3-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.3.tar.gz.

File metadata

  • Download URL: pyjoulescope_driver-2.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 954017b8bab5fc2e62c2199daa8c561e62ba14df75e67e2c9d4fb27a2e76e512
MD5 a7a2b2e946f42f3be5e980e2e6c1c3d1
BLAKE2b-256 6f5762233b3da3d0ad3395ba147b6db3a0db579c88016c8fa3c68d0c22d8bad5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a7b1e36bc3b2ef1926b328110f49157280f0eff48fd4d0becf5e5a7c82372771
MD5 e898f08280742608571e90a499bda1d4
BLAKE2b-256 246629c5baaa4ac1af158a364e8c9c6a3700a3fc925a9286db798b6582803c16

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c3ed4a23b2fd3f4baf800b9aa1027f63721df7e01fce46eb0eba38d42414b444
MD5 a41683f441006db412de5d5afd8af727
BLAKE2b-256 3189cb62dba60e6ae8c0ddf685c09a70fd1b8e44f08c201b8326a7d330281851

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0f79f1aeff752632b497af154ebb1bcf3e829a71d5f42acf0d0659a8f0823162
MD5 e744511ebfdd8fe5cc42a81a08b9c599
BLAKE2b-256 26e3d99960be99f87a53c53e57526bc17ce664bb856ce7f67015f3107a428877

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 846b9c5dc6eb3c5a3d760f0bdf7a5a3ef472e98fec9259d06ecc9e87666341a2
MD5 dce3e35932e261871cca58d84b5c7e60
BLAKE2b-256 39c388fb64a5d1b4cfdc806ae0f5bd782484e7cff5ad381482d21d86f8f7d36e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a2a9ee0fe51aba304111d485da3d49d8c4254b27bec1f5bd1e6760c1c5c38ac1
MD5 20819dd5d55b74c8545034d2faeef961
BLAKE2b-256 f560c4cfda9a64f9791e6aa2b934b550a6ec61bf926ddf9db16f529b9c30847c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 47de554fe368d67f072e4662cbb8e367963a6c5ce63e849d3d158197b0ee3acd
MD5 c0ff085384934a913f12b8ef18571f47
BLAKE2b-256 3ebd9dc2ea5623b42f04312cf59c6ef7650e9c98725969e450157917f4ca4b66

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2d9e08b858560929812774c09abb67be9bd686a212a16d3e6a7a014eb28b0e45
MD5 4d62a33fa0deb6ed07f9c35731a71a3a
BLAKE2b-256 f2dec09d8f6b4ac79cae25330c39b6f6b3aef13b59714f96c96ab5b240dbfea5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 31b339d883cf5bfb6457eb2a2f1e5cd3cac7b05ec6f02412a45664221de216ee
MD5 1ff220ec0249b0609ad92afee69b0627
BLAKE2b-256 bbd8473dfc308b9bac9e5544a39b6ca97992ac6537015de79002fc65b16c5e19

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 05a5ed73b7b4cf4a72ae9e3267037f2742686529a686ca71a42178b0b7c41e66
MD5 bd52956a6b05fbe90efd5c7fc5929edd
BLAKE2b-256 081986961194b2791f49b848007cd0ab5b178e68002b370e3130108a27da9da9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3b32521e4ac41f1f1d6c0965925b7d4e35c615bbe7a9874ed19e7e46a1e0ef04
MD5 0e1300049ced32ebbb0926ec60256813
BLAKE2b-256 3362360e58403d71f7fb97472f11c4e5c8fad7cd3090d56dcef83335aaf5280a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2b27bf6f6ab54f2e49e6e136ac3fe95065eb90e8861d15a69cf4623ccfcc823c
MD5 a60ac99f11d8f9a471f640c91db0947f
BLAKE2b-256 3b0d73c070427086aa442b1a8b77bd528499b9c92e77549853765ff6139326e4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 70cbf1e24541beeceaccf3c5ad074ed257d851cfb7a494c638013174dc218402
MD5 cff09ff76d39793d01a0463a3a484d1e
BLAKE2b-256 675f5224a02548e35d6e7dbef11ec483fb894dd49a878faf456330b8338a6d1b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 dcd91892245f117cac695c9dd3dad5d5242b20daa1e7df52c4f7381d436c3931
MD5 6de28bf1cff6a14636f8618161631e45
BLAKE2b-256 e1d7c406a2e7a684ef477a1220bbad1bf2f43a5cc0f8daee88f9a3d31e44fc91

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e2bd50cfa37ac4b5698e6903833939c89706f870c4ddeee74f2803535170cd5e
MD5 009900e351541a4b381db222e3c446e3
BLAKE2b-256 a8de85fd7a39cf495e1468fb7173c6733ef5bc6af1ff5bf5846c073513684287

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2374d61ce25dca724d07ba10e1978846535c678c4070782ed153e4a961e826f5
MD5 4604853ee54e5fbd49359168c183b6d6
BLAKE2b-256 f67041b977e593759a6edd673b93a2e19ffa5725f488e33cc0aa413d1f721869

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3f925ecd35f25f5b122db00993d4cfb6720de8d5830a112d401d466b5b80b582
MD5 ff5f312124478ea87ef83e6d3134ff4d
BLAKE2b-256 efa27cbabf4b607e4c4340810536e9bb20b9abb6c290786ab9631833da13be1d

See more details on using hashes here.

Provenance

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