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

Uploaded Source

Built Distributions

pyjoulescope_driver-1.7.3-cp313-cp313-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.13 Windows x86-64

pyjoulescope_driver-1.7.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.7.3-cp313-cp313-macosx_10_13_universal2.whl (3.5 MB view details)

Uploaded CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)

pyjoulescope_driver-1.7.3-cp312-cp312-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.12 Windows x86-64

pyjoulescope_driver-1.7.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.7.3-cp312-cp312-macosx_10_13_universal2.whl (3.5 MB view details)

Uploaded CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)

pyjoulescope_driver-1.7.3-cp311-cp311-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

pyjoulescope_driver-1.7.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.7.3-cp311-cp311-macosx_10_9_universal2.whl (3.5 MB view details)

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

pyjoulescope_driver-1.7.3-cp310-cp310-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

pyjoulescope_driver-1.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.7.3-cp310-cp310-macosx_10_9_universal2.whl (3.5 MB view details)

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

File details

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

File metadata

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

File hashes

Hashes for pyjoulescope_driver-1.7.3.tar.gz
Algorithm Hash digest
SHA256 de36187de4c1c47f424a0e5582c5833445240fbb2fb1b417d9833adc54f130a2
MD5 77206b2e81a04e0100a1ee6f4b51f6da
BLAKE2b-256 d409bc9a572ffccbd7a967339a0f492f6c61abb14dbbbdc8af460f44eac4280f

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.7.3-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 10be9f9e416b7928cfdd22c779596b34a51f2f3883309128db5b400ce58876b4
MD5 f58ec7274afd6d546cf9a82e6359cf70
BLAKE2b-256 1b1dc49308ddc75a0c343bdd1c7e6145dc58ba336feabb66b6ab26583017562e

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.7.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 343792b2509f737118affcc9d86a3e7adb5ab32657d5f9251dd2b24bb571f579
MD5 a386fd383647182ed1b395f7da51d504
BLAKE2b-256 35087a9cd9ad2ef3cb65d7e5ae21cff2b1dad92dfa849d673cabad1f02c02ac9

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.7.3-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.3-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 879dfbff1f5038d23791afaa2c2f6860ac66c2c16f9d8395ff5801b6cd0b5df2
MD5 fe3d18772a20f33484dc8a5365ded252
BLAKE2b-256 e589e44120928c73c25b2b6019283d419a959fc91eb19d63b7b9a4004268fb65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 075f61d82584d86d881f188bc248a2e33dceb098ad1e5a3f8a66eb2e4efe8ad4
MD5 4f5929bc25c8b5116fb203c43cbf55aa
BLAKE2b-256 a6df07845da1e8edbc4c729e2b4a36bf50caf86e2c3218e9051ec9212abc87a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 32e845c0c8879268958df6f0bb379da753dea590c8f235bf8219d011b51943b4
MD5 36e888955e57c2552162fcd999b1d0bc
BLAKE2b-256 df7124f9d9e4793c574cac9fff222e293b5a0c030a6a780b4cc3f534d13db6ee

See more details on using hashes here.

File details

Details for the file pyjoulescope_driver-1.7.3-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.3-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 9698b787cadf866e84222461da38871e1e5966b9e8b7415f82e1fcb4af1e6f84
MD5 66d9f1bc1a304d4808e4a0effae67323
BLAKE2b-256 1c1aa6f4e4c9bcff7f9f2c4cdd32aae99419f0874a1c3f628d9f2fc8bf6ab139

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a90dd2a5117d65fbce6117fb7fa3ce45c0d1c215e7c58a5cdd3b8310947e8730
MD5 8aa005ea409e154f71d09ba990dbb0af
BLAKE2b-256 e9d1b379f5120823a53d13bf9f822cd7ca164528f08558830c6f90abe0915d4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8eaf03b19017779382e3fc7cee4c186e1132c30affb681ae039f3fe2fc085410
MD5 20f4bea8b18cf2f3e945bd115d2f3563
BLAKE2b-256 a5a693d25d74fcd7804062adc14ac3896978e35c028188b55271f15922f0a4fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d40bc89fd911b1d5e37ac27d5929044a78de8f50f713d4f7b4382ed99c50d052
MD5 fa3407d81facd7a9933c80fe1afb1a9d
BLAKE2b-256 08b6a1a653993982f9d44f34458d38ecb19c1fc7835b9c0cf491c9bc27c6a3b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3c852b6d985b8fe271f002fcfe957da9e8675ce6774eab52928ec208960c9e39
MD5 c13cd90f6b308903cfa3eff271a1153c
BLAKE2b-256 11bc7fea26cc5e025e108192e84cff7ecf70a223f7326809c3cf0a6971beb8c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 54644ece49848024fbd30c2eb8c63e5886eebe4eb7e3c78379417157ad58232c
MD5 92afebad9a0f65ad7e8e4e490ee926a9
BLAKE2b-256 6d3c17241b3c3f2ce83956073262a8472f8b113bac80e2eea138392a5530705f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8c7af3fbd03d9e17c18485cef8e7ec152515dd885bc9358f2ac66c369252ab82
MD5 714cb0e05ebe9671cbc4c7096275d9fa
BLAKE2b-256 62e2e005f14fd158cdaeeaddeb27f3c532f548c595bbf282162e6884ee97e3ae

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