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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.9 Windows x86-64

pyjoulescope_driver-1.5.6-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.6-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.6.tar.gz.

File metadata

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

File hashes

Hashes for pyjoulescope_driver-1.5.6.tar.gz
Algorithm Hash digest
SHA256 0b7be8b943c1354c561ff2a35443a7f7d9c1119f2ecabf9f1025afffc828b177
MD5 27408f5061eba1c0518ffc4ea2d5b5cb
BLAKE2b-256 245e40e74da22d7ff5bf012abb5a9ea09767a03a9054da9117738b7760dbb0ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cd6898fa0f629e0ac623d86b42418b1aaa6d85e44a94b4126d76c96664919275
MD5 5269d41a8265147e31836a04c41b8e51
BLAKE2b-256 fbf46e5128fd6ad46daddf0b2b37344da8f14655fb9be9cbd98887a8e9e39a0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 755dcf7f203ff0ac5ba7ec66d48248133e96a6720cf4be567480709131cda334
MD5 f4133947805f7370a25a79df3dbf5cdc
BLAKE2b-256 e44a54d7c6bb0cc748875660463e13e5aa1719736b4a984b279bd1c50dc16a62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.6-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 67e34b304171f77fcbdf37bb34e6314942f7702471f92f0e4ddad1480ce7ac54
MD5 4444bf21904f3ef44aa7ef306a1700e2
BLAKE2b-256 6d02b6abed0aa2f85e0d613e203afd1ff161f2c2edac4a9fd8f1bed869581029

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2045b842a881df42d1d42b5979350892c29c197f0e9fea9ef2e141bad0854d76
MD5 94e163322336ba795a8f6240bf954ae7
BLAKE2b-256 d296e35395905c5c8e37b24e2646affe03402b62f7ea60d3e656c60d7e975f97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 36686aa18bf8d68ae87085636a57b82e183f87a18ae616e81e1524de60cb904e
MD5 b9595de74d555b3e05da60fea49c5b83
BLAKE2b-256 790866e953923ceaa7623595efcad8447ce41b736d7e0b75dcf56643fe78d17a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.6-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d7e86ea35e662ca65e417139553b217635052cf19f7f2d803c82ed036789583c
MD5 7df2bea5c0e8bab2f7063b4fa99efc72
BLAKE2b-256 e179d8b4e45e2d6ea71133459d77b395f376ce7b28744fbf883577321267c0e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2c7d506c24b49ff191f68c8d3097dfe42648d8cbad47ba9973a44e7aaae8719b
MD5 739b55f8c62804635e80f6bd6ebff654
BLAKE2b-256 71fb791679ddc2420d29c2a7af7929e46cb0ee19ad5c46f31b711678095b0c90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3632943633f04c729df933a06d33e454c022c2ad1af0b82012d5228bd293d9d8
MD5 673a9086fab6a281378fe2fa07315baa
BLAKE2b-256 c70c89a13aaa6065b9fccf1062f36ca7ef6314fd98cbdd01028f17a23d9fe630

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.6-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 28f4d68617d36f181fca9c5216ee4baec783690d94c65cf5b4adbb02a04e4498
MD5 b428565c07c7b3015f9793c8de4be5b2
BLAKE2b-256 0f1e3dcf09099c75e7173955d133f6aaed3d7e51b59efbb1a3713d6f234fe352

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 562f43544561f0950afdce687e2f665e5451a2b096af1590e6cf2c061150ee9d
MD5 6a209955a7b204f3c283dbdc04d1a4d5
BLAKE2b-256 f93a0a06af761df46b993a75ccd2cce039ebd8a8d39b26b9bcacbe04ebd2cb8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4a6927a5ce3971b30025156db53e57f87dce2e8d73861beca627a7c4972765c2
MD5 6c09480817880401b702bb3d3ea058d3
BLAKE2b-256 bfc81bd2001803990adf767fb47ee8ce0a8b5e15c823627d98baa34d7add0ffe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.5.6-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a087a61880be41d5e11886856cb33f6fc987ef208a790acd85857f5f2a938757
MD5 40c0d4d45fe22341a2645c9240b8d2b1
BLAKE2b-256 ef9b7f8249b31c5a14042389782ebc621f5b3d4670e42a4483b35b382cb58745

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