A Python library for communicating with Modbus slave (server) or master (client) devices over TCP/IP, UDP/IP, Serial (RTU, ASCII), or TLS.
pyModbus

- Python
- Automation, Electrical and Electronics, Manufacturing, Process Control, Robotics
- Application Programming Interface (API), Cyber-Physical Systems (CPS), Industrial Internet of Things (IIoT), Internet of Things (IoT), Sensors, Software, Software Development Kit (SDK)
Features:
- Modbus TCP/UDP/Serial (RTU,ASCII)/TLS client (master),Modbus TCP/UDP/Serial (RTU,ASCII)/TLS server (slave),reading and writing coils,discrete inputs,holding registers,input registers,asynchronous client/server implementation (using asyncio or Twisted),payload utilities,diagnostic sub-function codes
Pricing:
- Free
- Comprehensive Modbus protocol implementation, supports various communication modes (TCP,Serial,etc.), can act as master or slave, actively maintained, good for industrial automation and SCADA applications.
- Requires understanding of Modbus protocol concepts, debugging communication issues with specific devices can be challenging, performance for very high-speed real-time applications might need careful consideration (though often sufficient).
Best for:
- Engineers and developers implementing communication with industrial devices, PLCs, sensors, and actuators using the Modbus protocol in automation, SCADA, and IoT applications.