joulescope
Joulescope™ host driver and utilities
Decision gist · record as of 2026-08-14
Yes, if you own a Joulescope device and need programmatic control or automation. The package is actively maintained, permissively licensed, and supports modern Python versions. Install friction is moderate due to multiple dependencies and hardware requirements, but the API is straightforward. Not useful without the physical hardware.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a Joulescope hardware device connected via USB and pyjoulescope_driver to be installed.
- Medium install friction due to 7 runtime dependencies including pyjoulescope_driver and platform-specific wheels for Windows, macOS, and Linux.
- Actively maintained with a recent release (10 days old) and current Python support (3.12–3.14).
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 is permissive; you can use this package in commercial and proprietary projects without reciprocal licensing obligations.
last release 2026-08-04 (10 days) · last repo commit 2026-08-04 · 50 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 116,527 downloads/mo, #12,199 on PyPI
Alternatives
Verify before relying
import joulescope
import numpy as np
with joulescope.scan_require_one(config='auto') as js:
data = js.read(contiguous_duration=0.1)
current, voltage = np.mean(data, axis=0, dtype=np.float64)
print(f'{current} A, {voltage} V')- Whether pyjoulescope_driver is freely available or requires proprietary hardware licensing.
- Specific USB device requirements (e.g., Joulescope model compatibility).
- Whether the CLI tool 'joulescope' is fully functional without the graphical UI.
What it is and what it does
Joulescope is the Python driver for Joulescope, a hardware DC energy analyzer. It lets you automate measurements of current, voltage, power, and energy directly from Python code, capturing real-time data from the connected device. The package provides both a programmatic API for integration into test and monitoring scripts and a command-line tool for direct operation.
The driver depends on pyjoulescope_driver for low-level hardware communication, numpy for data processing, and several utility libraries (psutil, pyjls, python-dateutil, pymonocypher, pywin32). It supports Python 3.12–3.14 on Windows, macOS, and Linux, with prebuilt wheels for common architectures. Most end-users run the graphical interface from pyjoulescope_ui instead, but this package is the foundation for programmatic control and automation.
Use it for
- Automate power consumption profiling in embedded systems development and optimization workflows.
- Capture and log energy data for battery-powered device testing and validation.
- Integrate real-time current and voltage measurements into continuous integration or hardware test suites.
- Build custom power analysis dashboards or data pipelines using the Python API.
- Monitor power draw during firmware development and debugging cycles.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you own a Joulescope device and need programmatic control or automation.
The package is actively maintained, permissively licensed, and supports modern Python versions. Install friction is moderate due to multiple dependencies and hardware requirements, but the API is straightforward. Not useful without the physical hardware.
Install
joulescope on PyPI
Before you install
Medium install friction due to 7 runtime dependencies including pyjoulescope_driver and platform-specific wheels for Windows, macOS, and Linux. Actively maintained with a recent release (10 days old) and current Python support (3.12–3.14).
Requires a Joulescope hardware device connected via USB and pyjoulescope_driver to be installed.
License in practice
Apache-2.0 is permissive; you can use this package in commercial and proprietary projects without reciprocal licensing obligations.
Quickstart
import joulescope
import numpy as np
with joulescope.scan_require_one(config='auto') as js:
data = js.read(contiguous_duration=0.1)
current, voltage = np.mean(data, axis=0, dtype=np.float64)
print(f'{current} A, {voltage} V')
Verify before relying
- Whether pyjoulescope_driver is freely available or requires proprietary hardware licensing.
- Specific USB device requirements (e.g., Joulescope model compatibility).
- Whether the CLI tool 'joulescope' is fully functional without the graphical UI.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release ~=3.12 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 7 packagesnumpypsutilpyjlspyjoulescope_driverpython-dateutilpymonocypherpywin32 |
| Maintenance | Actively maintained 10 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 116,527 / month, #12,199 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: End Users/DesktopIntended Audience :: Science/ResearchLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOSOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: Windows :: Windows 10Operating System :: Microsoft :: Windows :: Windows 11Operating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonTopic :: Scientific/EngineeringTopic :: Software Development :: Embedded SystemsTopic :: Software Development :: TestingTopic :: System :: Hardware :: Hardware DriversTopic :: System :: Hardware :: Universal Serial Bus (USB)Topic :: Utilities |
Evidence: joulescope-1.6.0-cp312-cp312-macosx_10_13_universal2.whl; joulescope-1.6.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; joulescope-1.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; joulescope-1.6.0-cp312-cp312-win_amd64.whl; joulescope-1.6.0-cp312-cp312-win_arm64.whl; joulescope-1.6.0-cp313-cp313-macosx_10_13_universal2.whl; joulescope-1.6.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; joulescope-1.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; joulescope-1.6.0-cp313-cp313-win_amd64.whl; joulescope-1.6.0-cp313-cp313-win_arm64.whl; joulescope-1.6.0-cp314-cp314-macosx_10_15_universal2.whl; joulescope-1.6.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; joulescope-1.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; joulescope-1.6.0-cp314-cp314-win_amd64.whl; joulescope-1.6.0-cp314-cp314-win_arm64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “current voltage power measurement”
- joulescopeJoulescope is a Python driver for the Joulescope DC energy analyzer…
- ppk2-apiProvides a Python API to automate power consumption measurement and…
- p1monitorAsynchronous Python client library for reading smart meter and water…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also ppk2-api · pyjoulescope-driver · pyjls · p1monitor · aiousbwatcher · codecarbon · sense-energy · opower · spidev · nidaqmx