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:

$ 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.9.3.tar.gz (3.5 MB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13Windows x86-64

pyjoulescope_driver-1.9.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.9.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

pyjoulescope_driver-1.9.3-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.9.3-cp312-cp312-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.12Windows x86-64

pyjoulescope_driver-1.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

pyjoulescope_driver-1.9.3-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.9.3-cp311-cp311-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.11Windows x86-64

pyjoulescope_driver-1.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

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

pyjoulescope_driver-1.9.3-cp310-cp310-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.10Windows x86-64

pyjoulescope_driver-1.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

pyjoulescope_driver-1.9.3-cp310-cp310-macosx_10_9_universal2.whl (3.5 MB view details)

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

File details

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

File metadata

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

File hashes

Hashes for pyjoulescope_driver-1.9.3.tar.gz
Algorithm Hash digest
SHA256 99121a59eac1fd26eee87fdc08f86eb4a7d084ab01e773b5664738d19c713ddd
MD5 cfc3519bd618d58772ce584f3a09a241
BLAKE2b-256 315d193ca7623b0a34ddbd841d66cb091c8b7268ed5aba648135fda9a709628e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6dcb4692a4b77222e9fe88070e62b5880f33af4c162deb8f591d92f5564ead2c
MD5 f892c224fbedfd1c0f199110c8b84f8c
BLAKE2b-256 4c4310787efa914562a7ca3ebb1cdb1f35cbafed5d2091922c5f83ce5a72f4b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-1.9.3-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.9.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c0d773f67e4ecb58f78d1ed72d9ef4045ec08a21e36970976269e2b56a6c8105
MD5 c59f59895c8f68ed58b1a0a72be2e707
BLAKE2b-256 7e1657e0e3ad70b5066290900cb46b744f76a95fc22120faf77bb13fb216c2f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-1.9.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_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.9.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f06ba528ad604623cf94ef33f54562c5ca16d418233507733ebd6d92629cdb14
MD5 b41e673f681f622d5cb9990c373762d4
BLAKE2b-256 b489c5c3a3234996c8caa664f6563558ce3fef05e5815e684fdc41d703671017

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-1.9.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_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.9.3-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 be35fff61681bfe23d6192c47473d17efca0fde4d4668ce13a815fb29be54bfd
MD5 14e296a72cd3babffe157021c280fef4
BLAKE2b-256 a05854682a4bacfec5fe3d6ae754c00acd7ac955667d0a1d8e0b759746314f8f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 48aa807bd998e7b2c12775c693dcd7fc1d37ae6159d69b5d81fc793d12b00fba
MD5 0277699f9be9a18cd4ed8304c2758c6f
BLAKE2b-256 15cce149ff25e4c8160342a601508a7d01ee22de67829779466b1964b70d47d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-1.9.3-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.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b254c51d56d319bf79dd1fb100db82fe8505a30357a3fda481b43a7369e8851b
MD5 8275626251acb7b349bcd04fb48fe4c4
BLAKE2b-256 b7ffe9ebf9b96c4dd855d3d9ccf4c1164550b6b873923cdf555d1f233e09ba32

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-1.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_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.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 34453895323f036cfabe021701cd7985f62da06f52c6c0eb1a8b22d1451e5ffa
MD5 afeeba50068ed5dcd9270f57212b7399
BLAKE2b-256 7c4300cbe423fbebd691a9d7dc7d447252db047753902bc67ca60377f9db069e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-1.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_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.9.3-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 c3e6a1d2d86e5947250771db1237c6f12ab51fcf3a5d6aa29d6c72c651951c3d
MD5 20cdd82ab67ff11a7ebc6a059cb6614d
BLAKE2b-256 8d371aaffc2d7e6c6fc78f05ef386cda91e1ae871edae37f6f7412283156a00c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-1.9.3-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.9.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d01b6f09d34c56bacf3f795bbabf30ddc9f89abb8a15e1d84fe91f1be0ab1f39
MD5 4d7e0cb24c4288703512a35813ed0da6
BLAKE2b-256 c8defa6593621232863d7facd20a5cf90f615eb16c5e388d06a8525115b27098

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-1.9.3-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.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d9d255ad3cd5c81405a51c775cddf0678f9b513803ad0ce0c9dc147a2c1d6a09
MD5 6ec9a513bd7379438348e11df5cfc314
BLAKE2b-256 6eaf6b3bb2341969376465881a82ab14e4056ab762a0e98e269e181e676b6f6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-1.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_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.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 54c127d6e6187cf198b4de0d7bac58d95527f6481b94fb0bb89c40f77df89207
MD5 33180501610d503b136aacaca6739e47
BLAKE2b-256 95560dfcb02ffe3dace2429b6cab68e273ba1eaeda8fc682dbaa9ca32f6dc107

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 66fc12007ec6646234cf2b2c65f2285f40ade188ac8934a6d796d6a978205a1e
MD5 2ece50a7bf68b36d4cca001d9b0a9532
BLAKE2b-256 8843098ab00928ef9dbad222b875a5f433828b06880afba4085224b26893f73f

See more details on using hashes here.

Provenance

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

File details

Details for the file pyjoulescope_driver-1.9.3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6b8efddae1bc0f25d19c4cda35d5267bdf0c5397088c60e35310452abcd38ccb
MD5 fbdd34034c4097dff2f026e94f3ad275
BLAKE2b-256 d73e261979e8a8bdcb773b2598ed7bba2100cfa2784c2c7d816f257d0e075f6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-1.9.3-cp310-cp310-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.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52ad0514eb972c78e164cb6e3796fdc12123ee9a8899d9d0e964aa0f046a77a1
MD5 966cc6b6eadb3f872764a38c5490f5c8
BLAKE2b-256 8641d72d2137822fde9ec1c61758131fb408cdd985b2ef3fe0340de1555438b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-1.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_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.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 661b891e945bab4b59b7c111efc6d8c3fc06aea2ec1f97e41327ef35b887edd0
MD5 d3c4e292ad0a13328173f693f41635c7
BLAKE2b-256 257245da67cee4378778e59a14498b034a0205d6eb6fbc5038b8e5cd0d8953cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-1.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_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.9.3-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.9.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2657fc1760a116173458136bc9c9e92d85d8e26db8e1247b9b0da3c13827b12f
MD5 547d96ccbab2ef5e4928a072d07ddbf6
BLAKE2b-256 c9da8def2921a7e9eb7f79f6f94c5ebdd6af107777eec88c71f5c1734bd726f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-1.9.3-cp310-cp310-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 Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page