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.14.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1900d41f0fbdba01db7f68e5381fe5cf2078a8a5bb2626c5746240a8d4c4839e |
|
MD5 | 92b470c091fef862292d4b4ebf9d7833 |
|
BLAKE2b-256 | 29e11ffc3adbbe8fe7ae589aa34dbe37b26615b481a00989ebbfa877384d3fab |
Hashes for pyjoulescope_driver-1.3.14-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3ee1f43c0163e381c587818302be35f85eb1fe3751a00758c6be07a4097ad85 |
|
MD5 | 379107f16b8ddb4bbcc176fb22b41878 |
|
BLAKE2b-256 | b3273eb813e412cdf7b9e4a191973d2c6616531487ed0d51a7acdd911cd9afa6 |
Hashes for pyjoulescope_driver-1.3.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5596fa7f3b0436b9d48cf216fa5a8d8a938621232ffd02b0d7c35932e1211ee2 |
|
MD5 | ee0aecdb8104111c93ff3564988503c7 |
|
BLAKE2b-256 | 7091d25a62d23f801145d37a94f9ddd73e65ba928ad9195c8fc6c328160979c8 |
Hashes for pyjoulescope_driver-1.3.14-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6c9c3c161481207e6c5680db3f26ea29e412806c7e79492641a87195478542e |
|
MD5 | c94a801e5b92e933e24ecb6a7a01316a |
|
BLAKE2b-256 | 289f73efbbda95a3587790b9f679f64b59707d52d66d02bcf0a4272e5d506a96 |
Hashes for pyjoulescope_driver-1.3.14-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed7e35d61119b0c403e3961377134d5c7f5b77b2d240c984142b80d74405b798 |
|
MD5 | 7f0aa13bc4aaf207232066a1b06446be |
|
BLAKE2b-256 | 84a700090be1dc6e48d925ddf52bce7b9795c1caa9ac0b4a287cdd3addd81445 |
Hashes for pyjoulescope_driver-1.3.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 584b836f3fd3e4790eff867cea1ce94e65b955c21b06f8851f0bb57fa481f167 |
|
MD5 | f760c69dcb295807acd4f4dce097321d |
|
BLAKE2b-256 | c941f250f4c85a36c03457ea3b45bfd30a384f10bd694e4d7c20f80430f1be4f |
Hashes for pyjoulescope_driver-1.3.14-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23a0ced61426944ca5b64927dfadc5f03dc6f959940bc95c60c355f323be7af0 |
|
MD5 | dd6010f5ed727a9615a100bb797d6270 |
|
BLAKE2b-256 | 0af9e1ba793da80fdc0eb81744b4c3d021c077b6959b4405cfe9230c41834ab5 |
Hashes for pyjoulescope_driver-1.3.14-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f75a7c3fb38727283fb15ec31a51463301ab200265f096028383494e88f932a6 |
|
MD5 | d2b73434f6c798e84f7e2e131aeb29a9 |
|
BLAKE2b-256 | 26a6a4e3c2609ea20f4ba369fdc1990e55c11903dde2fd1d56845a39638e13d8 |
Hashes for pyjoulescope_driver-1.3.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86c517f51e812cca869cdc49ebf6ff2f0b982c37ff700ceb3a69211d3534ce83 |
|
MD5 | 578f75131cba4e3446bd41a16ee918be |
|
BLAKE2b-256 | 25ffceb558b3d6a7103a8012850c200ee2e06905a4ea3470cb05b2b73c834a1c |
Hashes for pyjoulescope_driver-1.3.14-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73e1c1e706047fff182a3fddb0c5c7d5f2a62565f6db3f1bcc7f61bca847a1ba |
|
MD5 | 1b71ce02ae9d78183b9a15d325afb63a |
|
BLAKE2b-256 | c15b961375fe2fc3e41480635080273848e6348a94eb9e4385cfb38f8eb09e1f |