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.8.tar.gz (3.4 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-1.4.8-cp312-cp312-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.12Windows x86-64

pyjoulescope_driver-1.4.8-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.8-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.8-cp311-cp311-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.11Windows x86-64

pyjoulescope_driver-1.4.8-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.8-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.8-cp310-cp310-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.10Windows x86-64

pyjoulescope_driver-1.4.8-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.8-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.8-cp39-cp39-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.9Windows x86-64

pyjoulescope_driver-1.4.8-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.8-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.8.tar.gz.

File metadata

  • Download URL: pyjoulescope_driver-1.4.8.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.8.tar.gz
Algorithm Hash digest
SHA256 249e2ebc4118a16a4d37d9b484254def946e8967cfbd7bb925087717fb0d938f
MD5 b83de73454181789fc34073b314e4697
BLAKE2b-256 c320b3382e08cc072e3fbad205ef5a12f1e5db748186c1f4c06470e13dbc2a04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fa8ecdf612572ea19e0eeba9c02ef4fb1ebfc590bc1dce630cc87a24983cb493
MD5 8af4e6b226f167f89d38f2f542ca6c89
BLAKE2b-256 db7c24d6ef2becaf790d85cc462dae027ff3b995fd00e4905a5a481a6bdc5fee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c6c10d3d45222d669fd256be9352b3f823a86d614f78ba68a53efbe73189887
MD5 4a2734e584b3b053d10b24495ac34235
BLAKE2b-256 0dc56170472ac2edcc65a8bba69ccbb7b478e7026a4770cbffa3badccf9a05a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.8-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b218a7bd382221b83e66d110be38c03e143230b835281fc925ce8a239fbd5a37
MD5 12037b42c26236e89f6139b27a5c5a54
BLAKE2b-256 8972f7594d77adcc0c624d69020f65a7e62f0784b8daf80014fae8940a69133c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7d3866237e88d826fc10f28b09dfc01f21c12b4618c6910c53a6ec851d886fc6
MD5 bb2ad5f2d4d80f8a83e37134013b1c9f
BLAKE2b-256 2ae5cc56b058d93358bcb51a5d515a3a8543487fef146090d46d66242d211b9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 25d881168a1f662ce6d1d2749b12cc956858f221c15b6335a0ed9dc99fa52889
MD5 468c483d06badd67b8ea3d82af1543fb
BLAKE2b-256 a68b456452090464e3d8bce2ddaf7762eb1929e83ea5f7bb1b44a12429d48e3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.8-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 87558066fc790651cdf6c5004a3e72716a37449fbdb879503142742fc97f8461
MD5 7d81f908938fe40bf8d0d2ab7e17abac
BLAKE2b-256 e9dcf1b281d93ae72a817cd43f9371aa75d8ccad9268f7b920c88c986d4fe61b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 76699d9468536d47cc149c78a1d2fcf90a57453404990db42690a500835cd2af
MD5 081d8fe0165e648e87cde80a09da366d
BLAKE2b-256 d454ea0071907c836281c13692935adc77c4f552e6e51b66a995b989ee79b6ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 263d8541c4cd9e75b7a3aa3a08c7a5129ce2b51f55c55fe6a647029ebdcbe0b9
MD5 ed25ff1754626784eeb0306a374fcc01
BLAKE2b-256 47adffc1607fcd4d69129dd945d745e9834eeea60b0137090d4bb2d6158e009b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.8-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 38b2f0639be1243ef9b7aa17e69047fd2542d862acdb9c8d481b6d7b7c105ea5
MD5 cc10d59c9995bd65d559c7c0f50cf34f
BLAKE2b-256 f8a3247dbabe45614cf95a967acc0fe1506deddde77120337ef7392a07952a11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ba3b92cd27931803085feb25b454842e684cb14b82a801ec80cb2e5f6e64964a
MD5 da02597cdd619712bb6b878f1b2c2049
BLAKE2b-256 addb4b0793f327b4a674900ccabab0ef0cd05396a2a28b7317f33446d0e045b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1a254e724c5f9ae97f8e2aec15f77c16f28f22d8d3a38b072ea1b8ffbba77c5b
MD5 d963dd42dd440a8f5d07a2292ccbfaac
BLAKE2b-256 0c0d0c67bbbb82b5c04668794f9f4afcf8ae72dabd15db07e66889ca73a6cf2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.4.8-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 440bf058b179573559faaa27b73372873c2fd81a1880259cf31015ff713e251e
MD5 4f4fcd7f936727c8840a167ba1fd103b
BLAKE2b-256 03b4385d9ad59b3a7230d14d3d2f0bc78ed54cdabeec575dd86d67127ff4aa14

See more details on using hashes here.

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