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.

Release history Release notifications | RSS feed

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.0.7.tar.gz (4.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-2.0.7-cp314-cp314-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.14Windows x86-64

pyjoulescope_driver-2.0.7-cp314-cp314-manylinux_2_28_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.0.7-cp314-cp314-manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.7-cp314-cp314-macosx_10_15_universal2.whl (4.7 MB view details)

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

pyjoulescope_driver-2.0.7-cp313-cp313-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.13Windows x86-64

pyjoulescope_driver-2.0.7-cp313-cp313-manylinux_2_28_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.0.7-cp313-cp313-manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.7-cp313-cp313-macosx_10_13_universal2.whl (4.7 MB view details)

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

pyjoulescope_driver-2.0.7-cp312-cp312-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.12Windows x86-64

pyjoulescope_driver-2.0.7-cp312-cp312-manylinux_2_28_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.0.7-cp312-cp312-manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.7-cp312-cp312-macosx_10_13_universal2.whl (4.7 MB view details)

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

pyjoulescope_driver-2.0.7-cp311-cp311-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.11Windows x86-64

pyjoulescope_driver-2.0.7-cp311-cp311-manylinux_2_28_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.0.7-cp311-cp311-manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.0.7-cp311-cp311-macosx_10_9_universal2.whl (4.7 MB view details)

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

File details

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

File metadata

  • Download URL: pyjoulescope_driver-2.0.7.tar.gz
  • Upload date:
  • Size: 4.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-2.0.7.tar.gz
Algorithm Hash digest
SHA256 ce7d6be2f9cfe1648683a6905ad917028969ca271915a4fe674491968f42c069
MD5 87ff06dff511f131f3e325b41eddf03d
BLAKE2b-256 d8a272da7ce0b7a741aef60668cf2a3c0bb8bfb5f28d06b1253fff4c9a735e1f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c43e6eb95959f405154a3cfec0681c55b12f4db4f72ebffa6be4ab87bea71530
MD5 530e2cc810ccf53e51356f7c4fa4509f
BLAKE2b-256 09f7d690a8e0a82493b14116a79c2148cd69ec06d07e3cb31cd217e04f51b58d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 83941ea3f03e83d7c29a971da96ba7f7f91c08eee8f247212892ac3bfc3e917e
MD5 31a4caa4530f2f14dd786154b3e2c1ba
BLAKE2b-256 76fa5c8eba31d02d20b432b94b8f0f756f4391bd46c0efe65d58274f6fc147f3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f88536b329ada3b11281649db5829be3a3d6f54ff8f2ced6c4adf7fd8e97e040
MD5 37bc0364514dec73c35388e07a41ec95
BLAKE2b-256 93883ef745ccf9050c3fd8678f401453bfa5255a96818dc11766b210bd7e083f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 08eb589d0e3e1bc3f823e674678c76dc2652f3e954e1eeb69b258bccf9f22395
MD5 bfc8bc5a10b92595a74e3afabd778c3f
BLAKE2b-256 9c2d688a275305e28df48f63819f56789b7e26a0054d41f7a2c7aab1be50a271

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1f26f27b20d8abb42542ba500f895e127f6f5dd152159a052c21429adad7b0da
MD5 e892963b30d0215cece17f5f0a8c49fe
BLAKE2b-256 d3de14cee45590fcb6e859d87893af0bea96af28602b1416d365b19cf035f564

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6a74a74a8232007ec9172eb1653d3c410aac9427ffb409897130e7ac98b92879
MD5 648083e5e0f81e5502d9183aeeb28311
BLAKE2b-256 3eeb63568a6ac473b4153dbbdf640ff28925612faa1f41a9208b716a2480a8fc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7a271cb83212d149a09ee3da0a2f0c866e29abe36bceb24e12996134eeffbeb3
MD5 79fef2d185a5993cd1539812f88c7073
BLAKE2b-256 069ea1ba04cac3ad8c492ab79cce477cc0a6364e42cafc57e15036b504c6fa8b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 81aeae5e36df65b6f56a46d023c24ca9794824ca4f56372e371ef665f9d338f1
MD5 1db34bf00372bef217159387e355bbb1
BLAKE2b-256 369ab2287a72bbd4e0d9e5e28bca6c44f1bf1bce4cfe81db0f68316e2f23730c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 150bac91def091d0096079c7823f529c0e3238c985c50458de818e8c27ea421e
MD5 0f4de23af3754c49d5b2c25a4aed0ef5
BLAKE2b-256 e3d3ac36d789de8a1e197ccfbc479abdeb4a2131ae3fb206ba145268cbe63694

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a4f89b686a2d08a5e22844d7efe2e2cc17dc7b2fe9a36985a2575d7d532d69b3
MD5 e36dde3bfb382257a6aac80bf434d23c
BLAKE2b-256 17ca897032a51bcd897b35aab1da75366a5685bc3e234cdf78cb44bee2076a26

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 12c750c45607e833d44ec726bfeb81bae4cd9b79ea6810f07f3e597699e4531b
MD5 0d81f538fd4f8e23e4f46d95441544db
BLAKE2b-256 a5a41b63a05c577b25f2ac79e2c0e494c3f0007cd93c5d95e56d339cdb617fa6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 275ea36c332977c6af778996ea61f2dc860026549121afc64662162308c37338
MD5 0a6947bda36b1550dc4935b218a03ef2
BLAKE2b-256 7270509be1b9a33a92f85d35b9973ec9dabe47111dff6e070fef01867a4e6aed

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 66c249f2051873ced32c3e46f13d05c44e54c98c9650fa6c1c6b415f1768c50c
MD5 0929a8b15e91bdbe2ce95684bfa9afcc
BLAKE2b-256 55849867b50e3aa3a18e0dfa2db6237af6226ddf2a68820417fbaad514e6d201

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fedb4e29c5db29d768c1a5a2d23e91d57e22e95dcad13492a622089c0fc83c39
MD5 3b11e7825abbafc506fb862e70b70873
BLAKE2b-256 fc379617895d97d995415dfdf39149ccd0599565832e03c78e81c679a589a5d2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d4e79c1b24a98a5d3897d1a30ba84a9a26732bf2dc8bd02ba6b5e05aef6509cd
MD5 519db5288f377374af515cd34b51bcf8
BLAKE2b-256 5673b67772fca4b366d11380334c1faa1a35005da94b26a6059ddd53bca9c6f2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.0.7-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 bd43a2ce1faefcd63d80cda3715be68f424359b9a74a18224d15d0a4012f4aa5
MD5 5b577d136d0b98f97bde8ab849255f7b
BLAKE2b-256 ec18c0c0f76fd6cc7ed980c64136934777df18f740e21f7834992dae0f4be04f

See more details on using hashes here.

Provenance

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