NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3474 most downloaded on PyPI
A fully featured modbus protocol stack in python
Last release 1 months ago
13 Aug 2026
Ships fairly regularly
a new release about every 5 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
14 years old
81 releases · first in 2012
Nothing published for this version
Fix retries on tcp client failing randomly.
Fix retries on tcp client failing randomly.
Fix Asyncio client timeout arg not being used.
Treat exception codes as valid responses
Fix examples (modbus_payload)
Add missing identity argument to async ModbusSerialServer
Nothing published for this version
One column per quarter.
Add kwarg reset_socket to control closing of the socket on read failures (set to True by default).
Add kwarg reset_socket to control closing of the socket on read failures (set to True by default).
Add --reset-socket/--no-reset-socket to REPL client.
Support multiple UID's with REPL server.
Bug fix TCP Repl server.
Support multiple UID's with REPL server.
Support serial for URL (sync serial client)
Bug fix/enhancements, close socket connections only on empty or invalid response
Nothing published for this version
Disable unnecessary deprecation warning while using async clients.
Support response types stray and empty in repl server.
Minor updates in asyncio server.
Update reactive server to send stray response of given length.
Transaction manager updates on retries for empty and invalid packets.
Test fixes for asyncio client and transaction manager.
Fix sync client and processing of incomplete frames with rtu framers
Support synchronous diagnostic client (TCP)
Server updates (REPL and async)
Handle Memory leak in sync servers due to socketserver memory leak
Minor fix in documentations
Travis fix for Mac OSX
Disable unnecessary deprecation warning while using async clients.
Use Github actions for builds in favor of travis.
Documentation updates
Disable strict mode by default.
Fix ReportSlaveIdRequest request
Sparse datablock initialization updates.
Support REPL for modbus server (only python3 and asyncio)
Fix REPL client for write requests
Fix examples
Asyncio server
Asynchronous server (with custom datablock)
Fix version info for servers
Fix and enhancements to Tornado clients (seril and tcp)
Fix and enhancements to Asyncio client and server
Update Install instructions
Synchronous client retry on empty and error enhancments
Add new modbus state RETRYING
Support runtime response manipulations for Servers
Bug fixes with logging module in servers
Asyncio modbus serial server support
Nothing published for this version
Support async moduls tls server/client
Support async moduls tls server/client
Add local echo option
Add exponential backoffs on retries.
REPL - Support broadcasts.
Fix framers using wrong unit address.
Update documentation for serial_forwarder example
Fix error with rtu client for local_echo
Fix asyncio client not working with already running loop
Fix passing serial arguments to async clients
Support timeouts to break out of responspe await when server goes offline
Misc updates and bugfixes.
Nothing published for this version
Support Modbus TLS (client / server)
Support Modbus TLS (client / server)
Distribute license with source
BinaryPayloadDecoder/Encoder now supports float16 on python3.6 and above
Fix asyncio UDP client/server
Minor cosmetic updates
Asyncio Server implementation (Python 3.7 and above only)
Bug fix for DiagnosticStatusResponse when odd sized response is received
Remove Pycrypto from dependencies and include cryptodome instead
Remove SIX requirement pinned to exact version.
Minor bug-fixes in documentations.
Nothing published for this version
Fix to task cancellations and CRC errors for async serial clients.
Support Python 3.7
Fix to task cancellations and CRC errors for async serial clients.
Fix passing serial settings to asynchronous serial server.
Fix AttributeError when setting interCharTimeout for serial clients.
Provide an option to disable inter char timeouts with Modbus RTU.
Add support to register custom requests in clients and server instances.
Fix read timeout calculation in ModbusTCP.
Fix SQLDbcontext always returning InvalidAddress error.
Fix SQLDbcontext update failure
Fix Binary payload example for endianess.
Fix BinaryPayloadDecoder.to_coils and BinaryPayloadBuilder.fromCoils methods.
Fix tornado async serial client TypeError while processing incoming packet.
Fix erroneous CRC handling in Modbus RTU framer.
Support broadcasting in Modbus Client and Servers (sync).
Fix asyncio examples.
Improved logging in Modbus Server .
ReportSlaveIdRequest would fetch information from Device identity instead of hardcoded Pymodbus.
Fix regression introduced in 2.2.0rc2 (Modbus sync client transaction failing)
Minor update in factory.py, now server logs prints received request instead of only function code
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix Issues with Serial client where in partial data was read when the response size is unknown.
Fix Issues with Serial client where in partial data was read when the response size is unknown.
Fix Infinite sleep loop in RTU Framer.
Add pygments as extra requirement for repl.
Add support to modify modbus client attributes via repl.
Update modbus repl documentation.
More verbose logs for repl.
Avoid unnecessary import of deprecated modules with dependencies on twisted
Fix unicode decoder error with BinaryPayloadDecoder in some platforms
Avoid unnecessary import of deprecated modules with dependencies on twisted
Async client implementation based on Tornado, Twisted and asyncio with backward compatibility support for twisted client.
Async client implementation based on Tornado, Twisted and asyncio with backward compatibility support for twisted client.
Allow reusing existing[running] asyncio loop when creating async client based on asyncio.
Allow reusing address for Modbus TCP sync server.
Add support to install tornado as extra requirement while installing pymodbus.
Support Pymodbus REPL
Add support to python 3.7.
Bug fix and enhancements in examples.
Async client implementation based on Tornado, Twisted and asyncio
Fix serial client is_socket_open method
Fix serial client is_socket_open method
Adding support for payload builders to form complex encoding and decoding of messages.
Adding support for payload builders to form complex encoding and decoding of messages.
Adding BCD and binary payload builders
Adding support for pydev
Cleaning up the build tools
Adding a message encoding generator for testing.
Now passing kwargs to base of PDU so arguments can be used correctly at all levels of the protocol.
A number of bug fixes (see bug tracker and commit messages)
Your coding agent can read these notes before it upgrades. Set up the MCP server →