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.2.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.2-cp314-cp314-win_arm64.whl (3.7 MB view details)

Uploaded CPython 3.14Windows ARM64

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

Uploaded CPython 3.14Windows x86-64

pyjoulescope_driver-2.3.2-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.2-cp314-cp314-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.3.2-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.2-cp313-cp313-win_arm64.whl (3.7 MB view details)

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

pyjoulescope_driver-2.3.2-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.2-cp313-cp313-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.3.2-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.2-cp312-cp312-win_arm64.whl (3.7 MB view details)

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

pyjoulescope_driver-2.3.2-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.2-cp312-cp312-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pyjoulescope_driver-2.3.2-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.2.tar.gz.

File metadata

  • Download URL: pyjoulescope_driver-2.3.2.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.2.tar.gz
Algorithm Hash digest
SHA256 d49b805396f0e7a0480da4172df4025f7d49f0ea0e4b1ed770fc20430a3a98a7
MD5 f6624c16f143245a3bd410ebd296645c
BLAKE2b-256 81f6b1760440815780803c0dab4ed65c68319ba38ae3f77a3e26312e42f2f3a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2.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.2-cp314-cp314-win_arm64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.2-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 3328d32cad8e59cabaa0b27fad558f283344806082fc1ebb27e03d0a3d84e20b
MD5 e7d56840e4ce1d07f83122f84ed53fcc
BLAKE2b-256 985b49859dcc1209b33e6d61b0f6a7967fd26c1e83b4ae42cbb321487b946d9d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2-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.2-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d7afdeb82d43003d88711b7700b0e4d6052bce88afd78a41416f120e00ca97dd
MD5 79453c5fe3686618c33d8de796b9a8fc
BLAKE2b-256 6d51731172dcf50852b19aed7af5390e3d6a58c7638b309b5f95bf710c94c584

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2-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.2-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.2-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4392ffe5106d56194d6d7695ad71fe1b701d2fd96cac5a08a140cbefd5f96a1b
MD5 b793ecd9f20b5ad320cb735a4d5f4345
BLAKE2b-256 126ea351fdead4e56a3b26228cbdd66c3634ddc0995e8bfbd634fa28c10ff9fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2-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.2-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.2-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3eb576c35e93d35ebb9ce81a8a9ea7cadcbfbce718cad2bb7fd28bd3e4280d5e
MD5 af83a176a10f9918fe5ae71d0c83f30e
BLAKE2b-256 cc6fdbac064d8294731616a7894f4a8334768acbcf5d89f4eeb7ffdb17c14161

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2-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.2-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.2-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 219d535a4ebe3f9c72fea48b1e0621fdd78582d345b83587ea2c6cbdb88dbd90
MD5 fdf7a8760196009e9e83da7f09c7dae8
BLAKE2b-256 9a6b5fae46e13f3b6cd373b24f3cca21a56abbf7c1764ff8026071269b2f10d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2-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.2-cp313-cp313-win_arm64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.2-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 f04c24a7a6b5a3d7fb8d1778886acd227025f207e1191be41e161dfc2438100a
MD5 3ac7b240e1f063984aca31e12f9d2bec
BLAKE2b-256 bc10d358e088a71075f1fdf8c3c4b69f8257a7f13be04d508e432c0c2e6adb6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2-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.2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 922f597a8d9ba49872e6f568b2ee465b4ebf23f5c702c1832c6348d5b15fcb8f
MD5 693fb3d703985fbce0957ea651025d21
BLAKE2b-256 b9d9d437362b179c94066e8e943eb979c10634f9654bf2f53be54f7a84478851

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2-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.2-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.2-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a861cea711ed92358de3258c9ae8a82a8172513a31e8b4285409b0617c1612dc
MD5 942df28feb0eabf56678b41bd133705b
BLAKE2b-256 4954e2c24e47f59a8843a233ab5fed3d5ef92d8277ea2eebe6cfe942e881e7a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2-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.2-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.2-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 88b6c7df5d784e691cbe9e2f1c920ad4ac0af5588696d93e66a13a16aa318027
MD5 ab904311c87fa6dd5f096c2a86af7d79
BLAKE2b-256 0393b1c8067bf49fc40674780eca55d62539e3a184a28aca3f0201ada9d99b7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2-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.2-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.2-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 bddf0d6a89a54cbac2f24af881d4825e7e070f0764629d8764320c73f81b9277
MD5 b073d630c0a35a6292fb90512956e4ee
BLAKE2b-256 bd045c6cc0eeaa2d3b8492f74b38dc64838f246e57762d96b6ff5b40eac48b50

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2-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.2-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.2-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 8e036aab8dae85185bf140d7b0d416ebd429965c03544024d4a6eba9f963db4b
MD5 a0b6c9b1bea3706d91dc7c0915577095
BLAKE2b-256 526fc8c7bd48c992b1f5351d404710f22e8ca5cd1ea45b72b5086b8c44982add

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2-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.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 22cbc58dc181fd9cb5a03c841bf5e34401989a0d4409a01aded799b4ee1b2496
MD5 98c682efae5e399a4e8666631526f9b0
BLAKE2b-256 6a1b68455453f6d0a4b21b5277ccd9a8a3d6f6a5d1776c977bf87e3ead9b5128

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2-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.2-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 17c2baeadc137fba7060d6e20638fb78c5ad16bbb93f0a4770b5eb3f69a73c57
MD5 202c895af8a380509b16e747f6601185
BLAKE2b-256 94b5caa6950c58d38319235278c660b483fe792019c4863c546d9dd9ae728572

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2-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.2-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.2-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 828dff7d59a41a8e6331e1d0e809df437d8d16c2815d1a808cac44d7824b49f8
MD5 01c2f766db81f4d6ce72e738916b5718
BLAKE2b-256 9c4ea3ef3e91c8f4d9ea035d7598b722fd29a00c4c5c892670cd03f3bd5fab4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2-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.2-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyjoulescope_driver-2.3.2-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 bb9663c5a1ae991664403e5921d0f6f59bd8601bb439fb49574f00650ca98bc2
MD5 5ed99a20b8c0badec28933792a8ee17f
BLAKE2b-256 0e8d212674e1839bbf974be0421b4e21105887043a22cd5bc048b8a82eae0e2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyjoulescope_driver-2.3.2-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