blob: 2db8c213969c98371960ef40c98801d0c3276143 [file] [log] [blame]
cliechti22978142009-07-21 01:58:11 +00001==========
2 pySerial
3==========
4
5Overview
6========
7This module encapsulates the access for the serial port. It provides backends
8for Python running on Windows, Linux, BSD (possibly any POSIX compliant
9system), Jython and IronPython (.NET and Mono). The module named "serial"
10automatically selects the appropriate backend.
11
cliechti5134aab2009-07-21 19:47:59 +000012It is released under a free software license, see LICENSE_ for more
cliechti22978142009-07-21 01:58:11 +000013details.
14
cliechti5134aab2009-07-21 19:47:59 +000015Copyright (C) 2001-2009 Chris Liechti <cliechti(at)gmx.net>
cliechti22978142009-07-21 01:58:11 +000016
cliechti5134aab2009-07-21 19:47:59 +000017The `project page on SourceForge`_ and here is the `SVN repository`_ and the
18`Download Page`_.
cliechti22978142009-07-21 01:58:11 +000019
20The homepage is at http://pyserial.sf.net.
21
cliechti5134aab2009-07-21 19:47:59 +000022.. _LICENSE: appendix.html#license
cliechti22978142009-07-21 01:58:11 +000023.. _`project page on SourceForge`: http://sourceforge.net/projects/pyserial/
24.. _`SVN repository`: http://sourceforge.net/svn/?group_id=46487
25.. _`Download Page`: http://sourceforge.net/project/showfiles.php?group_id=46487
26
27
28Features
29========
cliechti5134aab2009-07-21 19:47:59 +000030* Same class based interface on all supported platforms.
cliechtidaf47ba2009-07-28 01:28:16 +000031* Access to the port settings through Python properties.
32* Support for different byte sizes, stop bits, parity and flow control with
cliechti5134aab2009-07-21 19:47:59 +000033 RTS/CTS and/or Xon/Xoff.
34* Working with or without receive timeout.
35* File like API with "read" and "write" ("readline" etc. also supported).
cliechti6066f842009-07-24 00:05:45 +000036* The files in this package are 100% pure Python.
cliechti22978142009-07-21 01:58:11 +000037* The port is set up for binary transmission. No NULL byte stripping, CR-LF
38 translation etc. (which are many times enabled for POSIX.) This makes this
39 module universally useful.
cliechtidaf47ba2009-07-28 01:28:16 +000040* Compatible with :mod:`io` library (Python 2.6+)
cliechti22978142009-07-21 01:58:11 +000041
42
43Requirements
44============
cliechtidaf47ba2009-07-28 01:28:16 +000045* Python 2.3 or newer, including Python 3.x
cliechti6066f842009-07-24 00:05:45 +000046* ctypes extensions on Windows (is in standard library since Python 2.5+)
cliechti22978142009-07-21 01:58:11 +000047* "Java Communications" (JavaComm) or compatible extension for Java/Jython
48
cliechti5134aab2009-07-21 19:47:59 +000049
cliechti22978142009-07-21 01:58:11 +000050Installation
51============
52
53pyserial
54--------
cliechti5134aab2009-07-21 19:47:59 +000055This installs a package that can be used from Python (``import serial``).
cliechti22978142009-07-21 01:58:11 +000056
cliechti22978142009-07-21 01:58:11 +000057To install the module for all users on the system, administrator rights (root)
58is required..
59
60From source (tar.gz or checkout)
61~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62http://pypi.python.org/pypi/pyserial
63Unpack the archive, enter the ``pyserial-x.y`` directory and run::
64
65 python setup.py install
66
67Setuptools/PyPI
68~~~~~~~~~~~~~~~
cliechti5134aab2009-07-21 19:47:59 +000069Alternatively it can be installed from PyPI, either manually downloading the
cliechti22978142009-07-21 01:58:11 +000070files and installing as described above or using::
71
72 easy_install -U pyserial
73
74Packages
75~~~~~~~~
76There are also packaged versions for some Linux distributions and Windows:
77
78Debian/Ubuntu
cliechti5134aab2009-07-21 19:47:59 +000079 A package is available under the name "python-serial".
cliechti22978142009-07-21 01:58:11 +000080
81Windows
82 There is also a Windows installer for end users. It is located in the
83 PyPi_. Developers may be interested to get the source archive, because it
84 contains examples and the readme.
85
86.. _PyPi: http://pypi.python.org/pypi/pyserial
87
88
89References
90==========
cliechti86e87872009-07-21 13:32:45 +000091* Python: http://www.python.org/
cliechti86e87872009-07-21 13:32:45 +000092* Jython: http://www.jython.org/
cliechti5134aab2009-07-21 19:47:59 +000093* Java@IBM: http://www-106.ibm.com/developerworks/java/jdk/ (JavaComm links are
94 on the download page for the respective platform JDK)
95* Java@SUN: http://java.sun.com/products/
cliechti22978142009-07-21 01:58:11 +000096* IronPython: http://www.codeplex.com/IronPython
97* setuptools: http://peak.telecommunity.com/DevCenter/setuptools
98
99
100Older Versions
101==============
102Older versions are still available on the `Download Page`_. pySerial 1.21 is
103compatible with Python 2.0 on Windows, Linux and several un*x like systems,
104MacOSX and Jython.
105
cliechtidaf47ba2009-07-28 01:28:16 +0000106On windows releases older than 2.5 will depend on pywin32_ (previously known as
107win32all)
cliechti6066f842009-07-24 00:05:45 +0000108
cliechti22978142009-07-21 01:58:11 +0000109.. _`Download Page`: http://sourceforge.net/project/showfiles.php?group_id=46487
cliechti6066f842009-07-24 00:05:45 +0000110.. _pywin32: http://pypi.python.org/pypi/pywin32