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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.13 Windows x86-64

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

pyjoulescope_driver-1.7.0-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.0-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.0.tar.gz.

File metadata

  • Download URL: pyjoulescope_driver-1.7.0.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.0.tar.gz
Algorithm Hash digest
SHA256 00efd0a4a161ba721546023e62397e8ca7f41eeab743be70d8b7d2b77f8dada4
MD5 1005b2ffbc3c309fd7cff0f521a1d8dc
BLAKE2b-256 ca066fff216746b31c25cc36639b87579346c3ff26a03fb460478e065cef93bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7ef0fa5ccf1efe8d28c4caeb239aec83b96a5b74c45a36b706a482dad73222a4
MD5 9f6e4186f34c1ed18058f159701f806a
BLAKE2b-256 15be17204682887f79de4b17b1c41dfa50d3d5d6c5c18e57af35c920656f9c4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aca44a173fb391f797fa918c93cda32da8ac8b0a4f6fda4b302816ed225cd86b
MD5 7b0d6262a6092aed461dac61197f0484
BLAKE2b-256 666ed1af527ba57bde2cd82beb388021f8b279e575fae0be39b72e9ede331dd2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 792de1d3ce4df0685326f1116bb0f6f06c5e4f93c397fd7c56a9dc87fd82c828
MD5 94a5bfc08c09df4ac4668f9b39af0947
BLAKE2b-256 8778bda5cf87aa8a10bf9c90dda253ba06d998939092061991286155d1520604

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2084fb37674d9388965b500a22f320af65c46114554c87265d6caffc13ba5ee6
MD5 c7710e7ad2a320946ad3d729f0f9568c
BLAKE2b-256 6fd933a29c8db3786295bfae6a5544ad138bfbf3142d350b2b76d48483bee949

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6b3ac3731eb9bfbd5255de295459fbfe5d40d9ae6a93f17d530f91612aa3ad18
MD5 39653ce9b1862badde02715c33c058b8
BLAKE2b-256 70685ffd8ef333d95ae996d41b8a0d70c488a0f1212517b4694cee0039b739cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 003491f985badc3f10a7149776f4b18008e72f25d5a1c2b087509d0cab5ae6ef
MD5 4030d56fd9eed1418cd44821b4ac6489
BLAKE2b-256 3e75cb01daaca277c1932b24c736dde30bad5d3bfa9b38dc84c9f22bd5969aff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e4226630bb0923d297e2045927528d0e8958e9cd53be08e6890b1c2c23f4125c
MD5 4d3b9032a15acd4f552746aa6ada09ee
BLAKE2b-256 ef39dfee93b8eb7bb2ae09334ba6d2420cea53d6bcb871b1a77a04564d054ddb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 20ebd81e005ff1b39c2c939d09d6ad17786ebb60baa8c13de2d3048b7321f134
MD5 4fd5be426387e10af9782f593c8d433e
BLAKE2b-256 6a26fcd356d4a951be4a15a3c97d7e2b05e32a14458c970fd0ee968e020b5492

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c5d7bcde0757f4b252671a17014bab3f3599d140a482bd6f9880ef7e93870570
MD5 b3a840d3e94e4605dbc99c6bd5e900dc
BLAKE2b-256 dd53f49f600e789a6fd587a87c31a5bba48872830e2b4fb5f55add5a02a15917

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d91b8ca5a4fbdfca9e7c636691e95b4d5b5facb1cb2ea4574281cd303b632101
MD5 650cfe83530e3f3808a792249024326b
BLAKE2b-256 043b9430b9555c434f0d1fd9013d8e1cc9426c5aed7a635a35988fb4bb3e60e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 38573cf1cbb34311178135ce16f4f0c451dfbceb243e7d53f4805e83d2da7c50
MD5 cb4a82707e2ecdb3253b470e77fa79a1
BLAKE2b-256 a537a8634c6a3aa702168ebf6f390f62f39336961bc9c5b853240d8c182822ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.7.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 56302c138ecef1daa21398e6e8aa686f7ec4612c6570b12fe442c0b1cfdc4009
MD5 48fad75704d22e81d9ebba5dc5c7bc68
BLAKE2b-256 a93d771d0806f8392b2a3ef0ecc180b5640e9ae83873800d0323340f00b6e680

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