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

Uploaded Source

Built Distributions

pyjoulescope_driver-1.3.16-cp311-cp311-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.11 Windows x86-64

pyjoulescope_driver-1.3.16-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.3.16-cp311-cp311-macosx_10_9_universal2.whl (3.2 MB view details)

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

pyjoulescope_driver-1.3.16-cp310-cp310-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.10 Windows x86-64

pyjoulescope_driver-1.3.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.3.16-cp310-cp310-macosx_10_9_universal2.whl (3.2 MB view details)

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

pyjoulescope_driver-1.3.16-cp39-cp39-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.9 Windows x86-64

pyjoulescope_driver-1.3.16-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.3.16-cp39-cp39-macosx_10_9_universal2.whl (3.2 MB view details)

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

File details

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

File metadata

  • Download URL: pyjoulescope_driver-1.3.16.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for pyjoulescope_driver-1.3.16.tar.gz
Algorithm Hash digest
SHA256 94555a5e14265ef76192d743f75ca97804e35e26efd5ce3f7814f9e7aa3a7774
MD5 d6907bf9f16f2c98bdd2f53952e4e7b8
BLAKE2b-256 90ae155517c2fed5a19f9cf5a95518f5bb3830e2537379387026a59a42970787

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.16-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6eacdd50cb4cc06ffb76dd1cff66958281d3c38dab13213b880073b3cabf0e9b
MD5 f551c0556b9384f77197d1c1d71fd972
BLAKE2b-256 b05a3b1004b3020cb74b42d21bf5681c898ee09e67e6c9ca771df4b013ac0d62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.16-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b331bfa546a59151aa96894bc1efb3ad4a3b275fd9b2b3dbff8b7ffbfc02ec27
MD5 d9349a221b4366a5d923fe1651bed240
BLAKE2b-256 4f58b342e347f315345a4095dd2ec9aa9bfafd1ac191131c5aea46fae4d0c47e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.16-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 fd3022e6f55e126adc3db0305001e4f1350c5d3fab20e81329f62c229ddf411b
MD5 65680e9fab75df07e1ad2b356d8da7fb
BLAKE2b-256 4cb97bf63e04392e08b97e48cd5ff7582bcbcb6dec4b80ec6bb25cfefd3caa6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.16-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 aa89e4a9796dee00eeae493798f94f376d2013113f66e5a049f31d93cc6d9e60
MD5 362e27768bad528f92e72184309f5568
BLAKE2b-256 7ed272f689c1d4cd4f78dcf1e7acd8ee8e10858d20e2f2d97c0aa2a86de6d15a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fcd3d52cce5af898799d3b0be4dd120b7319a739b24f07adfd494accb9fb4499
MD5 2a391d47851bb8c547372aac8524525f
BLAKE2b-256 ec519eec6ae9f840043a08f00e1551b2c50a05b158c03feec9fab48f68bc7da5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.16-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 42b1be106faf64e9fe9ee8e54d51c5fb4df69f98b685407991b28f9d0985fcac
MD5 5adf42ecc9678bccca7218aa082b8ae3
BLAKE2b-256 19f49b00bf4a2f666cf7f3578077d8805147902729ab05f2fb5f0dc00f0b7d92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.16-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ea2b5962353c84bb27a955a1c25b7607a4537537d88cb6646e2c861529536e4c
MD5 ac7fdb2254a2398dafb5fd9c8b44970b
BLAKE2b-256 d75a315b3598d41ff7ebb591c5812968b06010a211792ac16ebf973082f7459d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.16-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c02dc68b0dc4113ce619bd423bb8f6a9bf1b001271d80a9833ab80cf1cf89737
MD5 b23d5c436f68316025eb835489973440
BLAKE2b-256 91cf18d34bf789f6713e70831306f995e68279aa7e927632822c8de1ee77ba42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.16-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 41f518886cc4044562ba13ddd033e8312de7a18637e6de62d07a2669b1edc7c0
MD5 256dbafa9757231b4e1832cfd552c806
BLAKE2b-256 f05a4c473cf68c1904275d06d56bca09962d823380115c7cc81026aee3bd530e

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