NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4806 most downloaded on PyPI
smbus2 is a drop-in replacement for smbus-cffi/smbus-python in pure Python
Last release 5 months ago
09 Apr 2026
Ships fairly regularly
a new release about every 10 months
Most releases are documented
notes for 16 of 18 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
18 releases · first in 2016
fix: typo by @Rotzbua in https://github.com/kplindegaard/smbus2/pull/129
Full Changelog: https://github.com/kplindegaard/smbus2/compare/0.6.0...0.6.1
Fixed #124: fixes buffer overflow when using python3.14 in 64bit systems by @santiagobarros in https://github.com/kplindegaard/smbus2/pull/126
One column per quarter.
Full Changelog: https://github.com/kplindegaard/smbus2/compare/0.5.0...0.6.0
SystemError: buffer overflow on Python 3.14+ on 64-bit systems by using c_ulong instead of c_uint32 for I2C_FUNCS ioctl. #124.Minor version of the lib was bumped because of the "QoL" improvement in 107 , which about object life-cycle to better handle "open -> close -> open" s
Full Changelog: https://github.com/kplindegaard/smbus2/compare/0.4.3...0.5.0
Update deprecated Sphinx config format.
Housekeeping focused on future proofing:
Contributors: @markmentovai, @hramrach
assertEquals in the unit tests.Explicitly export from top level of package #69.
No functional changes - minor updates only
No functional changes - minor updates only
Support for SMBus PEC (Packet Error Checking).
README.rst.README.md, CHANGELOG.md and LICENSE added to dist package.As of this version the SMBusWrapper class is removed and must be replaced with SMBus:
As of this version the SMBusWrapper class is removed and must be replaced with SMBus:
# No longer valid!
with SMBusWrapper(1) as bus:
...
# Replace with
with SMBus(1) as bus:
...
README.rst.README.md, CHANGELOG.md and LICENSE added to dist package.The SMBusWrapper class is now considered deprecated. Please update your code to use SMBus instead.
bus can be a file path as well (issue #17).process_call,write_block_data,read_block_data,block_process_call.SMBus class.I2cFunc class and exported that.i2c_msg class easier to work with.SMBusWrapper class is now considered deprecated. Please update your code to use SMBus instead.process_call, write_block_data, read_block_data, block_process_call.
Note that the latter two are normally not supported by pure i2c-devices.bus can be a file path as well (issue #17).SMBus class.I2cFunc class and exported that.i2c_msg class easier to work with.SMBusWrapper class is now considered deprecated. Please replace with SMBus.__slots__ from i2c_msg class.i2c_msg_iter class replaced by a simple generator function with same functionalityFixed #32: Incorrect i2c_msg write object created in Python 3.x from string if ascii characters >= 128.
Fixed #32: Incorrect i2c_msg write object created in Python 3.x from string if ascii characters >= 128.
i2c_msg created in Python 3.x if str input contains ascii chars >= 128.Added an "smbus compatible" method write_quick(addr) to the SMBus class (issue #7).
Added an "smbus compatible" method write_quick(addr) to the SMBus class (issue #7).
Force single r/w option (PR #20).
I2C: Support for i2c_rdwr transactions.
SMBus support for read and write single bytes without offset/register address.
Force option for SMBusWrapper class.
Flag flag for forcing address use even when a driver is already using it.
[Unreleased]: https://github.com/kplindegaard/smbus2/compare/0.6.1...HEAD [0.6.1]: https://github.com/kplindegaard/smbus2/compare/0.6.0...0.6.1 [0.6.0
First published version.
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →