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. If you are using a modern Linux distribution managed by systemd, using tag-based rules is most likely the right choice:

$ wget https://raw.githubusercontent.com/jetperch/joulescope_driver/main/72-joulescope.rules
$ sudo cp 72-joulescope.rules /etc/udev/rules.d/
$ sudo udevadm control --reload-rules

If your system is not managed by systemd or your user is not assigned a proper login seat (as may be the case when logging in via SSH), using group-based rules is necessery (note that the plugdev group must exist/be created and your user must belong to it):

$ 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.

Release history Release notifications | RSS feed

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

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyjoulescope_driver-2.3.0-cp314-cp314-win_arm64.whl (3.7 MB view details)

Uploaded CPython 3.14Windows ARM64

pyjoulescope_driver-2.3.0-cp314-cp314-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.14Windows x86-64

pyjoulescope_driver-2.3.0-cp314-cp314-manylinux_2_28_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.3.0-cp314-cp314-manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.3.0-cp314-cp314-macosx_10_15_universal2.whl (4.8 MB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

pyjoulescope_driver-2.3.0-cp313-cp313-win_arm64.whl (3.7 MB view details)

Uploaded CPython 3.13Windows ARM64

pyjoulescope_driver-2.3.0-cp313-cp313-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.13Windows x86-64

pyjoulescope_driver-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.3.0-cp313-cp313-manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.3.0-cp313-cp313-macosx_10_13_universal2.whl (4.8 MB view details)

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

pyjoulescope_driver-2.3.0-cp312-cp312-win_arm64.whl (3.7 MB view details)

Uploaded CPython 3.12Windows ARM64

pyjoulescope_driver-2.3.0-cp312-cp312-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.12Windows x86-64

pyjoulescope_driver-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pyjoulescope_driver-2.3.0-cp312-cp312-manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.3.0-cp312-cp312-macosx_10_13_universal2.whl (4.8 MB view details)

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

File details

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

File metadata

  • Download URL: pyjoulescope_driver-2.3.0.tar.gz
  • Upload date:
  • Size: 4.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyjoulescope_driver-2.3.0.tar.gz
Algorithm Hash digest
SHA256 71162251b550c8c91ce1d5ab6a1c9d6f132addf2ba53a98b453b4cec43ebd6ec
MD5 2a882d3c490e3510e51a7ffa7e13c66c
BLAKE2b-256 801e95aabadc6b04d2af203f0d751b69569c669c16819295f1c1f8f0f71a10f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0.tar.gz:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.0-cp314-cp314-win_arm64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 a27003b05d04a03a730ea4e071eb34ab109bd682d583aa55af5aae3659c488a8
MD5 7c307225771e2447e9609c7d8e192aef
BLAKE2b-256 00d63cc41cad33697db4d32a8594a4ae063b7c5b3f6c804b1572c7621ca28fb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0-cp314-cp314-win_arm64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c0047f1110bc16c74185577b69f12f9579dbbb5eab5493e88a68236b892526eb
MD5 0f9981220030f52007d61054c16699b8
BLAKE2b-256 b55cc32c660ca8f17ca6a7b277c258cce6a4725c8f2220285b19090cdf0cbd14

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0-cp314-cp314-win_amd64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9c197418bd3071b3ccf12319e3097b3ac01c76bd18464fb9a168d68ba07db33a
MD5 287d374cdc762bceb60c50764b08dc2c
BLAKE2b-256 51f65bb5587659cecf5703039dae9fea91862d54003c690b08d5388d1db0ff8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.0-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 849cac8e65fcfe82ba7bd372088a48c29c9c6e18c4ae76d6f9196bb8cbaea281
MD5 8cd8d3591c26b2edfbae081308158ecc
BLAKE2b-256 6d45286f8629c99c9c2b382f80a82e7473b35f88bf2ac7322a82502df0d62bae

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0-cp314-cp314-manylinux_2_28_aarch64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.0-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.0-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 4f716c4f6d4607187307171b51e54e8e4a37c741bd30c5284d3b8f1bd0530a47
MD5 d6f876ba18e6d04df543a347177a956e
BLAKE2b-256 917af84e10c825fc77b78f623b2ca0c7fc414877f578686c5c8a4c6b74ef7abb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0-cp314-cp314-macosx_10_15_universal2.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.0-cp313-cp313-win_arm64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 82cbb2431265c4dca76f2a5e7c785a0c15ebb6d57819167bc90d223aa931de0b
MD5 def381051f5c65ffd3c64101204bdef2
BLAKE2b-256 eb2eff933baf81e758ce9d94942678bd298742f3940ab38d1fa2162d085b3007

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0-cp313-cp313-win_arm64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a4d488b8c3f2f320170402a30cc5bd25595349dea7bbdf9f725582148826e6a3
MD5 d4919ac5c508a5f04a5535b05f9bd8e2
BLAKE2b-256 5ca5ef74dad15e14253d3cd1594dd684eddd24b80517fc04342d309cc06cf800

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0-cp313-cp313-win_amd64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 24f9f729f2a850f5cce1ee8bc8fe18833d3aa221fa1fc2ab48b11c7fb0dc6b58
MD5 0ffeb3efb00f4265db0e518d98747f16
BLAKE2b-256 dda44e8596cd96c9af90a38bcae6968f16fd8281509b6d0892532a399865f5ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c7b03c42274afc2990563d35544fb3571e2bf64c246e8ac87b1f70f8b69f174d
MD5 f6df261c03fd191bbb799eb9e8a3c20f
BLAKE2b-256 7c69933c96de2ee9d2c007c64b0feec73f804ec5206af77dc01c19e4995a774f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 d2c0b9d946d0dead337e50f3d16a2320f5b6d918ebbc1d13a287085cb06bcd5b
MD5 f7fd7944b8931122d3034882ffd73da2
BLAKE2b-256 709d3a3eb8ada81c1a05b8d1c22d119c595ad80dc45d8b2eb72fc6cbf99a72e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0-cp313-cp313-macosx_10_13_universal2.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.0-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 a77c9a075402ca7f0ba4a6a2b36884b8555492e46a1961407b63d8a3888b6c08
MD5 898a963d22ee297f89d8e05360609bbd
BLAKE2b-256 30db24b91a40d5094148ae391da6ab95e442de6af1087a8761d569172eb7c7ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0-cp312-cp312-win_arm64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d4a0fe1ae2216196a54068b17dbe181342b5ab2bc6c99852bd03351a202e0cdf
MD5 bb4bb15174a203f801cafd706b955187
BLAKE2b-256 292ae755c92d7c37b9a63c7b8a29a824e18e1cc9ae5ac5b977adff31135d61db

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0-cp312-cp312-win_amd64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0c717e4e13e653463b1594003a1e91e1aab5df910ec7829c2840a89d62eb8327
MD5 2ebf2a18dbe48c5c4d2e64fba0352897
BLAKE2b-256 ad1d5ebaa356e73d006705e6b05ec9d9196c8867f820163a4d73f60bd8cba470

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyjoulescope_driver-2.3.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ec5bbe4ae017c35ed137a15415bea9c15deb084e03aeb54275dadf3475badab7
MD5 333ca50800665eee1ccee495e8ade3d9
BLAKE2b-256 c824070081624fc21dcf23a4ef6a531b667e4b8bef90798026ab96177183f7fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 263b258652d28608fd072880a9efb01e20a53c9ceded32234873f3bd3ae77b9e
MD5 0e724e033986b0beab19d468dcec2420
BLAKE2b-256 ed1d3c069530ed14df7cf36a6ca105658e67208f00a7d798abbf8dbcfe84279c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.0-cp312-cp312-macosx_10_13_universal2.whl:

Publisher: packaging.yml on jetperch/joulescope_driver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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