1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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'],
)
|