README.rst
1=======================================
2PyUSB 1.0 - Easy USB access from Python
3=======================================
4
5PYUSB IS FOR LOOKING FOR A NEW MAINTAINER
6
7Due for personal reasons, I can no longer maintain PyUSB. If you are
8willing to take PyUSB maintainance role, please contact me.
9
10Introduction
11============
12
13The PyUSB module provides for Python easy access to the host
14machine's Universal Serial Bus (USB) system.
15
16Until 0.4 version, PyUSB used to be a thin wrapper over libusb.
17With 1.0 version, things changed considerably. Now PyUSB is an
18API rich, backend neutral Python USB module easy to use.
19
20As with most Python modules, PyUSB's documentation is based on Python
21doc strings and can therefore be manipulated by tools such as pydoc.
22
23You can also find a tutorial at:
24https://github.com/walac/pyusb/blob/master/docs/tutorial.rst.
25
26PyUSB is being developed and tested on Linux and Windows, but it should work
27fine on any platform running Python >= 2.4, ctypes and at least one of the
28builtin backends.
29
30PyUSB supports libusb 0.1, libusb 1.0 and OpenUSB, but the user does not need
31to worry about that, unless in some corner cases.
32
33If you have any question about PyUSB, you can use the PyUSB mailing list
34hosted in the SourceForge. In the PyUSB website (http://walac.github.io/pyusb)
35you can find instructions on how to subscribe to the mailing list.
36
37Installing PyUSB on GNU/Linux Systems
38=====================================
39
40These instructions are for Debian-based systems. Instructions for
41other flavors of GNU/Linux should be similar.
42
43You will first need to install the following packages:
44
451) python (PyUSB is useless without it), version >= 2.4
462) At least one of the supported libraries (libusb 1.0, libusb 0.1 or OpenUSB)
473) If your Python version is < 2.5, you have to install ctypes as a separate
48 package, because these versions of Python does not ship it.
49
50For example, the command::
51
52 $ sudo apt-get install python libusb-1.0-0
53
54should install all these packages on most Debian-based systems with
55access to the proper package repositories.
56
57Once the above packages are installed, you can install PyUSB
58with the command::
59
60 $ sudo python setup.py install
61
62Run it as root from within the same directory as this README file.
63
64You can also use `pip <https://docs.python.org/3/installing/>`_ to
65install PyUSB::
66
67 $ sudo pip install pyusb --pre
68
69Just bear in mind that you still follow to procedure to install the
70libusb library.
71
72For pure Debian variants
73------------------------
74
75For pure Debian systems you are advised to install either the
76python-usb or python3-usb packages. These are prebuilt based on
77PyUSB and libusb-1.0::
78
79 $ sudo apt-get install python-usb python3-usb
80
81You may wish to get the backported version 1.0, since PyUSB
82doesn't depend upon any truly unstable packages.
83
84Installing PyUSB on Windows
85===========================
86
87Now that PyUSB is 100% written in Python, you install it on Windows
88in the same way you do on Linux::
89
90 python setup.py install
91
92If you get some kind of "command not found" error, make sure to add
93the Python install directory to your PATH environment variable or
94give the complete path to the Python interpreter.
95
96Remember that you need libusb (1.0 or 0.1) or OpenUSB running on your
97system. For Windows users, libusb 0.1 is provided through
98`libusb-win32 <http://libusb-win32.sourceforge.net>`_
99package. Check the libusb website for updates
100(http://www.libusb.info).
101
102Reporting bugs/Submitting patches
103=================================
104
105Some people have been sending patches and reporting bugs directly
106at my email. Please, do it through
107`github <https://github.com/walac/pyusb>`_, I had a hardtime tracking
108their names to put them in the acknowledgments file. ;-)
109
110PS: this README file was based on the great Josh Lifton's one... ^_^
111