blob: 24296c422422408ddc08513ddb98ed41254417cd [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
cliechti8e814dc2009-07-30 22:19:08 +000017Other pages (online)
cliechti22978142009-07-21 01:58:11 +000018
cliechti8e814dc2009-07-30 22:19:08 +000019- `project page on SourceForge`_
20- `SVN repository`_
21- `Download Page`_ with releases
22- This page, when viewed online is at http://pyserial.sf.net.
cliechti22978142009-07-21 01:58:11 +000023
cliechti5134aab2009-07-21 19:47:59 +000024.. _LICENSE: appendix.html#license
cliechti22978142009-07-21 01:58:11 +000025.. _`project page on SourceForge`: http://sourceforge.net/projects/pyserial/
26.. _`SVN repository`: http://sourceforge.net/svn/?group_id=46487
27.. _`Download Page`: http://sourceforge.net/project/showfiles.php?group_id=46487
28
29
30Features
31========
cliechti5134aab2009-07-21 19:47:59 +000032* Same class based interface on all supported platforms.
cliechtidaf47ba2009-07-28 01:28:16 +000033* Access to the port settings through Python properties.
34* Support for different byte sizes, stop bits, parity and flow control with
cliechti5134aab2009-07-21 19:47:59 +000035 RTS/CTS and/or Xon/Xoff.
36* Working with or without receive timeout.
37* File like API with "read" and "write" ("readline" etc. also supported).
cliechti6066f842009-07-24 00:05:45 +000038* The files in this package are 100% pure Python.
cliechti22978142009-07-21 01:58:11 +000039* The port is set up for binary transmission. No NULL byte stripping, CR-LF
40 translation etc. (which are many times enabled for POSIX.) This makes this
41 module universally useful.
cliechtidaf47ba2009-07-28 01:28:16 +000042* Compatible with :mod:`io` library (Python 2.6+)
cliechti22978142009-07-21 01:58:11 +000043
44
45Requirements
46============
cliechtidaf47ba2009-07-28 01:28:16 +000047* Python 2.3 or newer, including Python 3.x
cliechti6066f842009-07-24 00:05:45 +000048* ctypes extensions on Windows (is in standard library since Python 2.5+)
cliechti22978142009-07-21 01:58:11 +000049* "Java Communications" (JavaComm) or compatible extension for Java/Jython
50
cliechti5134aab2009-07-21 19:47:59 +000051
cliechti22978142009-07-21 01:58:11 +000052Installation
53============
54
55pyserial
56--------
cliechti5134aab2009-07-21 19:47:59 +000057This installs a package that can be used from Python (``import serial``).
cliechti22978142009-07-21 01:58:11 +000058
cliechti22978142009-07-21 01:58:11 +000059To install the module for all users on the system, administrator rights (root)
60is required..
61
62From source (tar.gz or checkout)
63~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64http://pypi.python.org/pypi/pyserial
65Unpack the archive, enter the ``pyserial-x.y`` directory and run::
66
67 python setup.py install
68
69Setuptools/PyPI
70~~~~~~~~~~~~~~~
cliechti5134aab2009-07-21 19:47:59 +000071Alternatively it can be installed from PyPI, either manually downloading the
cliechti22978142009-07-21 01:58:11 +000072files and installing as described above or using::
73
74 easy_install -U pyserial
75
76Packages
77~~~~~~~~
78There are also packaged versions for some Linux distributions and Windows:
79
80Debian/Ubuntu
cliechti5134aab2009-07-21 19:47:59 +000081 A package is available under the name "python-serial".
cliechti22978142009-07-21 01:58:11 +000082
83Windows
84 There is also a Windows installer for end users. It is located in the
85 PyPi_. Developers may be interested to get the source archive, because it
86 contains examples and the readme.
87
88.. _PyPi: http://pypi.python.org/pypi/pyserial
89
90
91References
92==========
cliechti86e87872009-07-21 13:32:45 +000093* Python: http://www.python.org/
cliechti86e87872009-07-21 13:32:45 +000094* Jython: http://www.jython.org/
cliechti5134aab2009-07-21 19:47:59 +000095* Java@IBM: http://www-106.ibm.com/developerworks/java/jdk/ (JavaComm links are
96 on the download page for the respective platform JDK)
97* Java@SUN: http://java.sun.com/products/
cliechti22978142009-07-21 01:58:11 +000098* IronPython: http://www.codeplex.com/IronPython
99* setuptools: http://peak.telecommunity.com/DevCenter/setuptools
100
101
102Older Versions
103==============
104Older versions are still available on the `Download Page`_. pySerial 1.21 is
105compatible with Python 2.0 on Windows, Linux and several un*x like systems,
106MacOSX and Jython.
107
cliechtidaf47ba2009-07-28 01:28:16 +0000108On windows releases older than 2.5 will depend on pywin32_ (previously known as
109win32all)
cliechti6066f842009-07-24 00:05:45 +0000110
cliechti22978142009-07-21 01:58:11 +0000111.. _`Download Page`: http://sourceforge.net/project/showfiles.php?group_id=46487
cliechti6066f842009-07-24 00:05:45 +0000112.. _pywin32: http://pypi.python.org/pypi/pywin32