$npx skillfedfor your agent

ppk2-api

API for Nordic Semiconductor's Power Profiler Kit II (PPK 2).

With conditionsPyPI MonitoringReleased Jun 202385.2K downloads / mocopyleft licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — ppk2_api-0.9.2-py3-none-any.whl
v0.9.2 · released 2023-06-09 · 1 runtime deps: pyserial

Yes, if you own a PPK 2 and need automated power measurement. The package is actively maintained, has low install friction, and fills a genuine gap (no official automation support). The GPLv2 license is a consideration for proprietary projects. The 1162-day gap since first release and over a year since the last release suggest the core API is stable but may not be under active feature development.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires a PPK 2 device connected to a serial port; the serial port path must be known and accessible to the Python process.
  • Low install friction with a single runtime dependency (pyserial).
  • Package is actively maintained with recent commits and a modest but engaged user base, though last release was over a year ago.

License · maintenance · safety

copyleft license (copyleft) — Licensed under GPLv2 (copyleft). Any derivative work or modifications must be shared under the same license terms. Suitable for open-source projects; proprietary software integration requires careful review.

last release 2023-06-09 (1162 days) · last repo commit 2026-05-19 · 245 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 85,221 downloads/mo, #13,941 on PyPI

Verify before relying

from ppk2_api import PPK2_API
import time

ppk2 = PPK2_API("/dev/ttyACM0")  # adjust serial port
ppk2.use_source_meter()
ppk2.set_source_voltage(3300)
ppk2.start_measuring()

for i in range(10):
    data = ppk2.get_data()
    if data:
        samples = ppk2.get_samples(data)
        print(f"Avg: {sum(samples)/len(samples)}uA")
    time.sleep(0.1)

ppk2.stop_measuring()
  • Whether Python version support is truly unspecified or if there is a practical minimum (e.g., Python 3.6+)
  • Current state of 'in progress' features (data logging formats, full GUI parity) and their timeline
  • Whether multiprocessing mode is production-ready or still experimental
Same gist for agents: .md · .json

What it is and what it does

ppk2-api is a Python wrapper around Nordic Semiconductor's Power Profiler Kit II hardware, enabling automated power consumption measurement and logging without the GUI. It communicates with the PPK 2 device over a serial port and provides methods to configure measurement modes, set voltage levels, and stream power samples in real time.

The package offers two usage patterns: a basic synchronous API that reads samples on demand, and a multiprocessing variant that runs a background polling process to buffer up to 10 seconds of data, reducing the frequency of manual polling. It is cross-platform and requires only pyserial as a runtime dependency, making it suitable for embedded test automation, power profiling in CI/CD pipelines, and long-term power monitoring applications.

Use it for

  • Automated power consumption testing in embedded device development workflows and CI/CD pipelines
  • Long-term power monitoring and data logging for battery-powered device optimization
  • Real-time power measurement during firmware development without manual GUI interaction
  • Batch power profiling across multiple device configurations or firmware variants
  • Integration of power metrics into test reports and performance dashboards

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you own a PPK 2 and need automated power measurement.

The package is actively maintained, has low install friction, and fills a genuine gap (no official automation support). The GPLv2 license is a consideration for proprietary projects. The 1162-day gap since first release and over a year since the last release suggest the core API is stable but may not be under active feature development.

Install

ppk2-api on PyPI

Before you install

Low install friction with a single runtime dependency (pyserial). Package is actively maintained with recent commits and a modest but engaged user base, though last release was over a year ago.

Requires a PPK 2 device connected to a serial port; the serial port path must be known and accessible to the Python process.

License in practice

Licensed under GPLv2 (copyleft). Any derivative work or modifications must be shared under the same license terms. Suitable for open-source projects; proprietary software integration requires careful review.

Quickstart

from ppk2_api import PPK2_API
import time

ppk2 = PPK2_API("/dev/ttyACM0")  # adjust serial port
ppk2.use_source_meter()
ppk2.set_source_voltage(3300)
ppk2.start_measuring()

for i in range(10):
    data = ppk2.get_data()
    if data:
        samples = ppk2.get_samples(data)
        print(f"Avg: {sum(samples)/len(samples)}uA")
    time.sleep(0.1)

ppk2.stop_measuring()

Verify before relying

  • Whether Python version support is truly unspecified or if there is a practical minimum (e.g., Python 3.6+)
  • Current state of 'in progress' features (data logging formats, full GUI parity) and their timeline
  • Whether multiprocessing mode is production-ready or still experimental

Package facts

Licensecopyleft license copyleft
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
pyserial
MaintenanceActively maintained 1,162 days since the last release
Last repo commit
First released
Downloads85,221 / month, #13,941 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI Approved :: GNU General Public License v2 (GPLv2)Operating System :: OS IndependentProgramming Language :: Python :: 3

Evidence: ppk2_api-0.9.2-py3-none-any.whl

Tags

Capabilities
power profiler kit ii pythonppk2 automated measurementdevice power consumption monitoringnordic semiconductor power profilingserial power measurement apiautomated power logging pythonreal-time power consumption data
Topics
hardware-profilingpower-measurementembedded-testing

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 › “power profiler kit ii python”

  • ppk2-apiProvides a Python API to automate power consumption measurement and…
  • dlipowerManages Digital Loggers web-based network power switches through a…
  • yappiYappi is a deterministic profiler for Python that tracks CPU and…

Give your agent the search over MCP, or paste the wish link into any chat.

More Monitoring packages

tqdm Worth it
PyPI · Libraries · released Jul 2026

Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.

copyleftpure Python · 3.8+
648.6Mdownloads / mo
opentelemetry-semantic-conventions Worth it
PyPI · Monitoring · released Jul 2026

Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.

Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.

Apache-2.0pure Python · 3.10+
542.9Mdownloads / mo
opentelemetry-sdk Worth it
PyPI · Monitoring · released Jul 2026

Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.

Apache-2.0pure Python · 3.10+
521.8Mdownloads / mo
opentelemetry-api With conditions
PyPI · Monitoring · released Jul 2026

Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.

Apache-2.0pure Python · 3.10+
463.8Mdownloads / mo
opentelemetry-exporter-otlp-proto-http Worth it
PyPI · Monitoring · released Jul 2026

Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.

Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.

Apache-2.0pure Python · 3.10+
409.9Mdownloads / mo
opentelemetry-instrumentation Worth it
PyPI · Monitoring · released Jul 2026

Provides automatic instrumentation commands and programmatic APIs to inject distributed tracing into Python applications without code changes, detecting and instrumenting packages used by your program.

Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment.

Apache-2.0pure Python · 3.10+
393.5Mdownloads / mo

See also joulescope · p1monitor · ovoenergy · pyroscope-io · google-cloud-profiler · py-spy · dlipower · pyjoulescope-driver · scalene · zigpy-deconz