Skip to main content

pyscopegui icon: an analog trace above two logic traces on one time axis

pyscopegui

CI release PyPI python platform license

Oscilloscopes and logic analysers in one view: analog and logic channels from separate instruments, on one time axis.

For a bench with more than one scope: the channels of each, side by side on one plot. pyscopegui reads the scopes live, triggers on any channel, measures between cursors, decodes CAN, UART, SPI and I²C, and keeps the last seconds or minutes of everything to go back over, export to CSV, or save and open again later. Every scope is set up the same way -- volts a division, probe, coupling -- whoever made it.

Works with the PicoScope 2202 to 2205A, the PicoScope 2206 to 2408B and the MSOs, the Rigol DS1000Z series and the Tektronix TDS/TPS 2000 series, and a built-in demo that needs no hardware.

pyscopegui with a Rigol and a PicoScope open together: the same 1 kHz sine on a channel of each, drawn on one time axis around each scope's own trigger, with the Instrument pane, the channel list and the Event Log

Install and run

To install it:

pip install pyscopegui

To run it:

pyscopegui

To update it:

pip install --upgrade pyscopegui

Python 3.12 or newer, on Windows or Linux. python -m pyscopegui starts it too. On Windows there is also a standalone installer, which needs no Python.

On Linux, Qt needs a system library to draw the window, and Debian, Ubuntu, Linux Mint and the like often leave it out:

sudo apt install libxcb-cursor0

What it does

  • Channels and Plot: analog channels on one plot and digital channels in lanes under it, on the same time axis. Drag or zoom either and both move.
  • Several instruments at once, and two of the same kind: Add instrument puts each in the Instrument pane with a tab of its own. Each has its own trigger, and is drawn around it; or one leads, and the others are shown at about the moment its trigger comes.
  • Triggers: a scope's own Stop, Single, Normal and Auto, and an edge either way, a window, a pulse's width, a runt, a timeout, a logic pattern, or a frame read off a decoded bus, with a holdoff, on the Nth time and after a delay. A PicoScope reading blocks and a Rigol do most in their own hardware.
  • Cursors, Measurements and Data: what every channel read at one or two cursors; levels, RMS, frequency and duty between them or over what is in view; and the samples themselves, a row for each.
  • Decoding buses: CAN, UART, SPI and I²C read off analog or logic channels, listed in the Decoded buses pane.
  • Decoded CAN to pycangui: frames read off a scope's channel are sent on by UDP multicast to pycangui -- a CAN bus tool, also on PyPI -- and any other program on python-can's UDP multicast bus.
  • Maths channels: two channels added, taken away, multiplied or divided; or one inverted, squared, scaled, differentiated, integrated or averaged.
  • Probes: 1x to 1000x, differential, or a current probe read in amps.
  • Python Console: Python inside the window, with commands to drive the scopes and read their samples, and scripts run from a file.
  • Workspaces: one for each bench or setup, each with its own instruments, settings and panes, chosen under File > Workspace.
  • Export to CSV, all of it or between the cursors, and save and open captures: everything held kept in a file and opened again exactly as it was, beside the live instruments; and CSV files from other tools opened the same way.
  • Deep captures stay quick: the last ten seconds of every channel are held, or up to ten minutes, and what is drawn is cut down to a lowest and a highest per column of the screen, so a spike narrower than a pixel is still drawn.
  • Panes that dock, float, detach into windows of their own and pin on top, with the arrangement remembered.
  • Light and dark themes, or whichever the system is set to.

The manual covers each of these, and is also under Help > Documentation in the application.

Instruments

  • Demo signals: two analog and four digital channels, with no hardware.
  • PicoScope 2000 series, both ranges of them, and the scope's signal generator. The 2202, 2203, 2204, 2204A, 2205 and 2205A: both channels, streamed continuously at up to 1 MS/s, or read in short blocks at up to 100 MS/s around the scope's own trigger. The 2206 to 2208 in their A and B forms, the four-channel 2405A to 2408B, and the MSO models: two or four channels and an MSO's sixteen logic inputs, streamed at up to 31.25 MS/s, or read in blocks of up to a million samples at the scope's full rate. Pico's library is not included: install the PicoSDK from picotech.com/downloads.
  • Rigol DS1000Z series (DS1054Z, DS1074Z, DS1104Z, and the Plus, -S and MSO models), over the network or USB: the four analog channels, a sweep at a time around the scope's own trigger, read from its screen or its whole memory, with its own trigger types. Over the network nothing of Rigol's needs installing; USB needs a VISA library, which Rigol's own software installs.
  • Tektronix TDS/TPS 2000 series (TDS200, TDS1000, TDS2000 and TPS2000 over a serial port; the TDS1000B, TDS2000B and TDS2000C over USB): two or four channels, a sweep at a time around the scope's own trigger, or what is on its screen read off with nothing on the scope changed: suited to taking a capture off the scope rather than watching one live.

More

Safety notice and licence

pyscopegui shows what instruments connected to real equipment measure. A scope's ground clip is connected to the computer's ground unless the scope or its USB connection is isolated, and clipping it to a point that is not at ground can damage the equipment, the scope and the computer. Know what you are connecting to before you connect.

pyscopegui is provided under the Apache License 2.0, without warranty of any kind.

Metadata

Release files for pyscopegui 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyscopegui 0.2.0
File Size Uploaded Provenance Actions
pyscopegui-0.2.0.tar.gz 668.9 kB With provenance Details for pyscopegui-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pyscopegui 0.2.0
File Interpreter ABI Platform Actions
pyscopegui-0.2.0-py3-none-any.whl Python 3 none any Details for pyscopegui-0.2.0-py3-none-any.whl

Total release size: 1.2 MB

Release files / pyscopegui-0.2.0.tar.gz

Download URL pyscopegui-0.2.0.tar.gz
Size 668.9 kB
Tags Source
SHA-256 checksum
How to use checksums
cae5ac199acd54b40a98e5ee231e915786b32c3ea1dc12adeddf7ca8ed1dde2e
BLAKE2b-256 checksum
How to use checksums
ca916dd4ec1c6aaf8e047259dc67450bafa047e47c302924fbcdae72361c5166
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Release files / pyscopegui-0.2.0-py3-none-any.whl

Download URL pyscopegui-0.2.0-py3-none-any.whl
Size 557.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2018b32551d7caa78af6e96e7a244c0f89e0da58a396dd5d35e8c08f5b314a08
BLAKE2b-256 checksum
How to use checksums
1c710eb5228d8e678b0a784dab070766408c824a65b916261656b4502d073fca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Security for pyscopegui 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pyscopegui-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page