diff options
Diffstat (limited to 'setup.py')
-rw-r--r-- | setup.py | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..2aee8b1 --- /dev/null +++ b/setup.py @@ -0,0 +1,108 @@ +# 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 <cliechti@gmx.net> +# +# 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'], + }, +) |