# setup.py for pySerial # # Direct install (all systems): # "python setup.py install" # # For Python 3.x use the corresponding Python executable, # e.g. "python3 setup.py ..." # # (C) 2001-2020 Chris Liechti # # SPDX-License-Identifier: BSD-3-Clause import io import os import re try: from setuptools import setup except ImportError: from distutils.core import setup def read(*names, **kwargs): """Python 2 and Python 3 compatible text file reading. Required for single-sourcing the version string. """ with io.open( os.path.join(os.path.dirname(__file__), *names), encoding=kwargs.get("encoding", "utf8") ) as fp: return fp.read() def find_version(*file_paths): """ Search the file for a version string. file_path contain string path components. Reads the supplied Python module as text without importing it. """ version_file = read(*file_paths) version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", version_file, re.M) if version_match: return version_match.group(1) raise RuntimeError("Unable to find version string.") version = find_version('serial', '__init__.py') setup( name="pyserial", description="Python Serial Port Extension", version=version, author="Chris Liechti", author_email="cliechti@gmx.net", url="https://github.com/pyserial/pyserial", packages=['serial', 'serial.tools', 'serial.urlhandler', 'serial.threaded'], license="BSD", long_description="""\ Python Serial Port Extension for Win32, OSX, Linux, BSD, Jython, IronPython Stable: - Documentation: http://pythonhosted.org/pyserial/ - Download Page: https://pypi.python.org/pypi/pyserial Latest: - Documentation: http://pyserial.readthedocs.io/en/latest/ - Project Homepage: https://github.com/pyserial/pyserial """, classifiers=[ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'Intended Audience :: End Users/Desktop', 'License :: OSI Approved :: BSD License', 'Natural Language :: English', 'Operating System :: POSIX', 'Operating System :: Microsoft :: Windows', 'Operating System :: MacOS :: MacOS X', 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Topic :: Communications', 'Topic :: Software Development :: Libraries', 'Topic :: Software Development :: Libraries :: Python Modules', 'Topic :: Terminals :: Serial', ], platforms='any', entry_points = { 'console_scripts': [ 'pyserial-miniterm=serial.tools.miniterm:main', 'pyserial-ports=serial.tools.list_ports:main' ], }, extras_require = { 'cp2110': ['hidapi'], }, )