Skip to main content

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. It supports the JS110, JS220, and JS320 Joulescope models. 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.12 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.12 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.4.0.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.4.0-cp314-cp314-win_arm64.whl (3.8 MB view details)

Uploaded CPython 3.14Windows ARM64

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

Uploaded CPython 3.14Windows x86-64

pyjoulescope_driver-2.4.0-cp314-cp314-manylinux_2_28_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.4.0-cp314-cp314-macosx_10_15_universal2.whl (4.9 MB view details)

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

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

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

pyjoulescope_driver-2.4.0-cp313-cp313-manylinux_2_28_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

pyjoulescope_driver-2.4.0-cp312-cp312-manylinux_2_28_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.4.0-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.4.0.tar.gz.

File metadata

  • Download URL: pyjoulescope_driver-2.4.0.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.4.0.tar.gz
Algorithm Hash digest
SHA256 82258ea540d440f44236680dc8a7c8df5f804a73ecd2bf5141b6f88ecd8d1fd1
MD5 6841701414dd2d162255302381d8352c
BLAKE2b-256 63627e71299cf7b082c2917e30f209f31e8be244db5657e39686e299f162f6f0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 f9f4ad3ad4cea685782e19afac7badcced53bbe6493bd2bce450d4d232bb7ff6
MD5 65cce4445cffdd4e276c2b628b26a78f
BLAKE2b-256 0d0e3811c822840f2e999a93fc264fd371458b9917497fb29273bbf004b2638f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c417951b89c44bac3c5f4426f32ecd63863d557488a9dc9391f7f55edfb6916d
MD5 8d64253fc2ed1160d32386a3e19c7934
BLAKE2b-256 48d70a2abd593b1e7da2f2bc9db8d780525c534d69c1cc76398d2ad3e5fa8b6d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cbcb892ea8ee122235ed3a5459ea1a98bde7169629b9d30b20ccdc3e49841d7f
MD5 563f202077f8fb388e8ca22b98bd5b0c
BLAKE2b-256 93e325f0cee901660e2a5c8ddf9acc0cbb6a83b25445b3ff289373fec7649d28

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f1bae589b562c637cce3ffbbbe3085541f8628b68fc4d93a22ea1c2021130665
MD5 fa0b879e24e59d6b75f85fc0136d4ea0
BLAKE2b-256 98f486ad4ab4963b77fcdeea3a262125f05095aded58ca4e3cc4e96abe10d5d4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.0-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 df44edbffd082a5e07617f093751213df3c2ffd01f94e2e0c29e57d43e1cb478
MD5 03e020035023cec65855c48a8a1fe9ce
BLAKE2b-256 26bbc1911edf20ccefc0fd867f71b508275ad524b4717bb3f03604f08444c152

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 65831c53b1eb75e9819f326dfab93bd2b748f15005c926b3e38ca2c02ecc0079
MD5 a3caa2dd17ab89729afa095f6a206d49
BLAKE2b-256 62ac39907e547ae31f3bc2862b9f6a130f99a7c293e7912e370fb224085de99f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d985c0b3c3b93d87f1377ea00dafd8ce0d400da55943ab481d0e0e18c4855e29
MD5 d51d8c419f23d745cc1ad9be6e9db07f
BLAKE2b-256 7846c816b948979bf6797dae6c79dd07ceea92b2b27d1a3422449772dc71da5a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4cf5ee7763e0e50aeaccfeeeb340c610e7638a8f823badc7b2507738b128cf7d
MD5 3a469b47356023ab092b667f8500da75
BLAKE2b-256 bafef6c894cb8e1807ae409a8f243e4dcecc415483d2bb61b0ee420692109966

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9845ad07d7be4fe59db6ec7803e6300041e0839d9efd61cc4f206a8adbef4dcd
MD5 e4c9b23c51b102d5e4160cda5450fe1c
BLAKE2b-256 02410073cb4d681d85adddf2e03d290231d0c8a3213cea785cccd053212922dd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 45f3f3f297b6d9eb61756d2ac153362c92eb51bac06d37b2c86b398757c5c082
MD5 eec020c1ad4664ebc4a7c58fea4653dd
BLAKE2b-256 441bd7f06857c6d94fda3e5807839f721d8ad362ff8679b3f94229d2c55afccc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 697282e555384d7b1c58aa6ff70a39273ceb1cc461169085ad7e22f64de60f0f
MD5 d84f1af2fdc1096be799af56962be5c4
BLAKE2b-256 622ef322f96412ac0f589e05ddbed0ea427cd3bc17e3847012496bce33093a90

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ab3ed1f0ee2f1ab5fd429b21259120c1e4388bf6d68899c4a6f906222c3c65b5
MD5 52ecd04c89548a5f04423ff4618436e0
BLAKE2b-256 76391eb60367f462ac6d3b1c70b9bb0417cd4a631653004a7169a0e0835bac6e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2f23eca3983bd99934082d05d49477fd0e5e7df6497e4ec4f374f0a19bd031dd
MD5 78ba2080dafae4f17a2d8c6759d07b21
BLAKE2b-256 3117f63ad36409605231a4a122e4af371ff18937304307b97e29efe62b5d0534

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8b94e9a61a44f339f1d77433232f9edf2af32a2dffb39fc3a6c506a297b2c11c
MD5 2c68f0f6dc2d21a419f71bb67cbad898
BLAKE2b-256 8e057e1bc340854cf635a202d000c7ef6a51ac3fe7c88cb5bd73d9b0cbe40635

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 ef8da7962c4c8cecdb377a932eaff5899410858344999b6da645f3059a7be8d4
MD5 3a5f04d3fb846fc66bb35f6859ec0bb7
BLAKE2b-256 7801a777fc60186060471869e78a337492b5c105cd7cd87b423d2288207ebce3

See more details on using hashes here.

Provenance

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

Release history Release notifications | RSS feed

This release

2.4.0

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