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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

pyjoulescope_driver-1.7.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

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

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

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

Uploaded CPython 3.12 Windows x86-64

pyjoulescope_driver-1.7.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

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

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

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

Uploaded CPython 3.11 Windows x86-64

pyjoulescope_driver-1.7.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

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

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

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

Uploaded CPython 3.10 Windows x86-64

pyjoulescope_driver-1.7.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

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

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

File details

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

File metadata

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

File hashes

Hashes for pyjoulescope_driver-1.7.4.tar.gz
Algorithm Hash digest
SHA256 0635ea2d6c90a232d2e701a8f703382072b188d4542d7a05f97480854724fdd9
MD5 4918b943adfe8bb82f0650e1665c33ef
BLAKE2b-256 5f0fd1623c4fe0326dbc0d36467365717b782126cc3ac53cbb9d4792a9d04488

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.7.4-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5da3ad2573c38edbedd25d711a37544c3df6b2c4d56466505969c5c050a7cb06
MD5 a2b3214f9b79a418788e300b3c102940
BLAKE2b-256 94453066d8cfc94121bef956adf96694039ca5c3264e3ccd9b8449e9359e7477

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.7.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2a0acb55a495ec6d04228802a40e8fa7bf7085c5e3c24a0f203c4de8d33cf88e
MD5 4e2f2bef73f2d2508876653da6e148d0
BLAKE2b-256 ac160b50f02031611bc1f87bb3e6bc0ba897a4a9336c791bbd9a20163945d293

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.7.4-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.4-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 7ae60c79ceac3973c5ad321d6b988b9bdc5d3650b6c73763cfe9082d9f625bfa
MD5 6d028919197253ec2b264a9da71ba72e
BLAKE2b-256 23c59f5d7da7fb8c570344db06c3023310917cefc1c77ca39ea6969d1fc8d254

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.7.4-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d85d47d646b5485221cf41d7d00322b3969ac799479f7647f47c3005834cd4be
MD5 0ad80e8880d7bb019625298b6c9d3ffe
BLAKE2b-256 07b19657677d5b5e48716094025aac71c2961cf4ea5bb329c4c2b6c5288d86a8

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.7.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ca377a2fa4a2a859b0678f7e18f174cae7ebde31d2dfcc43821b6e5ab37c451
MD5 356fd1100b1622e7740f58330dc86b4f
BLAKE2b-256 fc628bee245e2e1c7b4b8af26488a961f6427311fcf8ef0e1fbc4054ef4017d8

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.7.4-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.4-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 057590647804bdf448958af9912d63e052422d359ed55ca74e4606c61a746284
MD5 86f1201f4022de68eb505f203c3f2dc0
BLAKE2b-256 0391958b097b3d924992e477dd87c14cb9971e99296c72333ca0951f8314512b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 684d6c9be3a5acfba190b13f88d5c715eeca2555bb9530d2f6ea734c068586db
MD5 96ddfaa2c0b011be7dd8a1cb53f33c56
BLAKE2b-256 dabbc1c225a2fc39e63c27025edb246a5bdfe3a8b7baed98f4c5a2419cfb0e10

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.7.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6ddc6fd8a9fc2d85e7aae5dd0e732d9e6fa7c0e1a7f90660b8b8a7ab208af7c3
MD5 c8efa2edd979cdcfcd3b2e291d53ea31
BLAKE2b-256 33fd74ccbd823e9c47509911d66c70c91dc8a7b5ad2e55431393511012f66c33

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.7.4-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.4-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 77c221801d2c8ea3307cd900b35ad72d1333f73d09f9561c47a2dbfceb88983b
MD5 5a6edf065e8385df1ed0538453828e30
BLAKE2b-256 644ae8d0863eb46086722d3788aea13e944032947bbca75d28b21c531c92f78c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 21872b606d4b7a8805e1e4d3c2b6ec0e175283adcfca6dbb66fbde5ad33eceae
MD5 d91ba29548f09b3a45d589283b0cab38
BLAKE2b-256 bd74a55626a8237ca529838bca7879bc61f9d2a6ddd91b23a1d02afff250ee62

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.7.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 919b54f18a2771f17b76b037833c2b7e9fe5cd85a03eaa3b9bfe09de4c17678d
MD5 33ebe9f2d262462e1c96210cdb0fc940
BLAKE2b-256 1056fd2f2e798f55dd740726f6aad7ccf451b2abfb55c594616556c2f9dee260

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.7.4-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.4-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f69e9f54ce1c42b70c545fa10a83cf335c154067d6dfd61661ef21ceba4ffd46
MD5 2bb4d3613b5cda10643f6b82d45ad5cc
BLAKE2b-256 797b72acdc0252e72ddae841daf453af1f596c0ad352014d0b7315be9a5c75e3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page