smbus2

smbus2 is a pure-Python, drop-in replacement for the python-smbus / python3-smbus Linux SMBus bindings. It wraps the Linux kernel’s I2C/SMBus ioctl interface directly — no C extension required — and extends the familiar smbus API with additional functionality such as combined read/write transactions (i2c_rdwr) and Packet Error Checking (PEC).