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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

pyjoulescope_driver-1.5.5-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.5-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.5-cp311-cp311-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.11 Windows x86-64

pyjoulescope_driver-1.5.5-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.5-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.5-cp310-cp310-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.10 Windows x86-64

pyjoulescope_driver-1.5.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.5.5-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.5-cp39-cp39-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

pyjoulescope_driver-1.5.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.5.5-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.5.tar.gz.

File metadata

  • Download URL: pyjoulescope_driver-1.5.5.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.5.tar.gz
Algorithm Hash digest
SHA256 db27ab9be4c6fdbbc902fd550b830cb7a9105b013dea1b5e3ef11bf874786ffe
MD5 4a4a7292d89f947728695aa2320dd8a6
BLAKE2b-256 31f7ce513216b4f0b371b2d6c6306cac66b57422f3a052fdadffd7b5213378c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8bcd801fb294b74c7884c1204629582894d06dfff557165eff0e43b290eda20f
MD5 c92cec7dce3388fb0df61e8754e07168
BLAKE2b-256 69cb9092019107b1430732f40da50d66c90023a230cc639361b3bac71b079086

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4631c8ea88828f602ec8a2cd26a50748d2b2547638b72551a8ad7279b07deead
MD5 c64d930cc1fdb5c9960e77380c618519
BLAKE2b-256 520d1292323d87fe61f6d2ea11c00e1d3a1485f50ee4ea3cec01543d85ee07f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.5-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 347a4a2a38cd5e52978906fac3b0efe1e1046b7f923a75109b218f31c5d80d35
MD5 9cf7b8f4b8aa76fb5d8e2e28aa36c069
BLAKE2b-256 93c88005fb023d7e3df92f59624ed99c9400dc68dac77501bd56d39f1c4d7b4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e85195f56b1932267d7202e36722a2465b0a01d3b75a7c9d9db609baa8a0153a
MD5 052c5d997c63acce2aea64046aac6322
BLAKE2b-256 a9c19712ff39f50898d62100f05441f4875c2ecbf6e763e63ff9cac3fd8848a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e7930701e9f3e9c278fdbd9f9882526f2cca5f232bb2e9f1ebc49226db04cd94
MD5 2ec0ba85236a7c529ae7f7130de33279
BLAKE2b-256 eac67ce1a3413f976821b96bf7a82c05203229ea43ab7d54a46b31c31f6147bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.5-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3831c342be17bd0efc2d472ff9c7059153834af6c6d9bea4ecc9669e149b9c37
MD5 ea2abb34fd11fac65b153af79a311c0e
BLAKE2b-256 5038ce4e168d93ea8435030ea517e1538a67a2ed708dc696fba2adbc373f5eb8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 69e77d46ab89c34f98c79e74ca309893ffb57180c213e7f6ed1e98f53e58d179
MD5 1f3484f4061a30ae6d2d3ef89d2a686c
BLAKE2b-256 1271303a49c2c379266d9b8159e03c2d6cdbfdadb71a3aeed06223c5f2ff83fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 62d51e307403332f92fbf4e8109b5616f9ef678f11c6012d7c19c82f4332e8eb
MD5 1e69e6326e666d1fd9009f7e08e8cd9b
BLAKE2b-256 553c9047fec54e62677235fa893c25cb3b908d38694a5178f33db2eb341faa12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.5-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1216e87adee3d97ee0d33574cc5caf0e74e7033bc77bd73c365753ada55a22d6
MD5 2f724697121694ba514ae582a7679c1b
BLAKE2b-256 6731a766a173661b84efa284465fda8bcd4713a363dd475723916a4be8e64bcc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5e7544f499745998b28d7a54838a02b5b1b3327ac3292f4c448919e4780969a6
MD5 2737ba4205e6c2b42d48985c3ee41140
BLAKE2b-256 25be8b0c6cbe95bdac98eec70377737e7037dcf3260235bae228cf24898da7de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8e7c8e1215f57ee4d851ca57cadaf686126bb3fac9e4b4e605759caea6649520
MD5 e36ef595f51b39e55f1de18a47628522
BLAKE2b-256 8d85d845950a35da9501b41f4e291b0a22512f04031d81544396be4a8a717a25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.5-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7861e76abf1b3966f89bec28ed28f3c540ea5be4932019aa092600cee3bc5c61
MD5 cc9164135b1b53d6ebe48801805a8736
BLAKE2b-256 52e2eb65136531f2493385593b4942923b886d58c6c32bdb78a82d14eb7cb27d

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 Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page