dvg-qdeviceio


Namedvg-qdeviceio JSON
Version 1.3.0 PyPI version JSON
download
home_pagehttps://python-dvg-qdeviceio.readthedocs.io/
SummaryHassle-free PyQt/PySide interface for multithreaded data acquisition and communication with an I/O device.
upload_time2024-04-02 19:14:07
maintainerNone
docs_urlNone
authorDennis van Gils
requires_python>=3.6
licenseMIT
keywords pyqt5 pyqt6 pyside2 pyside6 multithread device i/o automation laboratory science
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            .. image:: https://img.shields.io/pypi/v/dvg-qdeviceio
    :target: https://pypi.org/project/dvg-qdeviceio
.. image:: https://img.shields.io/pypi/pyversions/dvg-qdeviceio
    :target: https://pypi.org/project/dvg-qdeviceio
.. image:: https://github.com/Dennis-van-Gils/python-dvg-qdeviceio/actions/workflows/python-package.yml/badge.svg
    :target: https://github.com/Dennis-van-Gils/python-dvg-qdeviceio/actions/workflows/python-package.yml
.. image:: https://coveralls.io/repos/github/Dennis-van-Gils/python-dvg-qdeviceio/badge.svg
    :target: https://coveralls.io/github/Dennis-van-Gils/python-dvg-qdeviceio
.. image:: https://readthedocs.org/projects/python-dvg-qdeviceio/badge/?version=latest
    :target: https://python-dvg-qdeviceio.readthedocs.io/en/latest/?badge=latest
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/psf/black
.. image:: https://img.shields.io/badge/License-MIT-purple.svg
    :target: https://github.com/Dennis-van-Gils/python-dvg-qdeviceio/blob/master/LICENSE.txt

DvG_QDeviceIO
=============
*Hassle-free PyQt/PySide interface for multithreaded data acquisition and communication with an I/O device.*

It will manage many necessary components for proper multithreading -- creation
and handling of the threads, workers, signals and mutexes -- *for you*, reducing
it to just a few simple method calls of a QDeviceIO class instance to get set up
and going.

Supports PyQt5, PyQt6, PySide2 and PySide6.

- Documentation: https://python-dvg-qdeviceio.readthedocs.io
- Github: https://github.com/Dennis-van-Gils/python-dvg-qdeviceio
- PyPI: https://pypi.org/project/dvg-qdeviceio

Installation::

    pip install dvg-qdeviceio

Changelog
=========

1.3.0 (2024-04-02)
------------------
* Support Python 3.11
* All f-strings
* Type checking via `isinstance()`, not type == ...

1.2.0 (2023-02-27)
------------------
* Deprecated `requires.io` and `travis`
* Raise `ImportError` instead of general `Exception`

1.1.2 (2022-10-26)
------------------
* Minor refactor of mechanism to support PyQt5, PyQt6, PySide2 and PySide6

1.1.1 (2022-09-14)
------------------
* Forgot to bump requirement ``dvg-debug-functions~=2.2`` to ensure support for
  PyQt5, PyQt6, PySide2 and PySide6

1.1.0 (2022-09-13)
------------------
* Added support for PyQt5, PyQt6, PySide2 and PySide6

1.0.0 (2021-07-02)
------------------
* Stable release, identical to v0.4.0

0.4.0 (2021-05-09)
------------------
* Fixed buggy ``worker_DAQ`` pause and unpause routines in ``CONTINUOUS`` mode

0.3.0 (2020-07-23)
-------------------
* Updated start & stop machinery Workers
* Removed unneccesary lambdas
* Revamped DAQ rate calculation. Init arg ``calc_DAQ_rate_every_N_iter`` got removed.

0.2.2 (2020-07-17)
-------------------
* Traceback will be printed when ``DAQ_function`` raises an internal error.
* Introduced ``Worker_###._has_finished`` to prevent hang when closing workers twice.

