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

Uploaded CPython 3.14Windows ARM64

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

Uploaded CPython 3.14Windows x86-64

pyjoulescope_driver-2.4.1-cp314-cp314-manylinux_2_28_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.4.1-cp314-cp314-manylinux_2_28_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.4.1-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.1-cp313-cp313-win_arm64.whl (3.8 MB view details)

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

pyjoulescope_driver-2.4.1-cp313-cp313-manylinux_2_28_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.4.1-cp313-cp313-manylinux_2_28_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.4.1-cp313-cp313-macosx_10_13_universal2.whl (4.9 MB view details)

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

pyjoulescope_driver-2.4.1-cp312-cp312-win_arm64.whl (3.8 MB view details)

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

pyjoulescope_driver-2.4.1-cp312-cp312-manylinux_2_28_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.4.1-cp312-cp312-manylinux_2_28_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.4.1-cp312-cp312-macosx_10_13_universal2.whl (4.9 MB view details)

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

File details

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

File metadata

  • Download URL: pyjoulescope_driver-2.4.1.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.1.tar.gz
Algorithm Hash digest
SHA256 4dd6813044b8d35e45b398cc78acdff9a41ccd44247a8a9b0216ae3758266912
MD5 98ecb27196850eab456b7010c2bf2ee6
BLAKE2b-256 eab36f77a6588e32f7f66197be29d27aabe691dd9159428c4bea38bf1c39663a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.1-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 4dd9a2f78f01530e733148f2e5969aa3659679f323957eabbc413ed13193f62f
MD5 248183ef95cdec399f7ad40ee0505a37
BLAKE2b-256 72a90ec86dcf67e373558a68cbc7f3dbef1a91a3ca43229870eec4f38a77c904

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ec93e91abfe13003881e64b83dfa9bd742f039bd88d4f5fd0cff0d97760fbd6f
MD5 8a865d85f39d5e8103538bb0f6d7e3a2
BLAKE2b-256 dbf3239f61589ce3be59c29c4aa62e39190063042d74e175e74815eff5983a76

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.1-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d7623805d64fe3d744c73ff3991ba46998ed02d1fc9eaaae644e10d6e869d768
MD5 e1973021e2b3a4a4826c6d649d2445f7
BLAKE2b-256 edb163de8ae71d9cb656a62423a75efa28f3f9a057ea66d21f02a658fc2e7e14

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.1-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f928f87c5e80fbf2ad723101c3f55458df24684b69fc23fc62a89c3163ab406d
MD5 acb33a53f6ae9eea7b76454e93b55683
BLAKE2b-256 d54f8b1c767cf18df16f05a4f820773f76723e7b881cb6950bee3453d341b859

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.1-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 e7a10f1f8b92a06e4fd702df6492f73ad1579132676fce9991a88c653153d287
MD5 b050c6833b6a19d80778940fd4b1bdfb
BLAKE2b-256 7ba8851bc694b24ad093e4e31edd8717f9e6092fd60034d1c1ca2a8a1047c4ac

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.1-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 ff21c67802e7d46b3351557d41fa71f428a1c01dd71de6e5d91ec9cc1d0d04a8
MD5 121aa7033d69302c2934343d06dd0238
BLAKE2b-256 2d55d3939b5e5efe57654520f56f03ef2ab4c6f3f5c8c06d5cf9b8a001805caa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 491aeee71702e8d72fccd2f6dc8f06deb3f0ae7d874f9f1aa98cc661f8289549
MD5 9df672c380aa8e5286ca76546e7c7b34
BLAKE2b-256 7758e27d3a63dc707bcd34fb0b28163ab8bc33ccb6d1f634f890fa2cbb26b4f3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 94dfb9d59c69c90474d7a285ccb3ab95714684817e0f1392a7a951e2ca097699
MD5 ac60b9de17af0f223547f6cee67ea303
BLAKE2b-256 a442e953ce2606028f92c8671e26de7eb878c68878449cdd59c41df04a39a985

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.1-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 df1d708fee43bde2cf502baecd8ff93ed9d6e0a5276da28c9595b00784ce5c2b
MD5 75faba74d393775f6db644416b09dd54
BLAKE2b-256 b48626422a013a8092e571ecfc54339dbd3790112db04d796d2beaf51b12a216

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.1-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 19c04f7bc406ede84b7eb960a3d42173ac309dcdb8a8d0512a49277eb6b74eb0
MD5 289845a9df3b5933083cda6e15714a8b
BLAKE2b-256 6ce66f5d55120c0e28a9fd63ac256534f70423b50cd4713f597819c360a47e2c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.1-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 b7b3e46c060a69a4f99db79926546509dc2f923d6cb5b1c990121b9e78c7ad0f
MD5 2ba4ddd0d8c4a0f767f028619781bdac
BLAKE2b-256 76c779eb4c3bad1766b8dc2c0322a5ac9a8b1cdfcfbc3cca8913a558148d92a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2ae36d1db22def12d68e65891a8fc0eae7423ff4015a7732df542d24925c042b
MD5 aacdce7ac59ffcc8315151bc129a89dc
BLAKE2b-256 61c6adf456b620351079eb61524e689610bd088fefd1a42c29f1d9036f6d4185

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fe0faa6afe2c555d1000a3b4265fadf38422d8ad6137621918a88dfba6ee9966
MD5 e0e4687f5c8b4647153ee0ffa7679c43
BLAKE2b-256 576bd702cc757ec39d402db186f763b6e892eeeaef321bb842697d566dd2d6c2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3d21f175e3f6971b84e6392d0f77e89b50fa307796f1ea4937bb140e5d16c392
MD5 79c886c5cc2983f52d8035656d68addf
BLAKE2b-256 f11a2a6ecfb548846e449cbef7869a84c7f7a85e648e7ba6d581433d92079755

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.4.1-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 0c4954285c1231c350e25f5dbd95b137269c5a8de40e6cc96eda021918dd9406
MD5 53404364c44fa99c27d1e0cc26cc3d5b
BLAKE2b-256 94202683a77b480a5e6d3f0dd35562a0d741b2bc498e325e473e41de6c714754

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.4.1-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.1 This release

