blob: c522ed204194e85a4077cb5406c27c224485137b [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.
31* Access to the port settings through Python 2.2+ properties.
32* Port numbering starts at zero, no need to know the port name in the user
33 program.
34* Port string (device name) can be specified if access through numbering is
35 inappropriate.
36* Support for different bytesizes, stopbits, parity and flow control with
37 RTS/CTS and/or Xon/Xoff.
38* Working with or without receive timeout.
39* File like API with "read" and "write" ("readline" etc. also supported).
cliechti6066f842009-07-24 00:05:45 +000040* The files in this package are 100% pure Python.
cliechti22978142009-07-21 01:58:11 +000041* The port is set up for binary transmission. No NULL byte stripping, CR-LF
42 translation etc. (which are many times enabled for POSIX.) This makes this
43 module universally useful.
44
45
46Requirements
47============
48* Python 2.2 or newer
cliechti6066f842009-07-24 00:05:45 +000049* ctypes extensions on Windows (is in standard library since Python 2.5+)
cliechti22978142009-07-21 01:58:11 +000050* "Java Communications" (JavaComm) or compatible extension for Java/Jython
51
cliechti5134aab2009-07-21 19:47:59 +000052
cliechti22978142009-07-21 01:58:11 +000053Installation
54============
55
56pyserial
57--------
cliechti5134aab2009-07-21 19:47:59 +000058This installs a package that can be used from Python (``import serial``).
cliechti22978142009-07-21 01:58:11 +000059
cliechti5134aab2009-07-21 19:47:59 +000060The Python pywin32 library needs to be installed on Windows.
cliechti22978142009-07-21 01:58:11 +000061
62To install the module for all users on the system, administrator rights (root)
63is required..
64
65From source (tar.gz or checkout)
66~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67http://pypi.python.org/pypi/pyserial
68Unpack the archive, enter the ``pyserial-x.y`` directory and run::
69
70 python setup.py install
71
72Setuptools/PyPI
73~~~~~~~~~~~~~~~
cliechti5134aab2009-07-21 19:47:59 +000074Alternatively it can be installed from PyPI, either manually downloading the
cliechti22978142009-07-21 01:58:11 +000075files and installing as described above or using::
76
77 easy_install -U pyserial
78
79Packages
80~~~~~~~~
81There are also packaged versions for some Linux distributions and Windows:
82
83Debian/Ubuntu
cliechti5134aab2009-07-21 19:47:59 +000084 A package is available under the name "python-serial".
cliechti22978142009-07-21 01:58:11 +000085
86Windows
87 There is also a Windows installer for end users. It is located in the
88 PyPi_. Developers may be interested to get the source archive, because it
89 contains examples and the readme.
90
91.. _PyPi: http://pypi.python.org/pypi/pyserial
92
93
94References
95==========
cliechti86e87872009-07-21 13:32:45 +000096* Python: http://www.python.org/
cliechti86e87872009-07-21 13:32:45 +000097* Jython: http://www.jython.org/
cliechti5134aab2009-07-21 19:47:59 +000098* Java@IBM: http://www-106.ibm.com/developerworks/java/jdk/ (JavaComm links are
99 on the download page for the respective platform JDK)
100* Java@SUN: http://java.sun.com/products/
cliechti22978142009-07-21 01:58:11 +0000101* IronPython: http://www.codeplex.com/IronPython
102* setuptools: http://peak.telecommunity.com/DevCenter/setuptools
103
104
105Older Versions
106==============
107Older versions are still available on the `Download Page`_. pySerial 1.21 is
108compatible with Python 2.0 on Windows, Linux and several un*x like systems,
109MacOSX and Jython.
110
cliechti6066f842009-07-24 00:05:45 +0000111On windows they will depend on pywin32_ (previously known as win32all)
112
cliechti22978142009-07-21 01:58:11 +0000113.. _`Download Page`: http://sourceforge.net/project/showfiles.php?group_id=46487
cliechti6066f842009-07-24 00:05:45 +0000114.. _pywin32: http://pypi.python.org/pypi/pywin32