Joulescope™ driver
Project description
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:
- Improved event-driven API based upon PubSub for easier integration with user interfaces and other complicated software packages.
- Improved portability for easier language bindings.
- Improved performance.
For more information, see:
- source code
- documentation
- pypi
- Joulescope (Joulescope web store)
- jls (Joulescope file format)
- forum
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
Common
cd {your/repos/joulescope_driver}
mkdir build && cd build
cmake ..
cmake --build . && ctest .
This package includes a command-line tool, jsdrv_util:
jsdrv_util --help
jsdrv_util scan
Python bindings
The python bindings are made to work with Python 3.9 and later. To install the dependencies:
cd {your/repos/joulescope_driver}
pip3 install -U requirements.txt
You should then be able to build the native bindings:
python3 setup.py build_ext --inplace
On Windows, you may be prompted to install the Microsoft C++ Build Tools. You may also need to use "python" rather than "python3" on some platforms.
And run the Python tools:
python3 -m pyjoulescope_driver --help
python3 -m pyjoulescope_driver scan
python3 -m pyjoulescope_driver info
python3 -m pyjoulescope_driver info * --verbose
You may optionally choose to use a Python virtual environment.
Project details
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
Built Distributions
Hashes for pyjoulescope_driver-1.3.15.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14fd9ff3a5006610124945ea507b7b732b2010bb9556814a6bf27c4cfddf4940 |
|
MD5 | 14c37fd7c63b98efa86acab593a8a151 |
|
BLAKE2b-256 | 945c6c3931bdaea61d6ae9cb5c692356c49abf86ac156b3ee47fd2c19658c496 |
Hashes for pyjoulescope_driver-1.3.15-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b575b39ed3c5d2ba37a67222ce88c0183505e82ad3f050080989df5be0a9cb23 |
|
MD5 | 9286c09a0d6ee43daaad481ed27cfdfa |
|
BLAKE2b-256 | c1cf26153acac265b3bb5509a4c8ccf877608571fa1066257d05f5412abbda17 |
Hashes for pyjoulescope_driver-1.3.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d573449eda925eabd21393adaa0999f3dcd2ad47faa909986d623369d0c1fcb |
|
MD5 | 45c10cfc45dcbea587c78dc683cc1a0a |
|
BLAKE2b-256 | 604c03ffa5f626c3410984e9bf04601f59c892d6d5bd953b27562a33bfc59d47 |
Hashes for pyjoulescope_driver-1.3.15-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9690da7be727e64249e7613b5ec1859b21a58fbbad54041de6f9771c5e09e564 |
|
MD5 | 796b8ff5535605a20d009cab4f7b4d5d |
|
BLAKE2b-256 | 9005e0836dd764889e1dc10bac21bafbd6cec6b59193c9e228bbce5d634f4f9d |
Hashes for pyjoulescope_driver-1.3.15-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02123311258b22c36da0bf31cda1d306a7556bf0773c88243d23dcf402959081 |
|
MD5 | 0cc5da6e12262b5129aa9df20fc5906c |
|
BLAKE2b-256 | 21e470e29670c4c45cf0afd5644266479f2723ce03e56d8748aa6695f93df654 |
Hashes for pyjoulescope_driver-1.3.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef67a077187a23d733fff53bb719609f52a690f4feeca0b3fa51fd4fcb770cc0 |
|
MD5 | 4392d2935611e35acce6de78fc939741 |
|
BLAKE2b-256 | 22e5d5f76b3e84ce137697dfd0225193751799ffa46d361572a005b419ee7072 |
Hashes for pyjoulescope_driver-1.3.15-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50a3ae39e7ba3b86d88f486f1d13c474c6fccb2849c8a0dd3e0ed57fa626262a |
|
MD5 | 1f3aae38cb3747729b093ff7c9b08646 |
|
BLAKE2b-256 | c58a8dcd4f149b0b1ca5a29403484db0f2ec66db1c7d7a8d58c93c31ea8e8e71 |
Hashes for pyjoulescope_driver-1.3.15-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39cafcebbc556a0fd6bac15d16bed7d04ef483a746e076ffd83774023e80f8dc |
|
MD5 | 691d635e6a2a54e871055ee8afb841ae |
|
BLAKE2b-256 | 0494c3402cce997eadb0f9e24ba7fffa26c1e50dceba1193757f9ac069925b83 |
Hashes for pyjoulescope_driver-1.3.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f394a79e827112a7ff6ea4bebb5529b278f94c151bb08e573df9d6cb5a167c37 |
|
MD5 | 6d80d6d0312d0ab6390629f9cfa1a707 |
|
BLAKE2b-256 | 9500859c935b941f25e50e95f5fa97870407a1b8b061fd84aa30b5f8a8b6f56a |
Hashes for pyjoulescope_driver-1.3.15-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06b2741e8802b921b1dc26d640688f26fd2ec37b45e60d8f9c401f92768c784d |
|
MD5 | 321876d001a5834501b18ee0b87c7453 |
|
BLAKE2b-256 | d26a669266346aabd4abeb2b03b1109805f4c7ee8de4f775da47c7c5ed1d9e96 |