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

Uploaded Source

Built Distributions

pyjoulescope_driver-1.3.19-cp312-cp312-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.12 Windows x86-64

pyjoulescope_driver-1.3.19-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.3.19-cp312-cp312-macosx_10_9_universal2.whl (3.3 MB view details)

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

pyjoulescope_driver-1.3.19-cp311-cp311-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.11 Windows x86-64

pyjoulescope_driver-1.3.19-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.3.19-cp311-cp311-macosx_10_9_universal2.whl (3.3 MB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

pyjoulescope_driver-1.3.19-cp310-cp310-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.10 Windows x86-64

pyjoulescope_driver-1.3.19-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.3.19-cp310-cp310-macosx_10_9_universal2.whl (3.3 MB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

pyjoulescope_driver-1.3.19-cp39-cp39-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

pyjoulescope_driver-1.3.19-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyjoulescope_driver-1.3.19-cp39-cp39-macosx_10_9_universal2.whl (3.3 MB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

File details

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

File metadata

  • Download URL: pyjoulescope_driver-1.3.19.tar.gz
  • Upload date:
  • Size: 3.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.6

File hashes

Hashes for pyjoulescope_driver-1.3.19.tar.gz
Algorithm Hash digest
SHA256 c3708f3eb009e81380dd94023b57f7ca2096e2db27607b5994ad074ea564cdb3
MD5 8663e2b050104d893477c1fe3dcc5a1e
BLAKE2b-256 a5b667e7b356191d0c2e3f238beba8548e23a7c447df946f8d9573173707cad2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.19-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5e03b939cb198b9d7281ceae3381659170c4c7599662da5178ea031416ddc5c3
MD5 63dbde681d0a83da7fbd1a21d7f9019c
BLAKE2b-256 718b10a356d24fcb0967d832a9eb1b089a07b806d2e47866ea25f54dcc0148ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.19-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8aba122285fa2a17cb50fbd48cf05b951ae3300a30c2f627163065687159d44b
MD5 e9bfedc0d6a160f6a4bf82ebf4401388
BLAKE2b-256 81ba1fe6fb57234eb8a28c4454363688890a74d1096192d23b1e5302016853d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.19-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 cdba08e1237ea90b1ac5b120433bd70b60730ee83666cdf01789d71e5c7b1e12
MD5 bd7d14d72a04fa2720434ae0314969cf
BLAKE2b-256 71676b54ec3fce510a2b64654444206244574736b49756b8bd44041e18154f74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.19-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fa535ccb268c3e19775e72dff120d0c23cf2ea86542e0e6094ed2311b0bd81e7
MD5 16fad2207d3e24c4bd139bd13b386f1e
BLAKE2b-256 9d72715fdc966eedb2affc01a2b7b5b9309f76c58c8772a8eab0b708e717a465

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.19-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c6e4c31c52e7e15a86f773a5b073083e09b40f1668646daa4471742f0ddbede4
MD5 62f5e339e57ad27f28c028d4cceb8b7d
BLAKE2b-256 3bb4d0ac1d5ec40966c283ec6e289441d0d729824a0949bcdcee322e211d0d8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.19-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a9a6858a90bb2bff57673f297a5e94e7b54c2bd62542a8077e489ad0d4608f98
MD5 cbbd978ffc89b9d37f2a54809f04cec0
BLAKE2b-256 adc8fd9cb1358226bb75e9052d5cd189ffb68582803719bd8682093d1a721690

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.19-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4e56fbdebbcf172e5e7bb11e85e57f9eb5fd589f2a65af4c2e8729a1ef49484e
MD5 d643afd4cbfec4919056d285d1ff221e
BLAKE2b-256 77846356ef7ec5d8ee9eeee0b3047895eb59ad8c5bc3cae4f2117334d086cae8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.19-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7c9473be8ab1b5f5283f4ec03b18698dbe9687c35121228ed58147fc8cb6fdce
MD5 860c5caed1f0c19ec58a3f85acc6e2ee
BLAKE2b-256 982b19314e77a6f7c6731519a1bbdcd1bc1a86b30c6f0a2c8c26834844585654

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.19-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5fbaad5256b93082396b0c8958a8f55d686fe4c790ba29986395228b3a931c80
MD5 a56b8a0b2901a7e50c40470e4a7d1eb0
BLAKE2b-256 14da81c80e3a5ceb0574d48a63d213115a6b5ef18de062f882c27d2372cca8c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.19-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a5164e8259567c29864a9a37f04d1dcb4dc5fa845d4d26b421d50cc4e37bfd92
MD5 f7f3bac62444d7c6c9bbda45e6c2a6f2
BLAKE2b-256 8d562bd685a2c77d5401e703990f111c86aab2f87cadc4b5d9e752a788c3e44e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.19-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0659623a0682c7ce5aa1894eb42419804636112df4c1f6357d64150755ade3b7
MD5 18ed5ecc17accdbc4b78262ae64b891a
BLAKE2b-256 6839b05dfd19dac0a47f914f7c5ff367fad60058ae10baab8f8d7eb4c0f4fc30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyjoulescope_driver-1.3.19-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 abca4ee4e6371294abda985c70507c14f865b9c4a585553b65096537deae451b
MD5 6687c4014c6c19c3441f8d1671070603
BLAKE2b-256 c03931d530031e2778f1d47b8ee42d4ed5472f0e6d0d8925833a7500672d0aa8

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 Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page