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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12Windows x86-64

pyjoulescope_driver-1.4.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.4.9-cp312-cp312-macosx_10_9_universal2.whl (3.4 MB view details)

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

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

Uploaded CPython 3.11Windows x86-64

pyjoulescope_driver-1.4.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.4.9-cp311-cp311-macosx_10_9_universal2.whl (3.4 MB view details)

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

pyjoulescope_driver-1.4.9-cp310-cp310-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.10Windows x86-64

pyjoulescope_driver-1.4.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.4.9-cp310-cp310-macosx_10_9_universal2.whl (3.4 MB view details)

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

pyjoulescope_driver-1.4.9-cp39-cp39-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.9Windows x86-64

pyjoulescope_driver-1.4.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.4.9-cp39-cp39-macosx_10_9_universal2.whl (3.4 MB view details)

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

File details

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

File metadata

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

File hashes

Hashes for pyjoulescope_driver-1.4.9.tar.gz
Algorithm Hash digest
SHA256 82212900be9c974a90d6060491a107835cd7ef92be773b8da0227b8162761070
MD5 c356601306dddea44bbf3fcd5ebf9dcf
BLAKE2b-256 4212d0b708febc5aae826dcd309be1b5617c8665c584696807eeedd8475a1dda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 69c88641baf83fb456f7a887b01d11d8cabc653a730e8b8908d7a581e84de366
MD5 f8cfda7447f1370e484f821bc24f237a
BLAKE2b-256 6122c1ab778c4225392de84b4576348f4b51577e85b85074664f123820dd127a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 accc3713ef7e69d7b08c8ee2245675369a37889055cdef8797b78c027972a5cc
MD5 be40213d0fa5b0a6517f5d2c0db301d9
BLAKE2b-256 e05ad730a7ed842737d5d63cd467cd3812a151084321a3c4c4f83ef4f886c39f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.9-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 23b8383d408de405b441616154c341d00b8d48a8d2aaf296b71b45f71260a5ed
MD5 c234f14f3070b07d876ddd1de05aa6d5
BLAKE2b-256 0da4f76444d3f58042227b616eef846df79d46c1c144b22e6fbc0179f3a59755

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 50b2da19de7827e8232004ece7975c71da0984fc23b76addd1e0b29d0e61cf4e
MD5 3be32f7a6c25400e9bf15e077fbffed3
BLAKE2b-256 49027f7d0bab83c3c2bc7face1cbbf1424b3bfbcae596b4e4bc07a9f29630725

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 64fe8474e61a32871da559fbe5de0ebc77b84c688d3b22d2fa6e09867ffd0d4f
MD5 c7a449ffc42616de98e1b316bf3e8382
BLAKE2b-256 af142e88915a8be61693a732221de43505ae525598e8db84b3ac8e899cfa2a46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.9-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4fafa7ce0867bfb1d92642dedd427dab8d91a79893d9b48bc60f051a2e32b54d
MD5 1a19e598ad78e42aa3276a91ac98a7dc
BLAKE2b-256 add128f1e81962fef2453b77c08c0cfdf5aff9656e0ad435ed904f182470eb50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2321f6aba1d0edc8327a3c42da6a91b7c9dbc8c902d79d97e1c008ef8637527c
MD5 099549145d2b87e52848f25a34c25ec1
BLAKE2b-256 ba489bef17eb3e6b6438d8c674ca03b1f8eeddae89f1b647d611c9cd91a2eba5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 814b92e8768f33b44e845def2b2cb7223d3d410b9a55290402c41595af9b1506
MD5 b25f62c6b4e28f0cb19081eab0dece45
BLAKE2b-256 baec513534bdd1a5c530c7d35ab1d8ab7ae1ae1c4b7922511984b3557dde8431

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.9-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7410f8a4abc40a9be09c4ba395b8e1151866c4965d7375527112acfac437c6b8
MD5 12206f18fc8c699d64f6f34542b7f514
BLAKE2b-256 1155d60c5290f0e807ae7de8cdcbacec697d35224b42bfd7fb9c718ed2f126ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 31a5695c41a7d4eec854bebf91b90f8bb295d8bcabdd8455a7070e1cdd1100f4
MD5 cb8ba7c27864e71ed86b2644343a47fb
BLAKE2b-256 e5482f61e26e2b479619314c3875d9d31627c09985fd0d5123ee816b0df0ab5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c980ba4c9a4e45dbe85678f2da8bb6afdf2ab8160264741dd532622a446c6d10
MD5 ba036dbf9da18766cb57c8baab5fd6f8
BLAKE2b-256 461e761eaec2ef22e1e7592da7f65b925a43d098b95ce862faab8cafe9a383f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.9-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 bcdedeaa2fba37555021a18996c97b7703f7f42576f1d1ed977c6fc3e20fbb8f
MD5 3c58a3ee46efac6f7840728736675507
BLAKE2b-256 09a9add65384f57e44b0df5f8988b3ab297aa840e2c4065d83a7d751e222a78b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page