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.

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.4.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.4-cp314-cp314-win_arm64.whl (3.7 MB view details)

Uploaded CPython 3.14Windows ARM64

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

Uploaded CPython 3.14Windows x86-64

pyjoulescope_driver-2.3.4-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.4-cp314-cp314-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.3.4-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.4-cp313-cp313-win_arm64.whl (3.7 MB view details)

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

pyjoulescope_driver-2.3.4-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.4-cp313-cp313-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.3.4-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.4-cp312-cp312-win_arm64.whl (3.7 MB view details)

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

pyjoulescope_driver-2.3.4-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.4-cp312-cp312-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.3.4-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.4.tar.gz.

File metadata

  • Download URL: pyjoulescope_driver-2.3.4.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.4.tar.gz
Algorithm Hash digest
SHA256 cb1fa819f31620cf72ed96789ac6b8794892ad2b116e32a387c72e393f6163d8
MD5 38c52c31974b7f244e1e3fc35ede3949
BLAKE2b-256 ee8c778b3ecf6df8b2354913cc5000e2e4ae85b0a598a6df755fe303b05eec4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.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.3.4-cp314-cp314-win_arm64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.4-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 9ab5400ac792dc97fa894ff88e7595a332b0c992ddb43bcc09acc7b1cba4fa02
MD5 08f3783091db1928a62ce617c2c92674
BLAKE2b-256 3aee9e50761820517db589e33ff238f62f140ac01569d78ba4d9188f29ae47fe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 badb6bfaf2a18bf71f038fd9f74ba0669e2a970522d766c604c305fb35a88640
MD5 8c794a903f98ed230fe3f12d89b52b5b
BLAKE2b-256 46c031827d3a09fe523d50f90236bfca8c3910cdbcc84c83eea13cdce1aaab49

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.4-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 26f100c2c4105c1e00ee32ef3f88f38b64de8007a89919a037d55b04d22ffeea
MD5 ebb98a0e92cdbb934ba4de414e3029d7
BLAKE2b-256 c12b057f538aec733ad657233220fefea8a6c985db4df9e880f68e5d9c24c7c7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.4-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6dc7a8578e50f9452bca6e8d7d495243b0287fbd1f7591648031366b4ef0efcd
MD5 39aba842fb801c7de83d0e64c702a431
BLAKE2b-256 18e9cf057508bb7ddb9f538a6a63fa2619dcd53639c048d0683b40ca5d265859

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.4-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 333d7dedc783bbb8a83066a0cf17bd612de6ff5db4977d55520aa13b583945e1
MD5 1fd16d62a830035ba1aaa42122e0c992
BLAKE2b-256 04404c6878e1f1e3d4f3070e844948c4782e3144812f1572e9d1b458f9032ed4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.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.3.4-cp313-cp313-win_arm64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.4-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 524b6c89af73c94b3766a14796588d4a04b81028c0a949c02abcc84724ac5263
MD5 a46bc0ccfefce541172c06d6e87849ee
BLAKE2b-256 b58d183cad41ec25735035c2a27d9a622267a82f5e0ef3b8b288618e75a5bd4d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2e6329ed37fa394a03b8af64a9162887f2e5cb72a8005522153006213200ea88
MD5 c77f40f1f203923aef61756f30a6fa69
BLAKE2b-256 eda1df9730e3b37509513d286a6fce940580ae76ba1c4bc872969f5367e3157c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.4-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2317efaefef03b2cdd662dec1cd4df55e0c1bd953f0805f32bb42d15413cecda
MD5 8ad380f45ef740daf585901642d22553
BLAKE2b-256 a0651f33580b3f0cf695b4a8fb2f5a319f197995273e99cebd061203502389f4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.4-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0643e50f8d0eb9889a7eaf7d48bcb7f87dfd34924ad6e5f78c76f6b25afbe2f8
MD5 16471f19f3dd165b91438d414f568b41
BLAKE2b-256 3075c8deac47ed7f7df3a3bc10f2201b5509ccb421ec030bc884d09f1b434cdf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.4-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 02ebe1b948c1451af187fee3614375d7717bc0e3b90f1db876893e851c5ad2e0
MD5 24168181e38f33c1c0f05de8449d6b3b
BLAKE2b-256 f7bbdd49776c867fed293254d3c82247b655df9e7de97d4352fb278b5877fb47

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.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.3.4-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.4-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 61635710a9edfd4665a4afc15f82bf7c20cf7b87d646ac0d613c9204902d5edf
MD5 a1f1df2f8ad511c62c59f1e71a748513
BLAKE2b-256 d2013aa621def2084bc8fc27c80512b39e37de4fe1524342976532c6fb256729

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 794644dd6097a3da160bc25199e17a86fd1a482ecb21d60e9fefa3b2f68bc186
MD5 5f60351915ddcc9a973dc3838dde6cf5
BLAKE2b-256 0b78aebdcf33bf87fe0e8825328314c612484141b4b4d2e4d09a05e5afff6ebf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.4-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 44a1ecf8aa83ff9967f10968e6e2ff84d30b3fa54eee3367ca68aec1063af932
MD5 e00b0299a6fb7a52fa89fbcb037d4d0a
BLAKE2b-256 a12e10b3cdc841fe905bb7802e8a0144f405635abefb4ca06f123bdfeaa7ffb8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.4-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dec66f3d7fe332b61f8a981e716726db3a200d7f935ab5857dfef08bf923f9df
MD5 a6d1482cd40529dfe0742d0f672140e6
BLAKE2b-256 466c9d95adfeb3588db885fb1b982816a5d73278da977405fcdaffa914bd8870

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.4-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 1aac538e157e9053132f1b915ffa67443dfd3784e4e4fcb954bcb6e497a8de61
MD5 c770199a0829982037772b9fc062f58c
BLAKE2b-256 b60c9c82ad4e6f6ad2fd6f44ec429868fdfad763e8e2dcfcee869818ee108eec

See more details on using hashes here.

Provenance

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

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