Skip to main content

Framework to run instrument-controlling Python scripts in GUI

Project description

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.

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

srsgui-0.4.6.tar.gz (753.9 kB view details)

Uploaded Source

Built Distribution

srsgui-0.4.6-py3-none-any.whl (123.4 kB view details)

Uploaded Python 3

File details

Details for the file srsgui-0.4.6.tar.gz.

File metadata

  • Download URL: srsgui-0.4.6.tar.gz
  • Upload date:
  • Size: 753.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.3

File hashes

Hashes for srsgui-0.4.6.tar.gz
Algorithm Hash digest
SHA256 633e3b479bece07511abef62e63f3a3898a8a8450bba221f5d0065f22cf66ac3
MD5 243a9147fe4f179b32ed846c3d0099a0
BLAKE2b-256 49aa95a678ad51f8ed30725018eea68a1fc76063f94b54d2ca7ff093879e8ccc

See more details on using hashes here.

File details

Details for the file srsgui-0.4.6-py3-none-any.whl.

File metadata

  • Download URL: srsgui-0.4.6-py3-none-any.whl
  • Upload date:
  • Size: 123.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.3

File hashes

Hashes for srsgui-0.4.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c2f94501343f82df513a9dac0cf1fe87099200c8b008a26291fde8ec5b60181c
MD5 7412feca86109e43413491fb55c48968
BLAKE2b-256 fc9bbbed2b8471324b363c30a1029ab4975d99771c90ac28b2e2755d9c48f0d8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page