Module for calling SCSI devices from Python
python-scsi is a SCSI initiator for python. It contains python classes to create and send SCSI commands to devices accessible via:
SGIO: /dev/sg* devices using ioctl(SG_IO) Depends on cython-sgio.
iSCSI: iscsi://<server>/<iqn>/<lun> Depends on cython-iscsi.
These classes also provide interfaces to marshall/unmarshall both CDBs as well as DATA-IN/OUT buffers.
Python-scsi is distributed under LGPLv2.1 Please see the LICENSE file for the full license text.
Getting the sources
The module is hosted at https://github.com/python-scsi/python-scsi
You can use git to checkout the latest version of the source code using:
$ git clone firstname.lastname@example.org:python-scsi/python-scsi.git
It is also available as a downloadable zip archive from:
Building and installing
To build and install from the repository:
python-scsi $ pip install .[iscsi,sgio]
You can avoid installing the optional dependencies by omitting the "extras":
python-scsi $ pip install .
The tools directory contains example programs written against the python-scsi API.
An example tool to send INQUIRY commands to a device.
An example tool to operate a SCSI media changer. Similar to, but not as advanced as, the 'mtx' utility.
A mailinglist for python-scsi is available at: https://groups.google.com/forum/#!forum/python-scsi
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.