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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

pyjoulescope_driver-1.7.1-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.1-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.1-cp312-cp312-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.12 Windows x86-64

pyjoulescope_driver-1.7.1-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.1-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.1-cp311-cp311-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

pyjoulescope_driver-1.7.1-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.1-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.1-cp310-cp310-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

pyjoulescope_driver-1.7.1-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.1-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.1.tar.gz.

File metadata

  • Download URL: pyjoulescope_driver-1.7.1.tar.gz
  • Upload date:
  • Size: 3.5 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.7.1.tar.gz
Algorithm Hash digest
SHA256 faa5291ad63043a453d3f02242d2957887f8224ffc4a46801470d4c4919aaf82
MD5 37a8a48f88f93ee31b2a87759b11f0d5
BLAKE2b-256 eef62ca0f500e2aefac865b93cf653ec987a3eec6a7d789813a8da622bc723c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 32ea4425e594c475cc2e18e7bf872faafefab2965cc2b5dff91bc6c28ac24177
MD5 e84fd056ffc799c286750fd1f7cd79ab
BLAKE2b-256 7aa6823350bf5b61f7e3539d1109a14b48109e2e0efc5f4c95fb459fa2505e67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 60b7c2395d0833601ee12d778928b6a94069cfa671cf990719b6ff67b1f497f1
MD5 983b969bdb8ef1b1511d7fc9847eb74a
BLAKE2b-256 e4566dea88fb3db63b97e495ad026f28221292e19e2dd8d715c26e66ed7be51c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.1-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 05808947bf87de416cd9644c571944c4919719007f6f61442060d3e179217bca
MD5 2866281e376cf771ebc2a6c05c724bb5
BLAKE2b-256 4b892b8e9a705be76ce548f1a95d4912472275ef5eaa9242fcee7b297d77afb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 eae08fddd74635f63f8c8f6bf93a8bc849bac06a5215568edcd7e20264e587ec
MD5 333f13d2b3707d6e0440853de7eeb667
BLAKE2b-256 9d42f4ac1ac91222a687ce0221790409c3e63c1c41a3e1a544dd7ba482dd2ff3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a4bf77bb233c6fce8800517a61ee2a0f77d548612ec7141e59a37954040de168
MD5 9d7e25bbfe052ad6444d879d7c8340de
BLAKE2b-256 ba0c44935afff162ef1de35cac39fe22237a0d8dc52aad5dd72a0fb5c822ac50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.1-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 9bf89b4a43ac1e9c051ba11cbd26c76c183a97aa40024af3b41462f9c5622c02
MD5 fbd245090b91ccbe1048d68d99d5ae54
BLAKE2b-256 2c3c1117412e4b7d25cbcd5da2e5b7452899b9437e2a92ef2b2b852f6e1b891c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e7c20ae92b1e9ebdbadc1783c3ad7273c4c4ef92e89d9f8907e51ff54d0ad2c5
MD5 b0246fb64f896647a192dd00d186ed65
BLAKE2b-256 b1d40a4f48a6ba2d3cce69ecad259a2e24d5074fd7c8e776c8450e00f9241505

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dc0622857c9ebeb9b8d986b9bb5ff8f02fe7abafa7d87ec2a9a3a54b1bea5f67
MD5 76629beac593fce82315dd49d7a2351e
BLAKE2b-256 d0714e676a7e4745bb1c5108a0084eeac7964f1ac3d9f4cd194b997a9a838f8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 179d55809fb34a9dc9e684556f04e0261c47a6bb5ad8e318f674d9505ed1c291
MD5 511db06493af86a3bcb394ac29a16381
BLAKE2b-256 b2af472cd508584163707efe148c62a64a01f8ffb51afae97588bfa7583d8fec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8316771a9c24827b15a15af241f7e10a4fe9aba6a8c70f790f3d3dc3c14149ff
MD5 83d6186406581ac8e7128ba6292fd85b
BLAKE2b-256 5ac8a883e19170890329bc60ea9885b9da85370cbe6cecff05f50a31c1c7bfb0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c1079de39fd96cf13cb5327f57cacc31e5523abe68720910f33b89bd2ae8dc29
MD5 6d5d620673e7f38427f274613651fff1
BLAKE2b-256 dc0ab914b83e1cd72fa25e3a7e2765c97aebe7d3ebcd3deb15a30d669b62a677

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 65bd3caffc1da1d7f79f3100f43da87ff2fe1ab834475ea89d12a7996c9fbbe2
MD5 199acfef5e71516a37ad878fc344c654
BLAKE2b-256 53c63b5cae9396f047882a8bf5b6c2e9c276762bb34d530e9ad3e5d152dcff19

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