$npx skillfedfor your agent

uModbus

Implementation of the Modbus protocol in pure Python.

With conditionsPyPI Embedded SystemsReleased Aug 2020159.9K downloads / moMPLPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — uModbus-1.0.4-py2.py3-none-any.whl
v1.0.4 · released 2020-08-27 · 1 runtime deps: pyserial

Yes, if you need Modbus protocol support in Python. The package is mature, actively maintained, has no known vulnerabilities, and low install friction. The copyleft license (MPL 2.0) is a consideration for proprietary projects; verify compatibility with your licensing requirements before use.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires a Modbus server listening on the target host and port; RTU mode requires pyserial for serial port communication.
  • Low install friction with a single runtime dependency (pyserial).
  • The package is actively maintained with recent commits and has been stable since its first release in 2015.

License · maintenance · safety

MPL (copyleft) — Licensed under Mozilla Public License 2.0 (copyleft), which requires derivative works to disclose modifications and license them under the same terms; suitable for open-source projects but may constrain proprietary use.

last release 2020-08-27 (2178 days) · last repo commit 2026-04-13 · 237 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 159,886 downloads/mo, #10,684 on PyPI

Verify before relying

import socket
from umodbus.client import tcp

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('localhost', 502))
message = tcp.write_multiple_coils(slave_id=1, starting_address=1, values=[1, 0, 1, 1])
response = tcp.send_message(message, sock)
sock.close()
  • Whether the package supports Modbus protocol versions beyond V1.1b3 or extensions like Modbus Plus.
  • Current compatibility with Python versions beyond 3.8 (classifiers list only up to 3.8).
  • Performance characteristics for high-frequency polling or large register sets.
Same gist for agents: .md · .json

What it is and what it does

uModbus is a lightweight, pure-Python implementation of the Modbus protocol (MODBUS Application Protocol Specification V1.1b3) that lets you build Modbus clients and servers for both TCP and RTU communication modes. It handles the low-level protocol details—encoding requests, parsing responses, managing slave IDs and function codes—so you can focus on reading and writing coils and registers. The package supports function codes 01–06 and 15–16 for common operations like reading holding registers and writing multiple coils, plus signed and unsigned register values.

Typically used in industrial automation and embedded systems where devices communicate via Modbus over Ethernet (TCP) or serial links (RTU). You set up a server with route decorators that map slave IDs and addresses to your data store, or use the client API to send requests and receive responses from remote Modbus devices. The single runtime dependency is pyserial, needed only for RTU serial communication; TCP mode has no external dependencies beyond the standard library.

Use it for

  • Build a Modbus TCP server to expose sensor or control data from an embedded system or industrial device.
  • Query Modbus RTU devices over serial connections to read temperature, pressure, or status registers.
  • Implement a Modbus gateway that bridges TCP clients to RTU serial devices or vice versa.
  • Write integration tests for Modbus-based hardware by simulating a server or client in pure Python.
  • Prototype industrial automation logic without proprietary Modbus libraries or commercial tools.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need Modbus protocol support in Python.

The package is mature, actively maintained, has no known vulnerabilities, and low install friction. The copyleft license (MPL 2.0) is a consideration for proprietary projects; verify compatibility with your licensing requirements before use.

Install

umodbus on PyPI

Before you install

Low install friction with a single runtime dependency (pyserial). The package is actively maintained with recent commits and has been stable since its first release in 2015.

Requires a Modbus server listening on the target host and port; RTU mode requires pyserial for serial port communication.

License in practice

Licensed under Mozilla Public License 2.0 (copyleft), which requires derivative works to disclose modifications and license them under the same terms; suitable for open-source projects but may constrain proprietary use.

Quickstart

import socket
from umodbus.client import tcp

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('localhost', 502))
message = tcp.write_multiple_coils(slave_id=1, starting_address=1, values=[1, 0, 1, 1])
response = tcp.send_message(message, sock)
sock.close()

Verify before relying

  • Whether the package supports Modbus protocol versions beyond V1.1b3 or extensions like Modbus Plus.
  • Current compatibility with Python versions beyond 3.8 (classifiers list only up to 3.8).
  • Performance characteristics for high-frequency polling or large register sets.

Package facts

LicenseMPL copyleft
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
pyserial
MaintenanceActively maintained 2,178 days since the last release
Last repo commit
First released
Downloads159,886 / month, #10,684 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 6 - MatureIntended Audience :: DevelopersLicense :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)Operating System :: OS IndependentProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Topic :: Software Development :: Embedded Systems

Evidence: uModbus-1.0.4-py2.py3-none-any.whl

Tags

Capabilities
modbus protocol implementationmodbus tcp client servermodbus rtu communicationindustrial protocol pythonmodbus device communicationembedded systems modbusmodbus register read write
Topics
modbus-protocolindustrial-automationembedded-systems

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 › “modbus protocol implementation”

  • uModbusuModbus is a pure Python implementation of the Modbus protocol that…
  • pymodbusPyModbus is a complete Modbus protocol implementation providing…
  • pyModbusTCPA pure-Python Modbus/TCP client and server library for reading and…

Give your agent the search over MCP, or paste the wish link into any chat.

More Embedded Systems packages

python-can Worth it
PyPI · Utilities · released Aug 2025

Provides Python abstractions and utilities for Controller Area Network (CAN) communication, supporting multiple hardware backends and message logging formats.

Install it if you need to communicate with CAN buses from Python.

LGPL-3.0-onlypure Python · 3.9+
5.2Mdownloads / mo
pyquaternion Worth it
PyPI · Python Modules · released Oct 2020

Provides quaternion representation, manipulation, and rotation operations for 3D geometry and animation, with support for smooth interpolation between orientations.

MITpure Python
3.9Mdownloads / mo
crccheck Worth it
PyPI · Scientific/Engineering · released Jul 2025

Calculates CRC and checksum values from binary data using parametrized algorithms from the CRC catalogue, supporting dozens of standard CRC variants and additive/XOR checksums.

Install it if you need standard CRC calculations; avoid it only if you require active feature development or real-time performance guarantees.

MITpure Pythonaging
2.2Mdownloads / mo
esptool Worth it
PyPI · Embedded Systems · released Jun 2026

esptool is a serial utility for flashing, provisioning, and interacting with Espressif microcontroller SoCs over a serial connection.

Install it if you develop or deploy firmware on Espressif SoCs.

GPL-2.0-or-laterbuilds from source · 3.10+
1.6Mdownloads / mo
esp-idf-kconfig With conditions
PyPI · Embedded Systems · released Jul 2026

Provides kconfig language support and IDE tooling for configuring Espressif ESP-IDF embedded projects, including configuration parsing, validation, and documentation generation.

Apache-2.0pure Python · 3.8+
1.4Mdownloads / mo
pyocd Worth it
PyPI · Software Development · released Jul 2026

pyOCD is a Python-based debugger and programmer for Arm Cortex-M microcontrollers that works with many debug probes across Linux, macOS, Windows, and FreeBSD.

Apache-2.0pure Python · 3.9.0+
1.4Mdownloads / mo

See also async-modbus · pyModbusTCP · pymodbus · minimalmodbus · nibe · huawei-solar · goodwe · pystiebeleltron · icmplib · pymemcache