Skip to main content

Nxscope CLI client

Project description

Nxscli

master workflow

Nxscli is a command-line client package for the Apache NuttX NxScope real-time logging module.

It is also a reusable Python runtime layer for NxScope streaming, channel control, triggers, and plugin orchestration. The nxscli internals are used by other tools (for example GUI applications) to build more advanced workflows without re-implementing NxScope communication logic.

Compatible with Python 3.10+.

Features

  • Plugins architecture, extendable through nxscli.extensions entrypoint
  • Client-based triggering (global and per-channel triggers)
  • Save data to CSV files
  • Save data to Numpy files (pnpsave) and memmap files (pnpmem)
  • Print samples
  • Stream data over UDP (compatible with PlotJuggler)
  • NxScope protocol via serial port or Segger RTT interface
  • Virtual channels and math operations on channels data
  • Optional control server (--control-server) for extensions

Features Planned

  • More triggering types
  • Boolean operations on triggers
  • Improve pdevinfo output (human-readable prints)
  • Interactive mode

Plugins

By default, nxscli ships with core plugins including CSV, printer, UDP, and NumPy file capture (pnpsave and pnpmem). Additional functionality is expanded by installing optional plugins. Plugins are automatically detected by Nxscli.

Available plugins:

Plugins Planned

  • Stream data as audio (inspired by audio knock detection systems)
  • PyQtGraph support

Installation

Nxscli can be installed by running pip install nxscli.

To install latest development version, use:

pip install git+https://github.com/railab/nxscli.git

Usage

Look at docs/usage.

Reuse as a Library

nxscli is not only a CLI frontend. It can be imported and reused by external applications that need:

  • NxScope connection handling (serial/RTT and compatible interfaces)
  • channel configuration and stream lifecycle control
  • plugin loading and runtime execution
  • trigger and data-processing orchestration

This makes nxscli the integration layer for higher-level tools such as custom dashboards, GUIs, and automation scripts.

Contributing

All contributions are welcome to this project.

To get started with developing Nxscli, see CONTRIBUTING.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nxscli-1.0.0.tar.gz (61.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nxscli-1.0.0-py3-none-any.whl (67.1 kB view details)

Uploaded Python 3

File details

Details for the file nxscli-1.0.0.tar.gz.

File metadata

  • Download URL: nxscli-1.0.0.tar.gz
  • Upload date:
  • Size: 61.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for nxscli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c0407b004b1fb580a492b1665f59c5db53700a8ef72b5516c12c3824d989dfa6
MD5 770fc0aef189c456aabe8fdb3245a71b
BLAKE2b-256 d8dc7deb4da880eace7a4ba5c1d020795c805523f9c0397186892ed2b8f86f28

See more details on using hashes here.

File details

Details for the file nxscli-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: nxscli-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 67.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for nxscli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 859baa46106b6d759ec690ccbd73e0b1235c4e79becde5300e0f59084d957dbd
MD5 5faae8b5f5f331e65114457e2c94099b
BLAKE2b-256 98c49ad70ac1037e5c4903db74f1c7dee2c116b9a5449d696db81150f41ad740

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