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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

pyjoulescope_driver-1.6.0-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.6.0-cp312-cp312-macosx_10_13_universal2.whl (3.4 MB view details)

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

pyjoulescope_driver-1.6.0-cp311-cp311-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.9 Windows x86-64

pyjoulescope_driver-1.6.0-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.6.0-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.6.0.tar.gz.

File metadata

  • Download URL: pyjoulescope_driver-1.6.0.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.6.0.tar.gz
Algorithm Hash digest
SHA256 943a7bf67d77c82cc3a060d0313a6d6928620d31e10e796a597a2579e6a8c533
MD5 d8e23e576e4b339471881e18cba6a639
BLAKE2b-256 edf04877fbde6f6feddcc2c63e6ca2e69c57697d64cdbd2dbe707d561ea2be92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.6.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2bf1ea4931b2182aed589d7c5874cb90e24c1bcfd88a6c07829e32e3e847a824
MD5 0859d1cf813e60ba468bba1f9bcc5c3b
BLAKE2b-256 72a7baee61372e4867ce6fd25bc3f7e46e968435f35f927193a4e3fb9ce5803d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5b5c0664facd7b2bc5d1bab86ec1e3ae42c5b166a157435800dbfb0ff7652fd5
MD5 d5119683e3918678be932c03c1609d1a
BLAKE2b-256 cd3a5506e6e667d6d107e9d8d9da07e31a86aed0611fd4ecee54f7547ed801b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.6.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 9998fa41fd7f5cb749ea28bf30e5fc431c324110e96a8d6a453fb5f1f87596b3
MD5 aa3753a4607e0d5d1a64b7eae8a40ba4
BLAKE2b-256 19a7f51f1ed0e5d546611c96f04c3bcd9b6f94cd0fff42c2a8a887c266d55dba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.6.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2a6502f755e5ebe5470a1a4634a374ca1334e0720ef9a90a022f3c2e82636f94
MD5 af68ab6f3eae546498a50d8fcd7fd358
BLAKE2b-256 a55f7c8bdfb6ed6630b1bf7e297152eb3d70fdd3f3a6e604c277c855621be219

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c848e34871b1e8810ae65d5f776b29437b06c6b8744c269b03d4c384538f001
MD5 ddcc4d2d4aa6e9889c236abbae69dd38
BLAKE2b-256 bcaae75a56fb00cf1fe3687bb2d23dc820f11dd67856c7175e95769c3062071f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.6.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b32f328bde293e9e2ef251690144148533599bb7ca562b522f104f98d2d75e04
MD5 5f9c64ee9e3a31b0610b12561cccd9c9
BLAKE2b-256 8a7d9b4db2b2e118d13d4132f86dfee82c93be1c3a5fd1a9d9b41de01ce5c53e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.6.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8d511883808546e5aad640f95298d5666a4cbc356f8821bd5988a395e90e7964
MD5 f9c8d09c0499d5f6406818f7a310d8fb
BLAKE2b-256 3024d9ae9a66a48a2e3b615fe21377315776d4651964e809e4bea417e6fc40fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e094ba8e64c698023160446f23ad581e6ce63ed623a1953fe290240f3622d50e
MD5 bd61cc4a7afdd2dc7765ec87783bb0a2
BLAKE2b-256 6ec33ccdb3179f8eb1b9dc37c8fdc312404c151aa37b07e1981e6811a4989944

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.6.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 33b7377aff80c3c9ff2ab5a13d4113400ec8a009a84c59dc2622422645bd8acc
MD5 fbaf45211ace3a378b49b3c3671e6033
BLAKE2b-256 0fce0e7f1641f298846848a42352016fe8b7ccb8bca61cc2955d85d6cc8728e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.6.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 97f84dd687e61e37bbd4d7b2adfa8a71e195cb2f1ad9086cf5071768c5b6fa54
MD5 3bf545e3289a85881342f2e2a9f7ea5c
BLAKE2b-256 ef0250f3c18e5f01550dd77d96af2e443e103b5bd5309686303ce7d92c215cad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e213d6ea5f754f757bd4d4c0d269491f1719a2394b556c9f989991369fd1e551
MD5 e3801cb1aaba13bc1a1b0220a38674b0
BLAKE2b-256 a111d657995eb73d48e3f6a39309504e631d095d78a1ac63b9a5d5a939fbbc81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.6.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 029fd0263f67f62bd2cea5ec785739dfabc3fbf89ec9cd9505d668e70b282210
MD5 873e1b0a190bf978da50172812333775
BLAKE2b-256 e20eb328d8945a51a424e49d9486daaed4b4299f7bf613f31afa173abfd1ce5b

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