16 files

2.4.0

16 files

2.3.5

16 files

2.3.4

16 files

2.3.3

16 files

2.3.2

16 files

2.3.1

16 files

2.3.0

16 files

2.2.12

21 files

2.2.11

21 files

2.2.10

21 files

2.2.9

21 files

2.2.7

21 files

2.2.6

21 files

2.2.4

21 files

2.2.3

21 files

2.2.2

21 files

2.2.0

21 files

2.1.2

21 files

2.1.1

21 files

2.1.0

21 files

2.0.7

17 files

2.0.5

17 files

2.0.4

17 files

2.0.3

17 files

1.12.0

17 files

1.11.0

17 files

1.10.0

17 files

1.9.4

17 files

1.9.3

17 files

1.9.2

17 files

1.9.1

17 files

1.9.0

17 files

1.8.0

17 files

1.7.4

13 files

1.7.3

13 files

1.7.2

13 files

1.7.1

13 files

1.7.0

13 files

1.6.0

13 files

1.5.6

13 files

1.5.5

13 files

1.5.4

13 files

1.5.3

13 files

1.5.2

13 files

1.5.1

13 files

1.5.0

13 files

1.4.10

13 files

1.4.9

13 files

1.4.8

13 files

1.4.7

13 files

1.4.6

13 files

1.4.5

13 files

1.4.4

13 files

1.4.3

13 files

1.4.2

13 files

1.4.1

13 files

1.4.0

13 files

1.3.21

13 files

1.3.20

13 files

1.3.19

13 files

1.3.18

10 files

1.3.17

10 files

1.3.16

10 files

1.3.15

10 files

1.3.14

10 files

1.3.12

7 files

1.3.11

7 files

1.3.10

7 files

1.3.9

7 files

1.3.8

7 files

1.3.7

7 files

1.3.6

7 files

1.3.5

7 files

1.3.4

7 files

1.3.3

8 files

1.3.2

8 files

1.3.1

8 files

1.3.0

8 files

1.2.2

8 files

1.2.1

8 files

1.2.0

8 files

1.1.4

7 files

1.1.3

7 files

1.1.2

8 files

1.1.1

8 files

1.1.0

8 files

1.0.7

8 files

1.0.6

8 files

1.0.5

8 files

1.0.4

5 files

1.0.3

5 files

1.0.1

7 files

0.2.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page