0.2.1 (2020-07-15)
-------------------
* Added documentation

0.2.0 (2020-07-07)
-------------------
* ``quit_worker_###()``: Added check to see if thread was already closed, due to a ``lost_connection`` event. This prevents an hanging app during quit.
* Changed name of enum class ``DAQ_trigger`` to ``DAQ_TRIGGER``

0.1.2 (2020-07-04)
-------------------
* Proper use of ``super()``, now passing ``**kwargs`` onto subclass ``QtCore.QObject()``

0.1.1 (2020-07-02)
-------------------
* ``Worker_DAQ`` now stores all init arguments, some as _private

0.1.0 (2020-07-02)
-------------------
* DvG module filenames changed to lowercase
* Nearing full release status

0.0.12 (2020-06-29)
-------------------
* ``INTERNAL_TIMER``: Already instantiate the ``QTimer`` in ``create_worker_DAQ()``, instead of in ``start_worker_DAQ()``
* Changed default ``DAQ_timer_type`` from ``CoarseTimer`` to ``PreciseTimer``
* Added more Sphinx documentation

0.0.11
-------------------
Skipped (I screwed up the versioning)

0.0.10 (2020-06-22)
-------------------
* Major: Changed name ``Worker_send`` to ``Worker_jobs`` and similar
* Added more Sphinx documentation

0.0.9 (2020-06-17)
------------------
* Moved the ``Worker_###()`` classes outside of ``QDeviceIO`` and into module root
* Added documentation using Sphinx and Read the docs
* Changed from MarkDown to ReStructuredText

0.0.8 (2020-06-09)
------------------
* Added ``pause_DAQ``, ``unpause_DAQ()``, ``wake_up_DAQ()``
* Changed many attribute and method names
* Code style: black

0.0.6 (2020-06-07)
------------------
* Added ``start()``, renamed ``quit_all_workers()`` to ``quit()``
* Added ``send()``, ``add_to_send_queue()``, ``process_send_queue()``

0.0.5 (2020-06-06)
------------------
* Implemented smooth start and stop machinery to the workers

0.0.1 (2020-05-25)
------------------
* First release on PyPI

            

