srsgui


Namesrsgui JSON
Version 0.4.6 PyPI version JSON
download
home_pageNone
SummaryFramework to run instrument-controlling Python scripts in GUI
upload_time2024-08-31 00:40:02
maintainerNone
docs_urlNone
authorChulhoon Kim
requires_python>=3.7
licenseMIT license
keywords instrument control data acquisition data visualization
VCS
bugtrack_url
requirements pyserial matplotlib pyside6
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ``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`](https://thinksrs.github.io/srsgui/srsgui.inst.html#module-srsgui.inst.instrument) 
     class and the communication 
     [`Interface`](https://thinksrs.github.io/srsgui/srsgui.inst.communications.html) 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``](https://thinksrs.github.io/srsgui/srsgui.task.html) class.

   - To organize instrument classes and task scripts presented in a GUI application
     using a configuration 
     [(.taskconfig)](https://thinksrs.github.io/srsgui/create-project.html#populating-the-taskconfig-file)
     file for a project.

![screenshot](https://thinksrs.github.io/srsgui/_images/example-screen-capture-2.png " ")

## 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](https://pypi.org/project/pyserial/), 
[matplotlib](https://pypi.org/project/matplotlib/) and
[PySide6](https://pypi.org/project/PySide6/) 
(or [PySide2](https://pypi.org/project/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**](https://thinksrs.github.io/srsgui/example.html)
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](https://thinksrs.github.io/srsgui).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "srsgui",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "instrument control, data acquisition, data visualization",
    "author": "Chulhoon Kim",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/49/aa/95a678ad51f8ed30725018eea68a1fc76063f94b54d2ca7ff093879e8ccc/srsgui-0.4.6.tar.gz",
    "platform": null,
    "description": "# ``Srsgui`` - Organize instrument-controlling Python scripts as a GUI application\r\n\r\n`Srsgui` is a simple framework:\r\n\r\n   - To define instrument classes for instruments that use remote communication, based on the \r\n     [`Instrument`](https://thinksrs.github.io/srsgui/srsgui.inst.html#module-srsgui.inst.instrument) \r\n     class and the communication \r\n     [`Interface`](https://thinksrs.github.io/srsgui/srsgui.inst.communications.html) classes. \r\n     (By default, serial and TCPIP is available. VXI11, GPIB and USB-TMC are optional).\r\n\r\n   - To write Python scripts (tasks) that run in graphic user interface (GUI) environment using simple\r\n     application programming interfaces (APIs) provided in \r\n     [``Task``](https://thinksrs.github.io/srsgui/srsgui.task.html) class.\r\n\r\n   - To organize instrument classes and task scripts presented in a GUI application\r\n     using a configuration \r\n     [(.taskconfig)](https://thinksrs.github.io/srsgui/create-project.html#populating-the-taskconfig-file)\r\n     file for a project.\r\n\r\n![screenshot](https://thinksrs.github.io/srsgui/_images/example-screen-capture-2.png \" \")\r\n\r\n## Installation\r\n\r\nTo run ``srsgui`` as an GUI application, create a virtual environment, if necessary, \r\nand install using ``pip`` with the `[full]` option:  \r\n\r\n    python -m pip install srsgui[full]\r\n\r\n``Srsgui`` package has the following 3 main dependencies: \r\n[pyserial](https://pypi.org/project/pyserial/), \r\n[matplotlib](https://pypi.org/project/matplotlib/) and\r\n[PySide6](https://pypi.org/project/PySide6/) \r\n(or [PySide2](https://pypi.org/project/PySide2/)). If the installation above fails, \r\nyou have to install the failed pacakge manually. Using a virtual environment will\r\neliminate possible conflicts between packages in the main Python installation and \r\nthe packages. Some Linux distributions offer certain Python packages from their \r\nrepositories only (not from ``pip``). \r\nRun a web search for more information on system-specific installation.   \r\n\r\nOnce pyserial, matplotlib and PySide6 (or PySide2) are installed properly, or if you plan to use \r\n`srsgui` for instrument drivers only without GUI support, \r\nyou can install ``srsgui`` without the `[full]` option:\r\n\r\n    python -m pip install srsgui\r\n\r\n## Start ``srsgui`` application\r\n    \r\nIf the Python Script directory is in the PATH environment variable,\r\nlaunch the application by typing the module name into the command line:\r\n\r\n    srsgui\r\n\r\nIf the script directory is not in PATH, run the srsgui module with Python. \r\n\r\n    python -m srsgui\r\n\r\n\r\n## Run the example project\r\n\r\nBy default, the `srsgui` application starts with the project that was running when it was closed the last time.\r\n \r\nTo open the [**oscilloscope example project**](https://thinksrs.github.io/srsgui/example.html)\r\nincluded in the `srsgui` package  \r\n(if `srsgui` does not start with the example project), select File/Open config, \r\ngo to the `srsgui` package directory, find the examples directory, and select the \r\n`oscilloscope example project.taskconfig` file in the example project folder. \r\n\r\nYou can run the **Plot example** and **FFT of simulated waveform** tasks from \r\nthe Task menu without any instruments connected.\r\n\r\n## Create a project\r\n\r\n`Srsgui` is a framework to help you to write your own instrument-controlling \r\nPython scripts and run them from a GUI application. Using its APIs, you can write \r\nscripts running in GUI with the same amount of code as writing console-based \r\nscripts. For programming using the API, refer to the\r\n[`srsgui` documentation](https://thinksrs.github.io/srsgui).\r\n",
    "bugtrack_url": null,
    "license": "MIT license",
    "summary": "Framework to run instrument-controlling Python scripts in GUI",
    "version": "0.4.6",
    "project_urls": {
        "changelog": "https://thinksrs.github.io/srsgui/changelog.html",
        "documentation": "https://thinksrs.github.io/srsgui",
        "homepage": "https://github.com/thinkSRS/srsgui",
        "repository": "https://github.com/thinkSRS/srsgui.git"
    },
    "split_keywords": [
        "instrument control",
        " data acquisition",
        " data visualization"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fc9bbbed2b8471324b363c30a1029ab4975d99771c90ac28b2e2755d9c48f0d8",
                "md5": "7412feca86109e43413491fb55c48968",
                "sha256": "c2f94501343f82df513a9dac0cf1fe87099200c8b008a26291fde8ec5b60181c"
            },
            "downloads": -1,
            "filename": "srsgui-0.4.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7412feca86109e43413491fb55c48968",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 123449,
            "upload_time": "2024-08-31T00:40:00",
            "upload_time_iso_8601": "2024-08-31T00:40:00.688109Z",
            "url": "https://files.pythonhosted.org/packages/fc/9b/bbed2b8471324b363c30a1029ab4975d99771c90ac28b2e2755d9c48f0d8/srsgui-0.4.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "49aa95a678ad51f8ed30725018eea68a1fc76063f94b54d2ca7ff093879e8ccc",
                "md5": "243a9147fe4f179b32ed846c3d0099a0",
                "sha256": "633e3b479bece07511abef62e63f3a3898a8a8450bba221f5d0065f22cf66ac3"
            },
            "downloads": -1,
            "filename": "srsgui-0.4.6.tar.gz",
            "has_sig": false,
            "md5_digest": "243a9147fe4f179b32ed846c3d0099a0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 753880,
            "upload_time": "2024-08-31T00:40:02",
            "upload_time_iso_8601": "2024-08-31T00:40:02.179870Z",
            "url": "https://files.pythonhosted.org/packages/49/aa/95a678ad51f8ed30725018eea68a1fc76063f94b54d2ca7ff093879e8ccc/srsgui-0.4.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-31 00:40:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "thinkSRS",
    "github_project": "srsgui",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "pyserial",
            "specs": []
        },
        {
            "name": "matplotlib",
            "specs": []
        },
        {
            "name": "pyside6",
            "specs": []
        }
    ],
    "lcname": "srsgui"
}
        
Elapsed time: 0.83071s