pylibftdi
Pythonic interface to FTDI devices using libftdi.
Decision gist · record as of 2026-08-14
Yes, if you need to control FTDI USB devices from Python. The package is actively maintained, has no Python dependencies, supports current Python versions, and carries no known vulnerabilities. Install friction is low. The MIT license poses no restrictions. The only prerequisite is having libftdi installed on your system and an FTDI device to communicate with.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires libftdi library installed on the system; FTDI device must be connected and recognized by the OS.
- Low friction: pure Python wheel with no runtime dependencies beyond libftdi itself.
- Actively maintained with recent commits and supports modern Python versions (3.10–3.14).
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution in commercial and private projects with minimal attribution requirements.
last release 2026-04-04 (132 days) · last repo commit 2026-05-22 · 25 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 93,318 downloads/mo, #13,392 on PyPI
Alternatives
Verify before relying
from pylibftdi import Device
with Device(mode='t') as dev:
dev.baudrate = 115200
dev.write('Hello World')- Specific libftdi version requirements or compatibility matrix with different libftdi releases.
- Whether BitBangDevice and HD44780 LCD support are production-ready or still experimental.
- Performance characteristics when handling multiple simultaneous devices.
What it is and what it does
pylibftdi wraps the libftdi C library to give Python developers a high-level, Pythonic interface to FTDI USB devices. It abstracts away low-level libftdi calls and provides file-like objects for reading and writing, making it straightforward to control serial and parallel IO devices like the UM232R. The package supports multiple connected devices, text/binary modes with configurable encoding, and includes convenience wrappers for common external devices such as HD44780 LCDs.
The library is designed for embedded systems work and hardware control—typical use cases include reading sensor data over USB serial, toggling parallel IO pins, or driving external displays. It requires only the libftdi system library and Python 3.10 or later, with no additional Python dependencies, keeping installation friction minimal.
Use it for
- Read sensor or telemetry data from FTDI serial devices at configurable baud rates.
- Control parallel IO pins on FTDI devices for relay switching or LED control.
- Interface with HD44780 character LCD displays via FTDI bitbang mode.
- Manage multiple FTDI devices simultaneously in a single application.
- Prototype embedded hardware communication without writing C code.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to control FTDI USB devices from Python.
The package is actively maintained, has no Python dependencies, supports current Python versions, and carries no known vulnerabilities. Install friction is low. The MIT license poses no restrictions. The only prerequisite is having libftdi installed on your system and an FTDI device to communicate with.
Install
pylibftdi on PyPI
Before you install
Low friction: pure Python wheel with no runtime dependencies beyond libftdi itself. Actively maintained with recent commits and supports modern Python versions (3.10–3.14).
Requires libftdi library installed on the system; FTDI device must be connected and recognized by the OS.
License in practice
MIT license permits unrestricted use, modification, and distribution in commercial and private projects with minimal attribution requirements.
Quickstart
from pylibftdi import Device
with Device(mode='t') as dev:
dev.baudrate = 115200
dev.write('Hello World')
Verify before relying
- Specific libftdi version requirements or compatibility matrix with different libftdi releases.
- Whether BitBangDevice and HD44780 LCD support are production-ready or still experimental.
- Performance characteristics when handling multiple simultaneous devices.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 132 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 93,318 / month, #13,392 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaEnvironment :: ConsoleIntended Audience :: DevelopersOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/EngineeringTopic :: Software Development :: Embedded SystemsTopic :: System :: Hardware |
Evidence: pylibftdi-0.24.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “ftdi usb device interface”
- pylibftdiPythonic interface to FTDI USB devices via libftdi, providing serial…
- pyftdiPyFtdi provides a pure-Python user-space driver for FTDI USB devices,…
- ft4222Provides Python bindings to LibFT4222, enabling control of FT4222H…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also blkinfo · pyftdi · ft4222 · libusb1 · python-ipmi · PyLink · libusbsio · pyusb · libusb-package · pylibiio