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

Uploaded Source

Built Distributions

pyjoulescope_driver-1.5.1-cp312-cp312-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.12 Windows x86-64

pyjoulescope_driver-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.5.1-cp312-cp312-macosx_10_9_universal2.whl (3.4 MB view details)

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

pyjoulescope_driver-1.5.1-cp311-cp311-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.11 Windows x86-64

pyjoulescope_driver-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.5.1-cp311-cp311-macosx_10_9_universal2.whl (3.4 MB view details)

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

pyjoulescope_driver-1.5.1-cp310-cp310-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.10 Windows x86-64

pyjoulescope_driver-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.5.1-cp310-cp310-macosx_10_9_universal2.whl (3.4 MB view details)

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

pyjoulescope_driver-1.5.1-cp39-cp39-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

pyjoulescope_driver-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.5.1-cp39-cp39-macosx_10_9_universal2.whl (3.4 MB view details)

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

File details

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

File metadata

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

File hashes

Hashes for pyjoulescope_driver-1.5.1.tar.gz
Algorithm Hash digest
SHA256 4785e9abdf22e21a4fed093d8a8f59ceb6f6e6df45630afd0e7aa750b371b4d8
MD5 cfb68f5918b92f4742dd3615fd69c846
BLAKE2b-256 5e6d289e02737b08c643ed1a1d6b192de890f8bc73bcdc3c459f4305b2b31b93

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ac38d8a3041c852d5883230a308419779b9976b0ca452420ead3636e5eecc0df
MD5 ccb177ac86394ee92c6b7440a820cecd
BLAKE2b-256 7fd406cfe8f8f85dea816f040d2c75a5c0a023eeffcb1e50cf300925f4481557

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b76a75f13c52e5358637e5f9d5b3863a9e7ac4e5865f11d84b92123aea6a33e
MD5 ecd1c1fa72156a8329717803cbc3e685
BLAKE2b-256 f7824e4a6bce2a35be6d84e50465354a559e0c7b430b79de8445d5543bf801b0

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.5.1-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.1-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 504ca3fc125c1364db368c0e7c8335d6fd6968757cfe09ba6e8457d362970311
MD5 3f6da329286d5311820f155b9f488e4d
BLAKE2b-256 05a6cc117ed40af543cfd1708fecfd5559d240bb7ba78d746ee1890bf2cf7b3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e879cff21e501e884f2b3b899ea42843492436b95b20591604bda5524208d18b
MD5 363a18a57e0b4d9ff079c8b59000d07a
BLAKE2b-256 ca364580a9c9a6d1f305efc71f0c43d50c810ad2d85af062c2bf44bde1555e32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b1b33d1afe3794740eaf3230a989c90c696b71f306e0e4884287aa6b65e21ec4
MD5 e766aa5f81e24e07758bc29987b8966c
BLAKE2b-256 245315277f8c73d457450cd092dd4a3ccdd1d4c6895fcef370ffb9faea434e72

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 be60b1a4a862e41ed11168c8d3d30fa6fbe554f9bbf859206b2dad1360f5ff91
MD5 9b69f27738a1ce27fb2b2f0d39d4df6a
BLAKE2b-256 e9e1f126b792449f8edc625e3d7164f31b678b099c37c6c96568b5c7e9de59a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 16b8f1a607c44338543edbaad103cf35ac8f03ccaf45c45157e3d24cab274a64
MD5 528dd788c4acef2eaa4d64e98494e7ad
BLAKE2b-256 47dbdb407039f5c744ffa51f1fa784fa6c271d95dfb5b8c694f441f9f3446b02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d7ccd0d268916a3bbc257995fcc5e7fa6fa87720027b14e2475aac2ed0b6fbf2
MD5 b7908f854ca6db1c44c99f3f10d98867
BLAKE2b-256 24b1b1c235c2953abe3354445abc673163f10976b791baae1b8501bfbcbe058c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 86084e3bbe76da185a121ecd9b33b107f3d80f5d414123245f66e0f44a645292
MD5 cfd8a6d27db04b797ced50fc8cbbc4f6
BLAKE2b-256 40ac9429a06aa17267c653580343d5015dd5b6042b0d86fa7bea3a5f80cea062

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.5.1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d0c414017539aab9c56df6d5b3ac329df198d5ba82d4ded9cd65e083b952df5d
MD5 ba58bd91d2d33c067c7378748c8c9bbf
BLAKE2b-256 1f88df1327dc0e5377b6bf7cc37d449f50847d3287d34d53fd0dc7a44692d222

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 293c14ae44dddc61374ad7ff4f26326af84408ba14c77ac136031c1ce01a3a5c
MD5 07676c21a2568bc3006c39722c5bd1fa
BLAKE2b-256 8b245cd41cbd48c6e927d6707cf428c83314a16460917419c9d658ad0225f60e

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.5.1-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e4a1cda92b914a1f45f2e97a283728be6f7e6a1797539b247658a20e2dd255d5
MD5 dd6236c91f783d5aa71112bcbf0847d5
BLAKE2b-256 854651fe93b043dc2edc299e3be2db1e558f6e558ba4a166dacec044f84f0ea0

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