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
Instrumentclass and the communicationInterfaceclasses. (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
Taskclass. -
To organize instrument classes and task scripts presented in a GUI application using a configuration (.taskconfig) file for a project.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| srsgui-0.4.7.tar.gz | 754.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|