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-1.12.0.tar.gz (3.5 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-1.12.0-cp314-cp314-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.14Windows x86-64

pyjoulescope_driver-1.12.0-cp314-cp314-manylinux_2_28_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-1.12.0-cp314-cp314-manylinux_2_28_aarch64.whl (5.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-1.12.0-cp314-cp314-macosx_10_15_universal2.whl (3.5 MB view details)

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

pyjoulescope_driver-1.12.0-cp313-cp313-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.13Windows x86-64

pyjoulescope_driver-1.12.0-cp313-cp313-manylinux_2_28_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-1.12.0-cp313-cp313-manylinux_2_28_aarch64.whl (5.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-1.12.0-cp313-cp313-macosx_10_13_universal2.whl (3.5 MB view details)

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

pyjoulescope_driver-1.12.0-cp312-cp312-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.12Windows x86-64

pyjoulescope_driver-1.12.0-cp312-cp312-manylinux_2_28_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-1.12.0-cp312-cp312-manylinux_2_28_aarch64.whl (5.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-1.12.0-cp312-cp312-macosx_10_13_universal2.whl (3.5 MB view details)

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

pyjoulescope_driver-1.12.0-cp311-cp311-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.11Windows x86-64

pyjoulescope_driver-1.12.0-cp311-cp311-manylinux_2_28_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-1.12.0-cp311-cp311-manylinux_2_28_aarch64.whl (5.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-1.12.0-cp311-cp311-macosx_10_9_universal2.whl (3.5 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

File details

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

File metadata

  • Download URL: pyjoulescope_driver-1.12.0.tar.gz
  • Upload date:
  • Size: 3.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyjoulescope_driver-1.12.0.tar.gz
Algorithm Hash digest
SHA256 857dfdb3cb2fc39d1ddfbf4d06d273bc9255b6aed1a902bd245b6dd98a440a12
MD5 daf4b019ea094b12e029712addb9aaae
BLAKE2b-256 1d082e3c8fad405922faa41eda6de9799108bfe6033031638dfeeaa881646448

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 70c98cdfa067282c3f7e0dde9775ddefc15145679550ad59d7a28a1e18f0e62a
MD5 3855286cae6680d2554956a2d8bb2d03
BLAKE2b-256 568a834ac6fc5ad8d2c06e7fac63a200b60937e3af8547165e04fedb20dd2276

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 396b924732c65b3955a42503be07300d48ac4947705267eac4403d57046cd812
MD5 7b1e35bfb397c603f8beda23ce730462
BLAKE2b-256 37b1dbad6d4d324c06d4e9ee28811f2014cb685b7e365120518ce033418ac0c8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e08770972688f53e5272664898c22a135515361fe2f9c3fc1c226da226fe1bba
MD5 c636230946aedf3adab925e3ca428bd5
BLAKE2b-256 ffdd0de1335d61912387570dc09c096bc19c644e5f18d3cf95600a3071e2d35b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 977bcd4f52f1d13cd331e3f96ca27894e7e23f9465cb30b6a7e872a7cc961bdf
MD5 a678563f4ab443f377d60be67617b912
BLAKE2b-256 04f059bbb65be7e6043ac543de0c6374659146e946f4c04a7b1e05e5ff2de240

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8034bb759038f11373af852a36d468101e309b0d9953ab49ba3cd9fd35f85ffc
MD5 da91625d46adf1d2206cbae3b5ec8531
BLAKE2b-256 feac52c7648063059910960f06cdcf42553d5a98dd6a1cb0decdf1ca61c8412c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d8e97f09697eda624e645457570185051c9996d4c60e23c5fa5d506d3aa65c5c
MD5 23bfe1def0928317cb3a002c6e63b836
BLAKE2b-256 f227c0516e1c454e751e6c71a1263ab42d942d92c53f35f1f91adc7a507168bb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8b738f23d795ca38f9a413e2c7e858f6a0b71947a35fd4a474f34decbdf7e563
MD5 8936b8bb035304729f39b9f7eca753ac
BLAKE2b-256 af765265420ec04f3d8ccdc760022c5277a71a7f3eaf661f6d5d6392f3102fe2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 51fbe066fa134e853a6306aed3cac9d8b669ffdd354815a182f56235b8db5d2c
MD5 14df9308d6201e43dfde8f78e10b6bb3
BLAKE2b-256 e32897af99bf27a09699a872885ceceb2e99f8c133d028fe60599b5ef2a99646

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b502acc3d55ca2e983a0d8a4d0f0f003f23969f34feb06a630ca0b731840e0ee
MD5 8264902063dbb1ec110959a0176b5984
BLAKE2b-256 f760c9933022a3aac2a14ecb71f48ebf693451fa648f614e11c46fd51a0fc716

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b00591b87dd5a7c98256b29a4f8cb87c67994814c352abb1292525c7cfb429df
MD5 2e72d07e2c1ca4ec3fa6bb57f4573da0
BLAKE2b-256 6e05419983da233816178957cca3a814eddbad90dd9f50c2874275b3ebcc2316

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8ac848f819153ed6ae3024e3a8a6318fb197abee11c426370985ba461c174428
MD5 dd38d7b7dfadcbfabea9848978dddc25
BLAKE2b-256 153527c50ce60a46715c1c64ee35361200f3faa6d1496fee9802b1d11d840c3b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 0f06369a36666a7928a17e3eb076c47b75100a5291c0c6f5c68f2a8c6576ab09
MD5 5bf103848611a8e4e9d05c7e18f3604c
BLAKE2b-256 ae2ee4e9fd1f9caac63cff65c86a87ddfedf8d527e56f926b1aa52e7769a8e33

See more details on using hashes here.

Provenance

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

File details

Details for the file pyjoulescope_driver-1.12.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 be6cda7a6fbf5e250923b15c0feb541c9565335fac0437b5ac91e7d7fa78f4f2
MD5 671b8d1f9f356fe4bda88aed4ea69dcc
BLAKE2b-256 fb499ef795e28889874295e2283291ef442da9580de5eebffa82d30b5937961c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 36255bb1d6539f5ec8094193a4e86fcfd794977a73ace757385a59410d58aead
MD5 5e038a04d292a311ba819e9f0c40e2a6
BLAKE2b-256 ee5315249d9fd1826a2a73b7fb4b4f3cd181d23e312244d562d055a378dd0f20

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8decc95fd88311982eb52efbe4d9bb4e4abf59eb151ec50f2cbef66b4a8722c5
MD5 b918ccb08782caf21f7c0c1ff4067369
BLAKE2b-256 d14b0cf2a8bc4261c76707a25b274e24dd3d23ef704669c601861a6f1c86ef1c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.12.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7f239c5edd78db3a75a11d68f0c423f761cea933069197faf463e2dab3cdab4a
MD5 cf99cb889a2fefbd5b0a45b299001025
BLAKE2b-256 21d8e9c6372feb769274e24178226da3688c4a9f097b309001fcbe32574d2073

See more details on using hashes here.

Provenance

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