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

Uploaded CPython 3.14Windows ARM64

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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.3.5-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.5.tar.gz.

File metadata

  • Download URL: pyjoulescope_driver-2.3.5.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.5.tar.gz
Algorithm Hash digest
SHA256 d7b0d4604a9f4458cc30b841c272d97ce1ab9eabe9d2cfabea1b88f26a924ee6
MD5 b76641cc8a60d0ea602584e14f518e72
BLAKE2b-256 1be8ca1f2c88d1b6a69440a77f30c1acfeeebd9e72dfffa9ecc5ced8d74f7195

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.5-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 f7c05284df78aaa5689abf438fab99d0f67889429e2f3cbe76937951445485c2
MD5 836fea3ac0a2de008d7fd3558f2606fe
BLAKE2b-256 7e698a15117b87687c13f1d3cf7127968a17ac23f4bee346b12e51b6fb8d3189

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3cb58e17ecb298696e9dfef176783f3277fa67f2349a2196f7f5a9e3d21cb99b
MD5 be6033f02f9a0d5aab93a6dde162a789
BLAKE2b-256 df2ace1bfd93220714ac48d9fba6d485e891e0bc77490ce93db0bbeea8c967fb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.5-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fc26f87055c499052bcc32c9f38459e650b61c7b7e15743fd1d64edce48c2c07
MD5 e9ea5849978c591b6874311bb0140fbb
BLAKE2b-256 430a71b235ba6eb5ca36c527f572e5caa88edc6583b3d1d658d9ff6672334a9b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.5-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d52a9704960ef8ab8fe7e8a29e77c45336f4a83bf732385592b565f2c2841537
MD5 5034a51516633b9c1b7dfd3b662e7a8a
BLAKE2b-256 7d932d7a8af002e333bb669b56f7f4e314ad7003c910142addc95f8b8ed5aac3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.5-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 8061cd497d01aeca85a3efa71833d26b06edc891c48b70bfafaadd76cfde56ab
MD5 6b086c3377600f0725a786f2444c300d
BLAKE2b-256 437436d488cc2adc5f10d740d61623475783953fe0a649569f717ec4f356f653

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.5-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 4f58da731dfd83390a3077dcef61591b04794f46321f9b150bd5f7c3d7d94c03
MD5 5251ca6220f4af0572aeb1f59b873cd3
BLAKE2b-256 3d5321183c72b1421dcd23659a6eec034d7d1409fb745a4b7ac6694291643649

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2b70a7ddfd8e7180e043274c3682fed14b5e56553fa9ba18423dc2b4ddcc0a32
MD5 b0bc1a734fb871807cd352a82b29ea18
BLAKE2b-256 eccd58042577171582979cdafe12604a7db9740f25e82780a7cf34eea7eeb682

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.5-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 538f0c7615931742c7fceec60370c13cc78dfbd61ff61b3a18ca737844caa267
MD5 ad233080aba572f5f8c98fae4f1ade17
BLAKE2b-256 30758990dde6f11702eabf8baa07e879cb7efa2088c283daafacf4ff40bbee4e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.5-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 165b295f1e94ce6d1f6c856a7ee320b716b0adfd7c9d76f053de926c466e7265
MD5 fef62be43f0bfd9f16208af7aeb70c18
BLAKE2b-256 262cc274009d8d953fa5af946e4e4be82be1febcd29792adfd061ac1d6cb520b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.5-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 efe2aa94d67916f63ee7da557c15c2bcb733280f7fabde63611f2b430542bcc9
MD5 8b851296efa9516705753613e4e2f98e
BLAKE2b-256 3e45f41a00bf23c06504fa40cd0c9bc7363f2f5bf1294859c13995a5478264e8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.5-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 e469b8a05afd72f8f9db4be138600772ff006f450906d7fbf82b267a98e626bf
MD5 3365dc1fdac82852ce070097c077bbee
BLAKE2b-256 e57b5b1534331d11d8e8391781bdb7ba5db0d4f5808cdb97c47b6e4bde5aced5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6439038c2005a2e394003b453038f372b37a321b85b0656292b35a2a9900bae2
MD5 42bdd5f2c0f9361c17d67d5ee9e07714
BLAKE2b-256 7aedae4ffc6ac614784417cc683eef3d3c33c1e49462cd6e526c4c5a590002dd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.5-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d7cab404d9a4729e44c49542586b149caa6c4f02f6113ac5d2c7fbc1afa3b105
MD5 f198c8d924cf131d7dc313de61ec06b2
BLAKE2b-256 f869fb0349a6ddc53cbb34b609e471498a94c3d7ea79eede9dc38764795e5d0e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.5-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 435a059d71ca904b92dcd2eb10aff67f631044409153b319dc70fc8722cd77a5
MD5 0320fef8311a3cb3e24394d6cde2f48b
BLAKE2b-256 1ae3e0d213971d2c3152fec53161e5e348ae6db6e22fcf32d2b9cc29d5f3470b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.5-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 c08400fae758d204b9282cd8266b6279a4bba3a56eaa93ca1f9f380c57aa4ab0
MD5 8672668fd2d514fe88f3f7dd553cee33
BLAKE2b-256 ebd77a683a5c7b838e3adc25acc0445553811494386cf316473b41eefdde6548

See more details on using hashes here.

Provenance

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

Release history Release notifications | RSS feed

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