========== pySerial ========== Overview ======== This module encapsulates the access for the serial port. It provides backends for Python_ running on Windows, OSX, Linux, BSD (possibly any POSIX compliant system) and IronPython. The module named "serial" automatically selects the appropriate backend. It is released under a free software license, see LICENSE_ for more details. Copyright (C) 2001-2020 Chris Liechti Other pages (online) - `project page on GitHub`_ - `Download Page`_ with releases (PyPi) - This page, when viewed online is at https://pyserial.readthedocs.io/en/latest/ or http://pythonhosted.org/pyserial/ . .. _Python: http://python.org/ .. _LICENSE: appendix.html#license .. _`project page on GitHub`: https://github.com/pyserial/pyserial/ .. _`Download Page`: http://pypi.python.org/pypi/pyserial Features ======== - Same class based interface on all supported platforms. - Access to the port settings through Python properties. - Support for different byte sizes, stop bits, parity and flow control with RTS/CTS and/or Xon/Xoff. - Working with or without receive timeout. - File like API with "read" and "write" ("readline" etc. also supported). - The files in this package are 100% pure Python. - The port is set up for binary transmission. No NULL byte stripping, CR-LF translation etc. (which are many times enabled for POSIX.) This makes this module universally useful. - Compatible with :mod:`io` library - RFC 2217 client (experimental), server provided in the examples. Requirements ============ - Python 2.7 or Python 3.4 and newer - If running on Windows: Windows 7 or newer - If running on Jython: "Java Communications" (JavaComm) or compatible extension for Java For older installations (older Python versions or older operating systems), see `older versions`_ below. Installation ============ This installs a package that can be used from Python (``import serial``). To install for all users on the system, administrator rights (root) may be required. From PyPI --------- pySerial can be installed from PyPI:: python -m pip install pyserial Using the `python`/`python3` executable of the desired version (2.7/3.x). Developers also may be interested to get the source archive, because it contains examples, tests and the this documentation. From Conda ---------- pySerial can be installed from Conda:: conda install pyserial or conda install -c conda-forge pyserial Currently the default conda channel will provide version 3.4 whereas the conda-forge channel provides the current 3.x version. Conda: https://www.continuum.io/downloads From source (zip/tar.gz or checkout) ------------------------------------ Download the archive from http://pypi.python.org/pypi/pyserial or https://github.com/pyserial/pyserial/releases. Unpack the archive, enter the ``pyserial-x.y`` directory and run:: python setup.py install Using the `python`/`python3` executable of the desired version (2.7/3.x). Packages -------- There are also packaged versions for some Linux distributions: - Debian/Ubuntu: "python-serial", "python3-serial" - Fedora / RHEL / CentOS / EPEL: "pyserial" - Arch Linux: "python-pyserial" - Gentoo: "dev-python/pyserial" Note that some distributions may package an older version of pySerial. These packages are created and maintained by developers working on these distributions. .. _PyPi: http://pypi.python.org/pypi/pyserial References ========== * Python: http://www.python.org/ * Jython: http://www.jython.org/ * IronPython: http://www.codeplex.com/IronPython Older Versions ============== Older versions are still available on the current download_ page or the `old download`_ page. The last version of pySerial's 2.x series was `2.7`_, compatible with Python 2.3 and newer and partially with early Python 3.x versions. pySerial `1.21`_ is compatible with Python 2.0 on Windows, Linux and several un*x like systems, MacOSX and Jython. On Windows, releases older than 2.5 will depend on pywin32_ (previously known as win32all). WinXP is supported up to 3.0.1. .. _`old download`: https://sourceforge.net/projects/pyserial/files/pyserial/ .. _download: https://pypi.python.org/simple/pyserial/ .. _pywin32: http://pypi.python.org/pypi/pywin32 .. _`2.7`: https://pypi.python.org/pypi/pyserial/2.7 .. _`1.21`: https://sourceforge.net/projects/pyserial/files/pyserial/1.21/pyserial-1.21.zip/download