Language - Python: Difference between revisions

From Phidgets Support
(Created page with 'Preamble about the language and its general strengths and weaknesses. ==Assessment for use with Phidgets== Our honest opinion on how well this language is suited to controlling …')
 
 
(215 intermediate revisions by 10 users not shown)
Line 1: Line 1:
Preamble about the language and its general strengths and weaknesses.
{{#seo:|description=Learn how to use Phidget USB devices with Python.}}
[[Category:Language]]


==Assessment for use with Phidgets==
==Get Started==
Our honest opinion on how well this language is suited to controlling Phidgets. If it is a poor choice, suggest and link similar (better) languages.
With the Phidget22 Python library, it's easy to create Python applications that work with Phidget devices.


==Support==
==Python Libraries==
We provide [[Levels of Support|full support]] for Python.
===pip Package===
The Phidget22 Python library is available as a [https://pypi.org/project/phidget22/ pip package]. Most development environments provide built-in tools to manage packages. View the [[#Development Environment Configuration | Development Environment Configuration]] section below for examples.  


==Restrictions==
====macOS Considerations====
In this section, list any restrictions or limitations that this particular language may impose. For example, incompatibility with certain operating systems.
Phidget devices running a HID USB stack require the installation of the macOS libraries or the standalone Phidget Control Panel ([{{SERVER}}/docs/OS_-_macOS download here]).


==Development Environments and Compilers==
To determine what USB stack your Phidget device is on, navigate to the product page and then to the specification tab, and look for the ''USB Stack'' specification. If you are using a VINT device, navigate to the product page for the VINT Hub you are using.


Describe each major compiler and notable differences or important information. (eg. framework versions) If there are known issues/workarounds mention them and link to the corresponding issue at the bottom of the page.  
[[Image:Javascript_networkserver_webusb_spec.png|center|600px|link=https://cdn.phidgets.com/docs/images/8/80/Javascript_networkserver_webusb_spec.png]]


==Drivers, Libraries and Resources==
====Linux Considerations====
Before you can run your program, you need to set up the proper environment and get the necessary files off the Phidgets website.
Linux restricts access to USB devices to the root user. To run your Python application as a regular user, you'll need to [{{SERVER}}/docs/OS_-_Linux#Setting_Udev_Rules set up udev rules] on your system.
Visit the drivers section at www.phidgets.com and get the latest:
* [http://www.phidgets.com/drivers.php Phidget Framework]
* [http://www.phidgets.com/downloads/libraries/PhidgetsPython_2.1.8.20110804.zip Phidgets Python Module]
You will need the Phidget Framework to use and to program with Phidgets. We also recommend that you download the following reference materials:
* [http://www.phidgets.com/documentation/PythonDoc.zip API Manual]
* [http://www.phidgets.com/documentation/web/PythonDoc/Phidgets.html API Reference]
* [http://www.phidgets.com/downloads/examples/Python_2.1.8.20110804.zip Python Sample Code]
* You can find a high level discussion about programming with Phidgets in general on the [[General API]] page.
* The [[Device Functionality]] page explains the general operational information for your device.  


You may want to have these pages open while working through these instructions.
===Source Files===
The Phidget22 Python library source files are available [https://cdn.phidgets.com/downloads/phidget22/libraries/any/Phidget22Python.zip here].


==Getting Started==
==Development Environment Configuration==
Here we provide a basic setup guide and code samples to start a project from scratch.
Most development environments provide built-in tools to manage Python interpreters, packages, and virtual environments. See the examples below for more information.
===Installing a Python Interpreter===
If you don't already have a Python interpreter installed, you can download and install one from [https://www.python.org/downloads/ python.org] or through package managers like [https://brew.sh/ Homebrew].


==Building your Project==
===Visual Studio Code===
Describe the different ways a project could be built using this language.
{| style="margin:auto;" class="table-no-border mw-collapsible mw-collapsed"
|+ '''Instructions'''
| Install the [https://marketplace.visualstudio.com/items?itemName=ms-python.python Python extension for Visual Studio Code].|| [[Image:Language_python_vscode_install.png|center|350px|link=https://cdn.phidgets.com/docs/images/f/f9/Language_python_vscode_install.png]]
|-
| Next, create a directory and open it in Visual Studio Code. You can do this by opening Visual Studio Code and selecting '''File > Open Folder...''' || [[Image:Language_python_vscode_newfolder.png|center|350px|link=https://cdn.phidgets.com/docs/images/f/f8/Language_python_vscode_newfolder.png]]
|-
| Open the Command Palette (Ctrl + Shift + P), type '''Python: Create Environment''', and press Enter. Select '''Venv''' when prompted. || [[Image:Language_python_vscode_newvenv.png|center|350px|link=https://cdn.phidgets.com/docs/images/a/a6/Language_python_vscode_newvenv.png]]
|-
| Next, select your preferred Python interpreter from the list. You may need to browse to find it. || [[Image:Language_python_vscode_selectinterpreter.png|center|350px|link=https://cdn.phidgets.com/docs/images/2/20/Language_python_vscode_selectinterpreter.png]]
|-
| Open a new terminal. You can do this through the Command Palette again (Ctrl + Shift + P), by typing '''Terminal: Create New Terminal'''. Install the Phidget22 pip package:
<syntaxhighlight lang=bash>
#Windows
py -m pip install phidget22


==Common Problems and Solutions/Workarounds==
#macOS
Here you can put various frequent problems and our recommended solutions.
python3 -m pip install phidget22
 
#Linux (Debian)
python3 -m pip install phidget22
</syntaxhighlight>
|| [[Image:Language_python_vscode_installpackage.png|center|350px|link=https://cdn.phidgets.com/docs/images/a/a8/Language_python_vscode_installpackage.png]]
|-
| Finally, add your Python file and run it using the button in the top right corner.|| [[Image:Language_python_vscode_runcode.png|center|350px|link=https://cdn.phidgets.com/docs/images/9/96/Language_python_vscode_runcode.png]]
|-
|}
 
===PyCharm===
{| style="margin:auto;" class="table-no-border mw-collapsible mw-collapsed"
|+ '''Instructions'''
| Create your PyCharm project and navigate to '''Settings''': || [[Image:Windows_pycharm_settings.jpg|center|350px|link=https://cdn.phidgets.com/docs/images/7/75/Windows_pycharm_settings.jpg]]
|-
| Next, navigate to '''Project > Project Interpreter''' and click on the '''+''' symbol: || [[Image:Windows_pycharm_addpackage.jpg|center|350px|link=https://cdn.phidgets.com/docs/images/6/6f/Windows_pycharm_addpackage.jpg]]
|-
| Search for '''phidget22''' and install the package: || [[Image:Windows_pycharm_installpackage.jpg|center|350px|link=https://cdn.phidgets.com/docs/images/a/ad/Windows_pycharm_installpackage.jpg]]
|-
| Finally, add your Python file and run it using the button at the top of the screen: || [[Image:Windows_pycharm_run.png|center|350px|link=https://cdn.phidgets.com/docs/images/0/0a/Windows_pycharm_run.png]]
|}
 
==Example Code==
Navigate to our [https://www.phidgets.com/?view=code_samples&lang=Python Code Sample Generator] to view and download code samples that are tailored to your specific device.
 
[[Image:Language_python_codesample.png|center|600px|link=https://cdn.phidgets.com/docs/images/2/2d/Language_python_codesample.png]]
 
===Phidget Programming Basics===
{{PhidgetProgrammingBasicsLink}}
 
==API==
[{{SERVER}}/?view=api&lang=Python Phidget22 API]

Latest revision as of 18:51, 11 June 2025


Get Started

With the Phidget22 Python library, it's easy to create Python applications that work with Phidget devices.

Python Libraries

pip Package

The Phidget22 Python library is available as a pip package. Most development environments provide built-in tools to manage packages. View the Development Environment Configuration section below for examples.

macOS Considerations

Phidget devices running a HID USB stack require the installation of the macOS libraries or the standalone Phidget Control Panel (download here).

To determine what USB stack your Phidget device is on, navigate to the product page and then to the specification tab, and look for the USB Stack specification. If you are using a VINT device, navigate to the product page for the VINT Hub you are using.

Javascript networkserver webusb spec.png

Linux Considerations

Linux restricts access to USB devices to the root user. To run your Python application as a regular user, you'll need to set up udev rules on your system.

Source Files

The Phidget22 Python library source files are available here.

Development Environment Configuration

Most development environments provide built-in tools to manage Python interpreters, packages, and virtual environments. See the examples below for more information.

Installing a Python Interpreter

If you don't already have a Python interpreter installed, you can download and install one from python.org or through package managers like Homebrew.

Visual Studio Code

Instructions
Install the Python extension for Visual Studio Code.
Language python vscode install.png
Next, create a directory and open it in Visual Studio Code. You can do this by opening Visual Studio Code and selecting File > Open Folder...
Language python vscode newfolder.png
Open the Command Palette (Ctrl + Shift + P), type Python: Create Environment, and press Enter. Select Venv when prompted.
Language python vscode newvenv.png
Next, select your preferred Python interpreter from the list. You may need to browse to find it.
Language python vscode selectinterpreter.png
Open a new terminal. You can do this through the Command Palette again (Ctrl + Shift + P), by typing Terminal: Create New Terminal. Install the Phidget22 pip package:
#Windows
py -m pip install phidget22 

#macOS
python3 -m pip install phidget22 

#Linux (Debian)
python3 -m pip install phidget22
Language python vscode installpackage.png
Finally, add your Python file and run it using the button in the top right corner.
Language python vscode runcode.png

PyCharm

Instructions
Create your PyCharm project and navigate to Settings:
Windows pycharm settings.jpg
Next, navigate to Project > Project Interpreter and click on the + symbol:
Windows pycharm addpackage.jpg
Search for phidget22 and install the package:
Windows pycharm installpackage.jpg
Finally, add your Python file and run it using the button at the top of the screen:
Windows pycharm run.png

Example Code

Navigate to our Code Sample Generator to view and download code samples that are tailored to your specific device.

Language python codesample.png

Phidget Programming Basics

To learn more about the structure of the example code, visit our Phidget Programming Basics guide.

API

Phidget22 API