skillfed

pylibftdi

Pythonic interface to FTDI devices using libftdi.

pylibftdi v0.24.0 93.3K downloads/30d#13,392 on PyPI25
Permissive license MIT Active released

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

Pythonic interface to FTDI USB devices via libftdi, providing serial and parallel IO with file-like read/write operations and support for multiple devices.

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

pip

pip install pylibftdi

uv

uv add pylibftdi

poetry

poetry add pylibftdi

Installing pylibftdi

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).

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')

Requires libftdi library installed on the system; FTDI device must be connected and recognized by the OS.

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)

Evidence: pylibftdi-0.24.0-py3-none-any.whl

Keywords: ftdi, libftdi, usb

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

Tags

ftdi usb device interfacelibftdi python wrapperserial parallel io ftdiusb device control pythonftdi device communicationbitbang parallel ioftdi multiple devices
usb-hardwareembedded-systemsftdi

More Scientific/Engineering packages