Usually, I2C devices are controlled by a kernel driver. But it is also possible to access all devices on an adapter from userspace, through the /dev interface. You need to load module i2c-dev for this ...
Python SMBUS is a Python bindings for Linux SMBus access through i2c-dev. This repository contains the sources for py-smbus extracted from the i2c-tools project ...