1*205fd03aSDavide Italiano# encoding: utf-8
2*205fd03aSDavide Italianofrom distutils.core import setup
3*205fd03aSDavide Italianoimport os
4*205fd03aSDavide Italianoimport re
5*205fd03aSDavide Italianoimport sys
6*205fd03aSDavide Italiano
7*205fd03aSDavide Italianoif any(a == 'bdist_wheel' for a in sys.argv):
8*205fd03aSDavide Italiano    from setuptools import setup
9*205fd03aSDavide Italiano
10*205fd03aSDavide Italianowith open(os.path.join(os.path.dirname(__file__), 'pexpect', '__init__.py'), 'r') as f:
11*205fd03aSDavide Italiano    for line in f:
12*205fd03aSDavide Italiano        version_match = re.search(r"__version__ = ['\"]([^'\"]*)['\"]", line)
13*205fd03aSDavide Italiano        if version_match:
14*205fd03aSDavide Italiano            version = version_match.group(1)
15*205fd03aSDavide Italiano            break
16*205fd03aSDavide Italiano    else:
17*205fd03aSDavide Italiano        raise Exception("couldn't find version number")
18*205fd03aSDavide Italiano
19*205fd03aSDavide Italianolong_description = """
20*205fd03aSDavide ItalianoPexpect is a pure Python module for spawning child applications; controlling
21*205fd03aSDavide Italianothem; and responding to expected patterns in their output. Pexpect works like
22*205fd03aSDavide ItalianoDon Libes' Expect. Pexpect allows your script to spawn a child application and
23*205fd03aSDavide Italianocontrol it as if a human were typing commands.
24*205fd03aSDavide Italiano
25*205fd03aSDavide ItalianoPexpect can be used for automating interactive applications such as ssh, ftp,
26*205fd03aSDavide Italianopasswd, telnet, etc. It can be used to a automate setup scripts for duplicating
27*205fd03aSDavide Italianosoftware package installations on different servers. It can be used for
28*205fd03aSDavide Italianoautomated software testing. Pexpect is in the spirit of Don Libes' Expect, but
29*205fd03aSDavide ItalianoPexpect is pure Python.
30*205fd03aSDavide Italiano
31*205fd03aSDavide ItalianoThe main features of Pexpect require the pty module in the Python standard
32*205fd03aSDavide Italianolibrary, which is only available on Unix-like systems. Some features—waiting
33*205fd03aSDavide Italianofor patterns from file descriptors or subprocesses—are also available on
34*205fd03aSDavide ItalianoWindows.
35*205fd03aSDavide Italiano"""
36*205fd03aSDavide Italiano
37*205fd03aSDavide Italianosetup(name='pexpect',
38*205fd03aSDavide Italiano    version=version,
39*205fd03aSDavide Italiano    packages=['pexpect'],
40*205fd03aSDavide Italiano    package_data={'pexpect': ['bashrc.sh']},
41*205fd03aSDavide Italiano    description='Pexpect allows easy control of interactive console applications.',
42*205fd03aSDavide Italiano    long_description=long_description,
43*205fd03aSDavide Italiano    author='Noah Spurrier; Thomas Kluyver; Jeff Quast',
44*205fd03aSDavide Italiano    author_email='[email protected], [email protected], [email protected]',
45*205fd03aSDavide Italiano    url='https://pexpect.readthedocs.io/',
46*205fd03aSDavide Italiano    license='ISC license',
47*205fd03aSDavide Italiano    platforms='UNIX',
48*205fd03aSDavide Italiano    classifiers = [
49*205fd03aSDavide Italiano        'Development Status :: 5 - Production/Stable',
50*205fd03aSDavide Italiano        'Environment :: Console',
51*205fd03aSDavide Italiano        'Intended Audience :: Developers',
52*205fd03aSDavide Italiano        'Intended Audience :: System Administrators',
53*205fd03aSDavide Italiano        'License :: OSI Approved :: ISC License (ISCL)',
54*205fd03aSDavide Italiano        'Operating System :: POSIX',
55*205fd03aSDavide Italiano        'Operating System :: MacOS :: MacOS X',
56*205fd03aSDavide Italiano        'Programming Language :: Python',
57*205fd03aSDavide Italiano        'Programming Language :: Python :: 2.7',
58*205fd03aSDavide Italiano        'Programming Language :: Python :: 3',
59*205fd03aSDavide Italiano        'Topic :: Software Development',
60*205fd03aSDavide Italiano        'Topic :: Software Development :: Libraries :: Python Modules',
61*205fd03aSDavide Italiano        'Topic :: Software Development :: Quality Assurance',
62*205fd03aSDavide Italiano        'Topic :: Software Development :: Testing',
63*205fd03aSDavide Italiano        'Topic :: System',
64*205fd03aSDavide Italiano        'Topic :: System :: Archiving :: Packaging',
65*205fd03aSDavide Italiano        'Topic :: System :: Installation/Setup',
66*205fd03aSDavide Italiano        'Topic :: System :: Shells',
67*205fd03aSDavide Italiano        'Topic :: System :: Software Distribution',
68*205fd03aSDavide Italiano        'Topic :: Terminals',
69*205fd03aSDavide Italiano    ],
70*205fd03aSDavide Italiano    install_requires=['ptyprocess>=0.5'],
71*205fd03aSDavide Italiano)
72