Raw data

            {
    "_id": null,
    "home_page": "https://python-dvg-qdeviceio.readthedocs.io/",
    "name": "dvg-qdeviceio",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "PyQt5, PyQt6, PySide2, PySide6, multithread, device I/O, automation, laboratory, science",
    "author": "Dennis van Gils",
    "author_email": "vangils.dennis@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/34/4a/ac5798d3228d3f3ac930f86e8ddbb0e529de620b8e39e19b9c3cb5973601/dvg-qdeviceio-1.3.0.tar.gz",
    "platform": null,
    "description": ".. image:: https://img.shields.io/pypi/v/dvg-qdeviceio\r\n    :target: https://pypi.org/project/dvg-qdeviceio\r\n.. image:: https://img.shields.io/pypi/pyversions/dvg-qdeviceio\r\n    :target: https://pypi.org/project/dvg-qdeviceio\r\n.. image:: https://github.com/Dennis-van-Gils/python-dvg-qdeviceio/actions/workflows/python-package.yml/badge.svg\r\n    :target: https://github.com/Dennis-van-Gils/python-dvg-qdeviceio/actions/workflows/python-package.yml\r\n.. image:: https://coveralls.io/repos/github/Dennis-van-Gils/python-dvg-qdeviceio/badge.svg\r\n    :target: https://coveralls.io/github/Dennis-van-Gils/python-dvg-qdeviceio\r\n.. image:: https://readthedocs.org/projects/python-dvg-qdeviceio/badge/?version=latest\r\n    :target: https://python-dvg-qdeviceio.readthedocs.io/en/latest/?badge=latest\r\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\r\n    :target: https://github.com/psf/black\r\n.. image:: https://img.shields.io/badge/License-MIT-purple.svg\r\n    :target: https://github.com/Dennis-van-Gils/python-dvg-qdeviceio/blob/master/LICENSE.txt\r\n\r\nDvG_QDeviceIO\r\n=============\r\n*Hassle-free PyQt/PySide interface for multithreaded data acquisition and communication with an I/O device.*\r\n\r\nIt will manage many necessary components for proper multithreading -- creation\r\nand handling of the threads, workers, signals and mutexes -- *for you*, reducing\r\nit to just a few simple method calls of a QDeviceIO class instance to get set up\r\nand going.\r\n\r\nSupports PyQt5, PyQt6, PySide2 and PySide6.\r\n\r\n- Documentation: https://python-dvg-qdeviceio.readthedocs.io\r\n- Github: https://github.com/Dennis-van-Gils/python-dvg-qdeviceio\r\n- PyPI: https://pypi.org/project/dvg-qdeviceio\r\n\r\nInstallation::\r\n\r\n    pip install dvg-qdeviceio\r\n\r\nChangelog\r\n=========\r\n\r\n1.3.0 (2024-04-02)\r\n------------------\r\n* Support Python 3.11\r\n* All f-strings\r\n* Type checking via `isinstance()`, not type == ...\r\n\r\n1.2.0 (2023-02-27)\r\n------------------\r\n* Deprecated `requires.io` and `travis`\r\n* Raise `ImportError` instead of general `Exception`\r\n\r\n1.1.2 (2022-10-26)\r\n------------------\r\n* Minor refactor of mechanism to support PyQt5, PyQt6, PySide2 and PySide6\r\n\r\n1.1.1 (2022-09-14)\r\n------------------\r\n* Forgot to bump requirement ``dvg-debug-functions~=2.2`` to ensure support for\r\n  PyQt5, PyQt6, PySide2 and PySide6\r\n\r\n1.1.0 (2022-09-13)\r\n------------------\r\n* Added support for PyQt5, PyQt6, PySide2 and PySide6\r\n\r\n1.0.0 (2021-07-02)\r\n------------------\r\n* Stable release, identical to v0.4.0\r\n\r\n0.4.0 (2021-05-09)\r\n------------------\r\n* Fixed buggy ``worker_DAQ`` pause and unpause routines in ``CONTINUOUS`` mode\r\n\r\n0.3.0 (2020-07-23)\r\n-------------------\r\n* Updated start & stop machinery Workers\r\n* Removed unneccesary lambdas\r\n* Revamped DAQ rate calculation. Init arg ``calc_DAQ_rate_every_N_iter`` got removed.\r\n\r\n0.2.2 (2020-07-17)\r\n-------------------\r\n* Traceback will be printed when ``DAQ_function`` raises an internal error.\r\n* Introduced ``Worker_###._has_finished`` to prevent hang when closing workers twice.\r\n\r\n0.2.1 (2020-07-15)\r\n-------------------\r\n* Added documentation\r\n\r\n0.2.0 (2020-07-07)\r\n-------------------\r\n* ``quit_worker_###()``: Added check to see if thread was already closed, due to a ``lost_connection`` event. This prevents an hanging app during quit.\r\n* Changed name of enum class ``DAQ_trigger`` to ``DAQ_TRIGGER``\r\n\r\n0.1.2 (2020-07-04)\r\n-------------------\r\n* Proper use of ``super()``, now passing ``**kwargs`` onto subclass ``QtCore.QObject()``\r\n\r\n0.1.1 (2020-07-02)\r\n-------------------\r\n* ``Worker_DAQ`` now stores all init arguments, some as _private\r\n\r\n0.1.0 (2020-07-02)\r\n-------------------\r\n* DvG module filenames changed to lowercase\r\n* Nearing full release status\r\n\r\n0.0.12 (2020-06-29)\r\n-------------------\r\n* ``INTERNAL_TIMER``: Already instantiate the ``QTimer`` in ``create_worker_DAQ()``, instead of in ``start_worker_DAQ()``\r\n* Changed default ``DAQ_timer_type`` from ``CoarseTimer`` to ``PreciseTimer``\r\n* Added more Sphinx documentation\r\n\r\n0.0.11\r\n-------------------\r\nSkipped (I screwed up the versioning)\r\n\r\n0.0.10 (2020-06-22)\r\n-------------------\r\n* Major: Changed name ``Worker_send`` to ``Worker_jobs`` and similar\r\n* Added more Sphinx documentation\r\n\r\n0.0.9 (2020-06-17)\r\n------------------\r\n* Moved the ``Worker_###()`` classes outside of ``QDeviceIO`` and into module root\r\n* Added documentation using Sphinx and Read the docs\r\n* Changed from MarkDown to ReStructuredText\r\n\r\n0.0.8 (2020-06-09)\r\n------------------\r\n* Added ``pause_DAQ``, ``unpause_DAQ()``, ``wake_up_DAQ()``\r\n* Changed many attribute and method names\r\n* Code style: black\r\n\r\n0.0.6 (2020-06-07)\r\n------------------\r\n* Added ``start()``, renamed ``quit_all_workers()`` to ``quit()``\r\n* Added ``send()``, ``add_to_send_queue()``, ``process_send_queue()``\r\n\r\n0.0.5 (2020-06-06)\r\n------------------\r\n* Implemented smooth start and stop machinery to the workers\r\n\r\n0.0.1 (2020-05-25)\r\n------------------\r\n* First release on PyPI\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Hassle-free PyQt/PySide interface for multithreaded data acquisition and communication with an I/O device.",
    "version": "1.3.0",
    "project_urls": {
        "Homepage": "https://python-dvg-qdeviceio.readthedocs.io/",
        "Issue Tracker": "https://github.com/Dennis-van-Gils/python-dvg-qdeviceio/issues"
    },
    "split_keywords": [
        "pyqt5",
        " pyqt6",
        " pyside2",
        " pyside6",
        " multithread",
        " device i/o",
        " automation",
        " laboratory",
        " science"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4329f97f190a88d3a9d069759f3d2c8e091f12d42f38a5a0e2b16aec53346ff1",
                "md5": "eba188f0e74f9af25db305c43c01d751",
                "sha256": "f6bdb092bd5b663f9a18bc0cc30237710ac5580eabb9f064f7f24f5826f15a73"
            },
            "downloads": -1,
            "filename": "dvg_qdeviceio-1.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "eba188f0e74f9af25db305c43c01d751",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 17351,
            "upload_time": "2024-04-02T19:14:04",
            "upload_time_iso_8601": "2024-04-02T19:14:04.991818Z",
            "url": "https://files.pythonhosted.org/packages/43/29/f97f190a88d3a9d069759f3d2c8e091f12d42f38a5a0e2b16aec53346ff1/dvg_qdeviceio-1.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "344aac5798d3228d3f3ac930f86e8ddbb0e529de620b8e39e19b9c3cb5973601",
                "md5": "04e27f05731056775f374b43d68aa5d6",
                "sha256": "1d1abecc9e7794b1b6b22d8cdf670e83da7cbb300e2410637f682688cea03075"
            },
            "downloads": -1,
            "filename": "dvg-qdeviceio-1.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "04e27f05731056775f374b43d68aa5d6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 294306,
            "upload_time": "2024-04-02T19:14:07",
            "upload_time_iso_8601": "2024-04-02T19:14:07.235474Z",
            "url": "https://files.pythonhosted.org/packages/34/4a/ac5798d3228d3f3ac930f86e8ddbb0e529de620b8e39e19b9c3cb5973601/dvg-qdeviceio-1.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-02 19:14:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Dennis-van-Gils",
    "github_project": "python-dvg-qdeviceio",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "dvg-qdeviceio"
}
        
Elapsed time: 0.26260s