WPC Python Driver
=================
.. image:: https://img.shields.io/badge/pip%20install-wpcsys-orange.svg
:target: https://pypi.org/project/wpcsys/
:alt: pip install
.. image:: https://img.shields.io/pypi/v/wpcsys
:target: https://pypi.org/project/wpcsys/
:alt: PyPI
.. image:: https://img.shields.io/badge/Python-3.8%20to%203.12%20-blue.svg
:target: https://pypi.org/project/wpcsys/
:alt: Python version
.. image:: https://img.shields.io/badge/os-Ubuntu%20&%20Windows%2010-brown.svg
:target: https://www.microsoft.com/zh-tw/software-download/windows10
:alt: OS
.. image:: https://img.shields.io/badge/License-MIT-yellow.svg
:target: https://opensource.org/licenses/MIT
:alt: License: MIT
.. image:: https://img.shields.io/badge/docs-passing-green.svg
:target: https://wpc-systems-ltd.github.io/WPC_Python_driver_release/
:alt: docs
.. image:: https://img.shields.io/pypi/wheel/wpcsys
:target: https://pypi.org/project/wpcsys/
:alt: Wheel support
Overview
--------
**WPC Python driver** is an easy-to-use open-source API for beginners and professionals.
It simplifies communication with WPC products using a consistent and intuitive interface.
With rich examples and simple logic — just ``open``, ``read/write``, and ``close`` — you can easily access or update data.
It is a practical tool for both learning and developing applications with real-world hardware.
**⚠️ Note:** Please ensure your firmware version is up-to-date to maintain compatibility.
Architecture
------------
The driver supports both **synchronous** and **asynchronous** operation:
- **Synchronous**: Executes tasks step-by-step, blocking until each completes.
- **Asynchronous**: Runs tasks independently, allowing concurrency and scalability.
Synchronous APIs are easier to understand and debug, while asynchronous APIs are ideal for high-performance applications.
Install and Upgrade
-------------------
Install via pip:
.. code-block:: shell
pip install wpcsys
To install without dependencies:
.. code-block:: shell
pip install wpcsys --no-deps
To upgrade:
.. code-block:: shell
pip install --upgrade wpcsys
Supported Platforms
-------------------
This package provides prebuilt binaries (.so / .pyd) for:
+----------------+-----------------------+----------------+-----------------------------+
| Python Version | Platform | File Format | Supported WPC Products |
+================+=======================+================+=============================+
| 3.8 ~ 3.12 | x86_64 Linux | ``.so`` | All WPC products supported |
+----------------+-----------------------+----------------+-----------------------------+
| 3.8 ~ 3.12 | Windows (win_amd64) | ``.pyd`` | All WPC products supported |
+----------------+-----------------------+----------------+-----------------------------+
| 3.8 ~ 3.12 | aarch64 Linux | ``.so`` | **Drone products only** |
+----------------+-----------------------+----------------+-----------------------------+
**⚠️ Warning:** `aarch64-linux-gnu` builds support **only WPC drone products**.\
Use with other products may cause errors or unexpected behavior.
Quick Start
-----------
A minimal working example:
.. code-block:: python
from wpcsys import pywpc
print(pywpc.PKG_NAME)
print(pywpc.HANDLE_LIST)
Example output of `HANDLE_LIST`:
::
['DeviceFinder', 'Drone', 'EthanA', 'EthanA2', 'EthanD', 'EthanEXD', 'EthanI', 'EthanIA',
'EthanL', 'EthanO', 'EthanP', 'EthanT', 'USBDAQF1D', 'USBDAQF1DSNK', 'USBDAQF1AD',
'USBDAQF1AOD', 'USBDAQF1TD', 'USBDAQF1RD', 'USBDAQF1CD', 'WifiDAQE3A', 'WifiDAQE3AH',
'WifiDAQF4A', 'WifiDAQE3AOD', 'WifiDAQE3AO', 'STEM', 'EMotion', 'EDriveST']
Resources
---------
- `GitHub Repository <https://github.com/WPC-Systems-Ltd/WPC_Python_driver_release>`_
- `Documentation <https://wpc-systems-ltd.github.io/WPC_Python_driver_release/>`_
- `Useful Conda Commands <https://github.com/WPC-Systems-Ltd/WPC_Python_driver_release/wiki/Useful-Conda-Commands>`_
- `Run Examples in Console <https://github.com/WPC-Systems-Ltd/WPC_Python_driver_release/wiki/How-to-run-WPC-Python-driver-example-code-in-console>`_
- `Build EXE from Python Code <https://github.com/WPC-Systems-Ltd/WPC_Python_driver_release/wiki/How-to-build-your-own-Python-code-to-EXE-file>`_
- `Install Miniconda and Create Virtual Env <https://github.com/WPC-Systems-Ltd/WPC_Python_driver_release/wiki/How-to-install-miniconda-and-build-your-own-virtual-environment>`_
- `LabVIEW Run-Time Engine <https://drive.google.com/file/d/1Uj6r65KhNxvuApiqrMkZp-NWyq-Eek-k/view>`_
License
-------
Licensed under the MIT License. See `LICENSE <https://github.com/WPC-Systems-Ltd/WPC_Python_driver_release/blob/main/LICENSE>`_ for details.
All included components allow for both commercial and non-commercial use.
Raw data
{
"_id": null,
"home_page": "https://github.com/WPC-Systems-Ltd/WPC_Python_driver_release",
"name": "wpcsys",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "WPC, DAQ, Motion card, Motion driver, USB, Ethernet, Wifi",
"author": "Chunglee people, Chieh-An Lin",
"author_email": "wu@wpc.com.tw",
"download_url": "https://files.pythonhosted.org/packages/30/76/88a9f4209df82d768f3e96adc3ca96587c757498b680e2a78623c3fc8692/wpcsys-3.2.0.tar.gz",
"platform": null,
"description": "WPC Python Driver\n=================\n\n.. image:: https://img.shields.io/badge/pip%20install-wpcsys-orange.svg\n :target: https://pypi.org/project/wpcsys/\n :alt: pip install\n\n.. image:: https://img.shields.io/pypi/v/wpcsys\n :target: https://pypi.org/project/wpcsys/\n :alt: PyPI\n\n.. image:: https://img.shields.io/badge/Python-3.8%20to%203.12%20-blue.svg\n :target: https://pypi.org/project/wpcsys/\n :alt: Python version\n\n.. image:: https://img.shields.io/badge/os-Ubuntu%20&%20Windows%2010-brown.svg\n :target: https://www.microsoft.com/zh-tw/software-download/windows10\n :alt: OS\n\n.. image:: https://img.shields.io/badge/License-MIT-yellow.svg\n :target: https://opensource.org/licenses/MIT\n :alt: License: MIT\n\n.. image:: https://img.shields.io/badge/docs-passing-green.svg\n :target: https://wpc-systems-ltd.github.io/WPC_Python_driver_release/\n :alt: docs\n\n.. image:: https://img.shields.io/pypi/wheel/wpcsys\n :target: https://pypi.org/project/wpcsys/\n :alt: Wheel support\n\nOverview\n--------\n\n**WPC Python driver** is an easy-to-use open-source API for beginners and professionals.\nIt simplifies communication with WPC products using a consistent and intuitive interface.\n\nWith rich examples and simple logic \u2014 just ``open``, ``read/write``, and ``close`` \u2014 you can easily access or update data.\nIt is a practical tool for both learning and developing applications with real-world hardware.\n\n**\u26a0\ufe0f Note:** Please ensure your firmware version is up-to-date to maintain compatibility.\n\nArchitecture\n------------\n\nThe driver supports both **synchronous** and **asynchronous** operation:\n\n- **Synchronous**: Executes tasks step-by-step, blocking until each completes.\n- **Asynchronous**: Runs tasks independently, allowing concurrency and scalability.\n\nSynchronous APIs are easier to understand and debug, while asynchronous APIs are ideal for high-performance applications.\n\nInstall and Upgrade\n-------------------\n\nInstall via pip:\n\n.. code-block:: shell\n\n pip install wpcsys\n\nTo install without dependencies:\n\n.. code-block:: shell\n\n pip install wpcsys --no-deps\n\nTo upgrade:\n\n.. code-block:: shell\n\n pip install --upgrade wpcsys\n\nSupported Platforms\n-------------------\n\nThis package provides prebuilt binaries (.so / .pyd) for:\n\n+----------------+-----------------------+----------------+-----------------------------+\n| Python Version | Platform | File Format | Supported WPC Products |\n+================+=======================+================+=============================+\n| 3.8 ~ 3.12 | x86_64 Linux | ``.so`` | All WPC products supported |\n+----------------+-----------------------+----------------+-----------------------------+\n| 3.8 ~ 3.12 | Windows (win_amd64) | ``.pyd`` | All WPC products supported |\n+----------------+-----------------------+----------------+-----------------------------+\n| 3.8 ~ 3.12 | aarch64 Linux | ``.so`` | **Drone products only** |\n+----------------+-----------------------+----------------+-----------------------------+\n\n**\u26a0\ufe0f Warning:** `aarch64-linux-gnu` builds support **only WPC drone products**.\\\n Use with other products may cause errors or unexpected behavior.\n\nQuick Start\n-----------\n\nA minimal working example:\n\n.. code-block:: python\n\n from wpcsys import pywpc\n\n print(pywpc.PKG_NAME)\n print(pywpc.HANDLE_LIST)\n\nExample output of `HANDLE_LIST`:\n\n::\n\n ['DeviceFinder', 'Drone', 'EthanA', 'EthanA2', 'EthanD', 'EthanEXD', 'EthanI', 'EthanIA',\n 'EthanL', 'EthanO', 'EthanP', 'EthanT', 'USBDAQF1D', 'USBDAQF1DSNK', 'USBDAQF1AD',\n 'USBDAQF1AOD', 'USBDAQF1TD', 'USBDAQF1RD', 'USBDAQF1CD', 'WifiDAQE3A', 'WifiDAQE3AH',\n 'WifiDAQF4A', 'WifiDAQE3AOD', 'WifiDAQE3AO', 'STEM', 'EMotion', 'EDriveST']\n\nResources\n---------\n\n- `GitHub Repository <https://github.com/WPC-Systems-Ltd/WPC_Python_driver_release>`_\n- `Documentation <https://wpc-systems-ltd.github.io/WPC_Python_driver_release/>`_\n- `Useful Conda Commands <https://github.com/WPC-Systems-Ltd/WPC_Python_driver_release/wiki/Useful-Conda-Commands>`_\n- `Run Examples in Console <https://github.com/WPC-Systems-Ltd/WPC_Python_driver_release/wiki/How-to-run-WPC-Python-driver-example-code-in-console>`_\n- `Build EXE from Python Code <https://github.com/WPC-Systems-Ltd/WPC_Python_driver_release/wiki/How-to-build-your-own-Python-code-to-EXE-file>`_\n- `Install Miniconda and Create Virtual Env <https://github.com/WPC-Systems-Ltd/WPC_Python_driver_release/wiki/How-to-install-miniconda-and-build-your-own-virtual-environment>`_\n- `LabVIEW Run-Time Engine <https://drive.google.com/file/d/1Uj6r65KhNxvuApiqrMkZp-NWyq-Eek-k/view>`_\n\nLicense\n-------\n\nLicensed under the MIT License. See `LICENSE <https://github.com/WPC-Systems-Ltd/WPC_Python_driver_release/blob/main/LICENSE>`_ for details.\nAll included components allow for both commercial and non-commercial use.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "WPC Python driver APIs, the easiest way to Control & Data Acquisition (DAQ)",
"version": "3.2.0",
"project_urls": {
"Homepage": "https://github.com/WPC-Systems-Ltd/WPC_Python_driver_release"
},
"split_keywords": [
"wpc",
" daq",
" motion card",
" motion driver",
" usb",
" ethernet",
" wifi"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "40a5879f86c6608781eb3e11d3606535f440f79edb437078c639f88b4ad720c5",
"md5": "64bde9356b092a2dbf862eaa0a6eb9c4",
"sha256": "7d06b7ac30692b6df3b427f2bb9dddedab66b69d21ab1c51cdeb6746bbcea3bf"
},
"downloads": -1,
"filename": "wpcsys-3.2.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "64bde9356b092a2dbf862eaa0a6eb9c4",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 15149446,
"upload_time": "2025-09-04T02:08:36",
"upload_time_iso_8601": "2025-09-04T02:08:36.723060Z",
"url": "https://files.pythonhosted.org/packages/40/a5/879f86c6608781eb3e11d3606535f440f79edb437078c639f88b4ad720c5/wpcsys-3.2.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e3266b0293235f7a6d9a50fecf6faada65d922e8079cb1e6626e3bbb350e51ba",
"md5": "cbb7c076ed865b88e7b7cf8801617577",
"sha256": "640aeef2683b447986ac9c43821e84d5ca8bf7af8763ea13311e10d186226fd4"
},
"downloads": -1,
"filename": "wpcsys-3.2.0-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "cbb7c076ed865b88e7b7cf8801617577",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 15149446,
"upload_time": "2025-09-04T02:08:56",
"upload_time_iso_8601": "2025-09-04T02:08:56.133567Z",
"url": "https://files.pythonhosted.org/packages/e3/26/6b0293235f7a6d9a50fecf6faada65d922e8079cb1e6626e3bbb350e51ba/wpcsys-3.2.0-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8e07258d5fd87f432cc9c95c889d1ddf6e199333d2275c7ac36dc7b43f60c4b2",
"md5": "f03898a2a002afe43958360f11a014f6",
"sha256": "72724b63a2ec6f6cb6247d39b5b7fb73e26114888dca64a79e070e129f8c1921"
},
"downloads": -1,
"filename": "wpcsys-3.2.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "f03898a2a002afe43958360f11a014f6",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 15149446,
"upload_time": "2025-09-04T02:09:05",
"upload_time_iso_8601": "2025-09-04T02:09:05.599108Z",
"url": "https://files.pythonhosted.org/packages/8e/07/258d5fd87f432cc9c95c889d1ddf6e199333d2275c7ac36dc7b43f60c4b2/wpcsys-3.2.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "307688a9f4209df82d768f3e96adc3ca96587c757498b680e2a78623c3fc8692",
"md5": "61e01fa590e0821155edca83ca99768b",
"sha256": "271c8acc343451ca3c8cd75afa7786522bce61136bb5945beb3795943036ccf6"
},
"downloads": -1,
"filename": "wpcsys-3.2.0.tar.gz",
"has_sig": false,
"md5_digest": "61e01fa590e0821155edca83ca99768b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 15047743,
"upload_time": "2025-09-04T02:09:15",
"upload_time_iso_8601": "2025-09-04T02:09:15.867773Z",
"url": "https://files.pythonhosted.org/packages/30/76/88a9f4209df82d768f3e96adc3ca96587c757498b680e2a78623c3fc8692/wpcsys-3.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-04 02:09:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "WPC-Systems-Ltd",
"github_project": "WPC_Python_driver_release",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "pyusb",
"specs": [
[
">=",
"1.2.1"
]
]
},
{
"name": "numpy",
"specs": [
[
">=",
"1.23.0"
]
]
},
{
"name": "qasync",
"specs": [
[
">=",
"0.23.0"
]
]
},
{
"name": "matplotlib",
"specs": [
[
">=",
"3.5.2"
]
]
},
{
"name": "PyQt5",
"specs": [
[
">=",
"5.15.4"
]
]
},
{
"name": "PyQt5-Qt5",
"specs": [
[
">=",
"5.15.2"
]
]
},
{
"name": "PyQt5-sip",
"specs": [
[
">=",
"12.10.1"
]
]
},
{
"name": "wpcEXEbuild",
"specs": [
[
">=",
"0.0.1"
]
]
},
{
"name": "numpy-stl",
"specs": [
[
">=",
"3.1.1"
]
]
},
{
"name": "pyqtgraph",
"specs": [
[
">=",
"0.13.3"
]
]
},
{
"name": "PyOpenGL",
"specs": [
[
">=",
"3.1.7"
]
]
},
{
"name": "meshio",
"specs": [
[
">=",
"5.3.5"
]
]
},
{
"name": "Pillow",
"specs": [
[
">=",
"10.2.0"
]
]
},
{
"name": "pyserial",
"specs": [
[
">=",
"3.5"
]
]
}
],
"lcname": "wpcsys"
}