summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py88
1 files changed, 88 insertions, 0 deletions
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..5a0d27f
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,88 @@
+# setup.py for pySerial
+#
+# Windows installer:
+# "python setup.py bdist_wininst"
+#
+# Direct install (all systems):
+# "python setup.py install"
+#
+# For Python 3.x use the corresponding Python executable,
+# e.g. "python3 setup.py ..."
+
+import sys
+
+from distutils.core import setup
+
+if sys.version_info >= (3, 0):
+ try:
+ from distutils.command.build_py import build_py_2to3 as build_py
+ from distutils.command.build_scripts import build_scripts_2to3 as build_scripts
+ except ImportError:
+ raise ImportError("build_py_2to3 not found in distutils - it is required for Python 3.x")
+ else:
+ sys.stderr.write('Detected Python 3, using 2to3\n')
+else:
+ from distutils.command.build_py import build_py
+ from distutils.command.build_scripts import build_scripts
+
+
+if sys.version < '2.3':
+ # distutils that old can't cope with the "classifiers" or "download_url"
+ # keywords and True/False constants and basestring are missing
+ raise ValueError("Sorry Python versions older than 2.3 are no longer"
+ "supported - check http://pyserial.sf.net for older "
+ "releases or upgrade your Python installation.")
+
+# importing version does not work with Python 3 as files have not yet been
+# converted.
+#~ import serial
+#~ version = serial.VERSION
+
+import re, os
+version = re.search(
+ "VERSION.*'(.+)'",
+ open(os.path.join('serial', '__init__.py')).read()).group(1)
+
+
+setup(
+ name = "pyserial",
+ description = "Python Serial Port Extension",
+ version = version,
+ author = "Chris Liechti",
+ author_email = "cliechti@gmx.net",
+ url = "http://pyserial.sourceforge.net/",
+ packages = ['serial', 'serial.tools', 'serial.urlhandler'],
+ license = "Python",
+ long_description = "Python Serial Port Extension for Win32, Linux, BSD, Jython, IronPython",
+ classifiers = [
+ 'Development Status :: 5 - Production/Stable',
+ 'Intended Audience :: Developers',
+ 'Intended Audience :: End Users/Desktop',
+ 'License :: OSI Approved :: Python Software Foundation License',
+ 'Natural Language :: English',
+ 'Operating System :: POSIX',
+ 'Operating System :: Microsoft :: Windows',
+ #~ 'Operating System :: Microsoft :: Windows :: Windows CE', # could work due to new ctypes impl. someone needs to confirm that
+ 'Programming Language :: Python',
+ 'Programming Language :: Python :: 2',
+ 'Programming Language :: Python :: 2.3',
+ 'Programming Language :: Python :: 2.4',
+ 'Programming Language :: Python :: 2.5',
+ 'Programming Language :: Python :: 2.6',
+ 'Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: 3',
+ 'Programming Language :: Python :: 3.0',
+ 'Programming Language :: Python :: 3.1',
+ 'Programming Language :: Python :: 3.2',
+ 'Programming Language :: Python :: 3.3',
+ 'Topic :: Communications',
+ 'Topic :: Software Development :: Libraries',
+ 'Topic :: Software Development :: Libraries :: Python Modules',
+ 'Topic :: Terminals :: Serial',
+ ],
+ platforms = 'any',
+ cmdclass = {'build_py': build_py, 'build_scripts': build_scripts},
+ use_2to3 = sys.version_info >= (3, 0), # for distribute
+
+ scripts = ['serial/tools/miniterm.py'],
+)