Skip to main content

Joulescope™ driver

Reason this release was yanked:

Partially bad build

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

Uploaded CPython 3.14Windows ARM64

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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

pyjoulescope_driver-2.3.3-cp313-cp313-manylinux_2_28_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.3.3-cp313-cp313-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

pyjoulescope_driver-2.3.3-cp312-cp312-manylinux_2_28_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.3.3-cp312-cp312-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.3.3-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.3.tar.gz.

File metadata

  • Download URL: pyjoulescope_driver-2.3.3.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.3.tar.gz
Algorithm Hash digest
SHA256 16ebe75380bbe318e1c6466009ffae2a7d359a4476b918b7d35314d2e2775efb
MD5 506e5ca749261b4e757c9227c50095e8
BLAKE2b-256 3f67958c124e3bb4d7b7a743cf79837c50872856b547ddc84ac107a7610fb824

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.3-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 acae07574025305724c0a10e82e955d89b67a2072e6f6e6cd0d6e638ace8683d
MD5 b9ed71410d08124ae9eb43f99f4e0e3c
BLAKE2b-256 c95ae5b551a5d319262c19c57ee1f8b3c1febdcf627ae8eba9263d70095490b6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 aed63c77aeb47d1ce86d9d6376c8e910dc92313ea0435cbd8440bf0b80f34d33
MD5 a42ec997f1546f4b05576620cee94705
BLAKE2b-256 e29ca214b002f24b6182824db16eee48aefafa05a7a9670ed4eba8b75a4f7d4b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.3-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 17e79d71f07a29b81efa99fafdccaf21800a488f8b30972753663c2ab79f03f4
MD5 7a0b35f81f0594fd11f46ed56f37b9aa
BLAKE2b-256 44dbae2deb341e1ec0211699f474b77d0a645a8d89f0955f402be2f8dff4eadb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.3-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 83c801e2a4548ce6c9cf5874c420989cc7fee17b1a76e9988ef4a84df66a9461
MD5 0dba43688bd295d738b5010612deccb0
BLAKE2b-256 413419831f05cb687f1295e434ec92fc22981bf4cd1a845f0d0dca66a1349805

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.3-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 deca01c299041704b11fb010514737fe8acdeb86e83bc3b42f2588d034608aa6
MD5 540cfa0ffede1c42dc51f9ad93c1ab71
BLAKE2b-256 0666f3224a72cc3196a2ab183193204f42e015c6dd02e1bb96b245c61e544ab2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.3-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 9737591b7ef0455d0fe4c010f17f5cd4d8a8c559f25fa930f6606e0a5649618d
MD5 0180e66e0646e15597bacb47418891e5
BLAKE2b-256 a84faff35281b2847d84f407e89ba721315459968cf92d78e7e525f90f0158e4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 936a3d0cff92a34443def7fe88e48f8ce4317d05e0391c4ee1d5a13eee63b530
MD5 9820116049b111790cd38a084ccdd0b1
BLAKE2b-256 88431c0b5a16e53022f4dd2098ba8f12f93e94a36d68ac609d4216bb801dfdd7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.3-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cf980d50f1a0616fe18562a4b64d1948ce4373f9e9e424649091afaa18fbbd79
MD5 17d1c5eab7315bbb93b13fbef5f45e1b
BLAKE2b-256 7389c6e70d9edf8b6c8a74d31f2164edf092b93a0132e4e3337e10ba26a7b832

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.3-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 11c9f5ae8ba49dc8d431cfd16d831f81539abe37bddf5bf387dee08fbf38e2ad
MD5 1a2cd241db3a0cacc68ae0253cb72239
BLAKE2b-256 8266b25617255bc90fb8cec28fdd67b0f2e7c5381f83f5db4111dd29e6777685

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.3-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 e5e2faa1e43add8eee3588ca62554937dfff680112dce43d4c9aed345166bfb4
MD5 61e50ea471415359cba7858ea9cd759d
BLAKE2b-256 cb44721cbeaffe87d6578d09f29104a077c63530e0948763b2b9f3b0e6b06382

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.3-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 d264e81a49ea176ea7cb8d2cf5780650954b61d9ecf1da04dc9a7a0756692fb3
MD5 0cb2807cd25200f9e7eba9b4d58a2ef3
BLAKE2b-256 7b3713e751477cbd25b1a0287f195818e8a546f9fde671c282a4f2fd38850a5e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 06b9300a6a711cd922d5bf3d4d55a553f4b826c287078cf5b432a45e54bd3baa
MD5 efab0dba46f68cd197896c2278185da6
BLAKE2b-256 7626eb16c11cb462792675b2c69ef82161b030e46ccb6a4e23273c7d97cdf492

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8c36e1777caf8a6fe731d8f0983a70ec14481b5e91ebc50563f84c90c6de489b
MD5 824bbdcc5a15d474776f5538242d8beb
BLAKE2b-256 af03041b7050c1a8344f1de6366f179a6473e4b2dd15ac818b76e0b50edba2a6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.3-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 28c1f8063df915f41c9fd2d4b01feb33f23dad1cb2180b8cda4e43732ea27a88
MD5 a1f2b6cdadb181c11af0b1ff626c3331
BLAKE2b-256 151addabf7b5ab425cfc841728d605fdc0102b74e717711127a1320353607ae6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.3-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 be2b3d491e8f2af4a07c67c24b761f03712fdbada5db553bf4c6814bbe93d195
MD5 76fa18e058a92bba55edf4dc842f92bc
BLAKE2b-256 e1855f7207a78b278453605aa39b1a5867d9acaf115441afbaab2078021b434e

See more details on using hashes here.

Provenance

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

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