Skip to main content

Srsgui - Organize instrument-controlling Python scripts as a GUI application

Srsgui is a simple framework:

  • To define instrument classes for instruments that use remote communication, based on the Instrument class and the communication Interface classes. (By default, serial and TCPIP is available. VXI11, GPIB and USB-TMC are optional).

  • To write Python scripts (tasks) that run in graphic user interface (GUI) environment using simple application programming interfaces (APIs) provided in Task class.

  • To organize instrument classes and task scripts presented in a GUI application using a configuration (.taskconfig) file for a project.

screenshot

Installation

To run srsgui as an GUI application, create a virtual environment, if necessary, and install using pip with the [full] option:

python -m pip install srsgui[full]

Srsgui package has the following 3 main dependencies: pyserial, matplotlib and PySide6 (or PySide2). If the installation above fails, you have to install the failed pacakge manually. Using a virtual environment will eliminate possible conflicts between packages in the main Python installation and the packages. Some Linux distributions offer certain Python packages from their repositories only (not from pip). Run a web search for more information on system-specific installation.

Once pyserial, matplotlib and PySide6 (or PySide2) are installed properly, or if you plan to use srsgui for instrument drivers only without GUI support, you can install srsgui without the [full] option:

python -m pip install srsgui

Start srsgui application

If the Python Script directory is in the PATH environment variable, launch the application by typing the module name into the command line:

srsgui

If the script directory is not in PATH, run the srsgui module with Python.

python -m srsgui

Run the example project

By default, the srsgui application starts with the project that was running when it was closed the last time.

To open the oscilloscope example project included in the srsgui package
(if srsgui does not start with the example project), select File/Open config, go to the srsgui package directory, find the examples directory, and select the oscilloscope example project.taskconfig file in the example project folder.

You can run the Plot example and FFT of simulated waveform tasks from the Task menu without any instruments connected.

Create a project

Srsgui is a framework to help you to write your own instrument-controlling Python scripts and run them from a GUI application. Using its APIs, you can write scripts running in GUI with the same amount of code as writing console-based scripts. For programming using the API, refer to the srsgui documentation.

Metadata

Release files for srsgui 0.4.7

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

Source distribution (sdist)

Source distribution for srsgui 0.4.7
File Size Uploaded
srsgui-0.4.7.tar.gz 754.6 kB Details

Built distribution (wheel)

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

Total release size: 878.7 kB

Release files / srsgui-0.4.7.tar.gz

Download URL srsgui-0.4.7.tar.gz
Size 754.6 kB
Tags Source
SHA-256 checksum
How to use checksums
95f926753f2d9358de4fcbdbc99a96e3e14770fcfccf079ff242aedd41147436
BLAKE2b-256 checksum
How to use checksums
a5b26626a60ef61e80221780ebaaaf739ff9cb2306344ce7c9bf3b4512b9e774
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.3

Release files / srsgui-0.4.7-py3-none-any.whl

Download URL srsgui-0.4.7-py3-none-any.whl
Size 124.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2354d549c8d48c7b5afc21bd28e13d09135348ef03b69fe86b0bdf2b3abd783d
BLAKE2b-256 checksum
How to use checksums
2925621f5848a78479c78e2ed658f74c27908f28739ae8321673ced3812c5876
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.3

Release history Release notifications | RSS feed

This release

0.4.7 This release

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.17

2 release files

0.2.16

2 release files

0.2.14

2 release files

0.1.26

2 release files

0.1.15

2 release files

0.1.5

2 release files

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