def main(args):
    """
    Invoke twisted.python.dist with the appropriate metadata about the
    Twisted package.
    """
    # On Python 3, use setup3.py until Python 3 port is done:
    if sys.version_info[0] > 2:
        import setup3
        setup3.main()
        return

    if os.path.exists('twisted'):
        sys.path.insert(0, '.')

    requirements = ["zope.interface >= 3.6.0"]

    from twisted.python.dist import (
        STATIC_PACKAGE_METADATA, getExtensions, getScripts,
        setup, _EXTRAS_REQUIRE)

    setup_args = STATIC_PACKAGE_METADATA.copy()

    setup_args.update(dict(
        packages=setuptools.find_packages(),
        install_requires=requirements,
        conditionalExtensions=getExtensions(),
        scripts=getScripts(),
        include_package_data=True,
        zip_safe=False,
        extras_require=_EXTRAS_REQUIRE,
    ))

    setup(**setup_args)
Beispiel #2
0
def main(args):
    """
    Invoke twisted.python.dist with the appropriate metadata about the
    Twisted package.
    """
    if os.path.exists('twisted'):
        sys.path.insert(0, '.')
    from twisted import copyright
    from twisted.python.dist import getDataFiles, getExtensions, getScripts, \
        getPackages, setup, twisted_subprojects

    # "" is included because core scripts are directly in bin/
    projects = [''] + [x for x in os.listdir('bin')
                       if os.path.isdir(os.path.join("bin", x))
                       and x in twisted_subprojects]

    scripts = []
    for i in projects:
        scripts.extend(getScripts(i))

    setup_args = dict(
        # metadata
        name="Twisted",
        version=copyright.version,
        description="An asynchronous networking framework written in Python",
        author="Twisted Matrix Laboratories",
        author_email="*****@*****.**",
        maintainer="Glyph Lefkowitz",
        maintainer_email="*****@*****.**",
        url="http://twistedmatrix.com/",
        license="MIT",
        long_description="""\
An extensible framework for Python programming, with special focus
on event-based network programming and multiprotocol integration.
""",
        packages = getPackages('twisted'),
        conditionalExtensions = getExtensions(),
        scripts = scripts,
        data_files=getDataFiles('twisted'),
        classifiers=[
            "Programming Language :: Python :: 2.5",
            "Programming Language :: Python :: 2.6",
            "Programming Language :: Python :: 2.7",
            ])

    if 'setuptools' in sys.modules:
        from pkg_resources import parse_requirements
        requirements = ["zope.interface"]
        try:
            list(parse_requirements(requirements))
        except:
            print """You seem to be running a very old version of setuptools.
This version of setuptools has a bug parsing dependencies, so automatic
dependency resolution is disabled.
"""
        else:
            setup_args['install_requires'] = requirements
        setup_args['include_package_data'] = True
        setup_args['zip_safe'] = False
    setup(**setup_args)
Beispiel #3
0
def main():
    # Make sure the to-be-installed version of Twisted is used, if available,
    # since we're importing from it:
    if os.path.exists('twisted'):
        sys.path.insert(0, '.')

    from twisted.python.dist import (STATIC_PACKAGE_METADATA, getExtensions,
                                     getScripts, setup)

    args = STATIC_PACKAGE_METADATA.copy()
    args.update(
        dict(
            cmdclass={
                'build_py': PickyBuildPy,
                'build_scripts': PickyBuildScripts,
            },
            packages=find_packages(),
            conditionalExtensions=getExtensions(),
            install_requires=["zope.interface >= 4.0.2"],
            zip_safe=False,
            include_package_data=True,
            scripts=getScripts(),
        ))

    setup(**args)
Beispiel #4
0
def main(args):
    """
    Invoke twisted.python.dist with the appropriate metadata about the
    Twisted package.
    """
    # On Python 3, use setup3.py until Python 3 port is done:
    if sys.version_info[0] > 2:
        import setup3
        setup3.main()
        return

    if os.path.exists('twisted'):
        sys.path.insert(0, '.')

    requirements = ["zope.interface >= 3.6.0"]

    from twisted.python.dist import (STATIC_PACKAGE_METADATA, getExtensions,
                                     getScripts, setup, _EXTRAS_REQUIRE)

    setup_args = STATIC_PACKAGE_METADATA.copy()

    setup_args.update(
        dict(
            packages=setuptools.find_packages(),
            install_requires=requirements,
            conditionalExtensions=getExtensions(),
            scripts=getScripts(),
            include_package_data=True,
            zip_safe=False,
            extras_require=_EXTRAS_REQUIRE,
        ))

    setup(**setup_args)
Beispiel #5
0
def main(args):
    """
    Invoke twisted.python.dist with the appropriate metadata about the
    Twisted package.
    """
    if os.path.exists('twisted'):
        sys.path.insert(0, '.')
    from twisted import copyright
    from twisted.python.dist import getDataFiles, getExtensions, getScripts, \
        getPackages, setup, twisted_subprojects

    # "" is included because core scripts are directly in bin/
    projects = [''] + [x for x in os.listdir('bin')
                       if os.path.isdir(os.path.join("bin", x))
                       and x in twisted_subprojects]

    scripts = []
    for i in projects:
        scripts.extend(getScripts(i))

    setup_args = dict(
        # metadata
        name="Twisted",
        version=copyright.version,
        description="An asynchronous networking framework written in Python",
        author="Twisted Matrix Laboratories",
        author_email="*****@*****.**",
        maintainer="Glyph Lefkowitz",
        maintainer_email="*****@*****.**",
        url="http://twistedmatrix.com/",
        license="MIT",
        long_description="""\
An extensible framework for Python programming, with special focus
on event-based network programming and multiprotocol integration.
""",
        packages = getPackages('twisted'),
        conditionalExtensions = getExtensions(),
        scripts = scripts,
        data_files=getDataFiles('twisted'),
        classifiers=[
            "Programming Language :: Python :: 2.6",
            "Programming Language :: Python :: 2.7",
            ])

    if 'setuptools' in sys.modules:
        from pkg_resources import parse_requirements
        requirements = ["zope.interface"]
        try:
            list(parse_requirements(requirements))
        except:
            print("""You seem to be running a very old version of setuptools.
This version of setuptools has a bug parsing dependencies, so automatic
dependency resolution is disabled.
""")
        else:
            setup_args['install_requires'] = requirements
        setup_args['include_package_data'] = True
        setup_args['zip_safe'] = False
    setup(**setup_args)
Beispiel #6
0
 def test_noScriptsInSubproject(self):
     """
     When calling getScripts for a project which doesn't actually
     have any scripts in the context of that project's individual
     project structure, an empty list should be returned.
     """
     basedir = self.mktemp()
     os.mkdir(basedir)
     scripts = dist.getScripts('noscripts', basedir=basedir)
     self.assertEquals(scripts, [])
Beispiel #7
0
 def test_noScriptsInSubproject(self):
     """
     When calling getScripts for a project which doesn't actually
     have any scripts in the context of that project's individual
     project structure, an empty list should be returned.
     """
     basedir = self.mktemp()
     os.mkdir(basedir)
     scripts = dist.getScripts('noscripts', basedir=basedir)
     self.assertEqual(scripts, [])
Beispiel #8
0
 def test_noScriptsInSVN(self):
     """
     When calling getScripts for a project which doesn't actually
     have any scripts, in the context of an SVN checkout, an
     empty list should be returned.
     """
     basedir = self.mktemp()
     os.mkdir(basedir)
     os.mkdir(os.path.join(basedir, 'bin'))
     os.mkdir(os.path.join(basedir, 'bin', 'otherproj'))
     scripts = dist.getScripts('noscripts', basedir=basedir)
     self.assertEqual(scripts, [])
Beispiel #9
0
 def test_noScriptsInSVN(self):
     """
     When calling getScripts for a project which doesn't actually
     have any scripts, in the context of an SVN checkout, an
     empty list should be returned.
     """
     basedir = self.mktemp()
     os.mkdir(basedir)
     os.mkdir(os.path.join(basedir, 'bin'))
     os.mkdir(os.path.join(basedir, 'bin', 'otherproj'))
     scripts = dist.getScripts('noscripts', basedir=basedir)
     self.assertEquals(scripts, [])
Beispiel #10
0
 def test_excludedPreamble(self):
     """
     L{dist.getScripts} includes neither C{"_preamble.py"} nor
     C{"_preamble.pyc"}.
     """
     basedir = FilePath(self.mktemp())
     bin = basedir.child("bin")
     bin.makedirs()
     bin.child("_preamble.py").setContent("some preamble code\n")
     bin.child("_preamble.pyc").setContent("some preamble byte code\n")
     bin.child("program").setContent("good program code\n")
     scripts = dist.getScripts("", basedir=basedir.path)
     self.assertEqual(scripts, [bin.child("program").path])
 def test_excludedPreamble(self):
     """
     L{dist.getScripts} includes neither C{"_preamble.py"} nor
     C{"_preamble.pyc"}.
     """
     basedir = FilePath(self.mktemp())
     bin = basedir.child('bin')
     bin.makedirs()
     bin.child('_preamble.py').setContent('some preamble code\n')
     bin.child('_preamble.pyc').setContent('some preamble byte code\n')
     bin.child('program').setContent('good program code\n')
     scripts = dist.getScripts(basedir=basedir.path)
     self.assertEqual(scripts, [bin.child('program').path])
 def test_scriptsInRelease(self):
     """
     getScripts should return the scripts associated with a project
     in the context of a released subproject tarball.
     """
     basedir = self.mktemp()
     os.mkdir(basedir)
     os.mkdir(os.path.join(basedir, 'bin'))
     f = open(os.path.join(basedir, 'bin', 'exy'), 'w')
     f.write('yay')
     f.close()
     scripts = dist.getScripts(basedir=basedir)
     self.assertEqual(len(scripts), 1)
     self.assertEqual(os.path.basename(scripts[0]), 'exy')
Beispiel #13
0
 def test_scriptsInSVN(self):
     """
     getScripts should return the scripts associated with a project
     in the context of Twisted SVN.
     """
     basedir = self.mktemp()
     os.mkdir(basedir)
     os.mkdir(os.path.join(basedir, 'bin'))
     os.mkdir(os.path.join(basedir, 'bin', 'proj'))
     f = open(os.path.join(basedir, 'bin', 'proj', 'exy'), 'w')
     f.write('yay')
     f.close()
     scripts = dist.getScripts('proj', basedir=basedir)
     self.assertEquals(len(scripts), 1)
     self.assertEquals(os.path.basename(scripts[0]), 'exy')
Beispiel #14
0
 def test_scriptsInSVN(self):
     """
     getScripts should return the scripts associated with a project
     in the context of Twisted SVN.
     """
     basedir = self.mktemp()
     os.mkdir(basedir)
     os.mkdir(os.path.join(basedir, 'bin'))
     os.mkdir(os.path.join(basedir, 'bin', 'proj'))
     f = open(os.path.join(basedir, 'bin', 'proj', 'exy'), 'w')
     f.write('yay')
     f.close()
     scripts = dist.getScripts('proj', basedir=basedir)
     self.assertEquals(len(scripts), 1)
     self.assertEquals(os.path.basename(scripts[0]), 'exy')
Beispiel #15
0
 def test_scriptsInSVN(self):
     """
     getScripts should return the scripts associated with a project
     in the context of Twisted SVN.
     """
     basedir = self.mktemp()
     os.mkdir(basedir)
     os.mkdir(os.path.join(basedir, "bin"))
     os.mkdir(os.path.join(basedir, "bin", "proj"))
     f = open(os.path.join(basedir, "bin", "proj", "exy"), "w")
     f.write("yay")
     f.close()
     scripts = dist.getScripts("proj", basedir=basedir)
     self.assertEqual(len(scripts), 1)
     self.assertEqual(os.path.basename(scripts[0]), "exy")
    def test_getScriptsTopLevel(self):
        """
        getScripts returns scripts that are (only) in the top level bin
        directory.
        """
        basedir = FilePath(self.mktemp())
        basedir.createDirectory()
        bindir = basedir.child("bin")
        bindir.createDirectory()
        included = bindir.child("included")
        included.setContent("yay included")
        subdir = bindir.child("subdir")
        subdir.createDirectory()
        subdir.child("not-included").setContent("not included")

        scripts = dist.getScripts(basedir=basedir.path)
        self.assertEqual(scripts, [included.path])
def main():
    # Make sure the to-be-installed version of Twisted is used, if available,
    # since we're importing from it:
    if os.path.exists('twisted'):
        sys.path.insert(0, '.')

    from twisted.python.dist import STATIC_PACKAGE_METADATA, getScripts

    args = STATIC_PACKAGE_METADATA.copy()
    args.update(dict(
        cmdclass={
            'build_py': PickyBuildPy,
            'build_scripts': PickyBuildScripts,
        },
        packages=find_packages(),
        install_requires=["zope.interface >= 4.0.2"],
        zip_safe=False,
        include_package_data=True,
        scripts=getScripts(),
    ))

    setup(**args)
Beispiel #18
0
# Copyright (c) 2008 Twisted Matrix Laboratories.
# See LICENSE for details.

import sys

try:
    from twisted.python import dist
except ImportError:
    raise SystemExit("twisted.python.dist module not found.  Make sure you "
                     "have installed the Twisted core package before "
                     "attempting to install any other Twisted projects.")

if __name__ == '__main__':
    dist.setup(
        twisted_subproject="lore",
        scripts=dist.getScripts("lore"),
        # metadata
        name="Twisted Lore",
        description="Twisted documentation system",
        author="Twisted Matrix Laboratories",
        author_email="*****@*****.**",
        maintainer="Andrew Bennetts",
        url="http://twistedmatrix.com/trac/wiki/TwistedLore",
        license="MIT",
        long_description="""\
Twisted Lore is a documentation generator with HTML and LaTeX support,
used in the Twisted project.
""",
    )
Beispiel #19
0
                "Development Status :: 4 - Beta",
                "Environment :: No Input/Output (Daemon)",
                "Intended Audience :: Developers :: Telecommunications Industry",
                "License :: OSI Approved :: MIT License",
                "Programming Language :: Python",
                "Topic :: Telephony :: Framework",
                "Topic :: Internet",
                "Topic :: Software Development :: Libraries :: Python Modules",
            ]
        )
    else:
        extraMeta = {}

    dist.setup(
        twisted_subproject="fats",
        scripts=dist.getScripts("fats"),
        # metadata
        name="Twisted FATS",
        description="Twisted FATS contains FastAGI and AMI protocols implementation.",
        author="Twisted Matrix Laboratories",
        author_email="*****@*****.**",
        maintainer="Alexander Burtsev",
        maintainer_email="*****@*****.**",
        url="http://fats.burus.org",
        license="MIT",
        long_description="""\
Twisted framework based enhancement. Project contains protocols
implementation for the FastAGI and AMI. Allow to make your
Asterisk IP-PBX server faster and easy to use.
""",
        **extraMeta
Beispiel #20
0
import sys

try:
    from twisted.python import dist
except ImportError:
    raise SystemExit("twisted.python.dist module not found.  Make sure you "
                     "have installed the Twisted core package before "
                     "attempting to install any other Twisted projects.")

if __name__ == '__main__':
    dist.setup(
        twisted_subproject="web",
        scripts=dist.getScripts("web"),
        # metadata
        name="Twisted Web",
        description="Twisted web server, programmable in Python.",
        author="Twisted Matrix Laboratories",
        author_email="*****@*****.**",
        maintainer="James Knight",
        maintainer_email="*****@*****.**",
        url="http://twistedmatrix.com/trac/wiki/TwistedWeb",
        license="MIT",
        long_description="""\
Twisted Web is a complete web server, aimed at hosting web
applications using Twisted and Python, but fully able to serve static
pages, also.
""",
    )
Beispiel #21
0
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.

import sys

try:
    from twisted.python import dist
except ImportError:
    raise SystemExit("twisted.python.dist module not found.  Make sure you "
                     "have installed the Twisted core package before "
                     "attempting to install any other Twisted projects.")

if __name__ == '__main__':
    dist.setup(
        twisted_subproject="web",
        scripts=dist.getScripts("web"),
        # metadata
        name="Twisted Web",
        description="Twisted web server, programmable in Python.",
        author="Twisted Matrix Laboratories",
        author_email="*****@*****.**",
        maintainer="James Knight",
        url="http://twistedmatrix.com/trac/wiki/TwistedWeb",
        license="MIT",
        long_description="""\
Twisted Web is a complete web server, aimed at hosting web
applications using Twisted and Python, but fully able to serve static
pages, also.
""",
        )
Beispiel #22
0
            classifiers=[
                "Development Status :: 4 - Beta",
                "Environment :: No Input/Output (Daemon)",
                "Intended Audience :: Developers",
                "License :: OSI Approved :: MIT License",
                "Programming Language :: Python",
                "Topic :: Communications :: Email :: Post-Office :: IMAP",
                "Topic :: Communications :: Email :: Post-Office :: POP3",
                "Topic :: Software Development :: Libraries :: Python Modules",
            ])
    else:
        extraMeta = {}

    dist.setup(
        twisted_subproject="mail",
        scripts=dist.getScripts("mail"),
        # metadata
        name="Twisted Mail",
        description="A Twisted Mail library, server and client.",
        author="Twisted Matrix Laboratories",
        author_email="*****@*****.**",
        maintainer="Jp Calderone",
        maintainer_email="*****@*****.**",
        url="http://twistedmatrix.com/trac/wiki/TwistedMail",
        license="MIT",
        long_description="""\
An SMTP, IMAP and POP protocol implementation together with clients
and servers.

Twisted Mail contains high-level, efficient protocol implementations
for both clients and servers of SMTP, POP3, and IMAP4. Additionally,
# See LICENSE for details.

import sys

try:
    from twisted.python import dist
except ImportError:
    raise SystemExit(
        "twisted.python.dist module not found.  Make sure you "
        "have installed the Twisted core package before "
        "attempting to install any other Twisted projects."
    )

if __name__ == "__main__":
    dist.setup(
        twisted_subproject="lore",
        scripts=dist.getScripts("lore"),
        # metadata
        name="Twisted Lore",
        description="Twisted documentation system",
        author="Twisted Matrix Laboratories",
        author_email="*****@*****.**",
        maintainer="Andrew Bennetts",
        url="http://twistedmatrix.com/trac/wiki/TwistedLore",
        license="MIT",
        long_description="""\
Twisted Lore is a documentation generator with HTML and LaTeX support,
used in the Twisted project.
""",
    )
Beispiel #24
0
            "Development Status :: 4 - Beta",
            "Environment :: No Input/Output (Daemon)",
            "Intended Audience :: Developers",
            "License :: OSI Approved :: MIT License",
            "Programming Language :: Python",
            "Topic :: Communications :: Chat",
            "Topic :: Communications :: Chat :: AOL Instant Messenger",
            "Topic :: Communications :: Chat :: ICQ",
            "Topic :: Communications :: Chat :: Internet Relay Chat",
            "Topic :: Internet",
            "Topic :: Software Development :: Libraries :: Python Modules",
        ])

    dist.setup(
        twisted_subproject="words",
        scripts=dist.getScripts("words"),
        # metadata
        name="Twisted Words",
        description="Twisted Words contains Instant Messaging implementations.",
        author="Twisted Matrix Laboratories",
        author_email="*****@*****.**",
        maintainer="Jp Calderone",
        url="http://twistedmatrix.com/trac/wiki/TwistedWords",
        license="MIT",
        long_description="""\
Twisted Words contains implementations of many Instant Messaging protocols,
including IRC, Jabber, OSCAR (AIM & ICQ), and some functionality for creating
bots, inter-protocol gateways, and a client application for many of the
protocols.

In support of Jabber, Twisted Words also contains X-ish, a library for
Beispiel #25
0
                "Environment :: No Input/Output (Daemon)",
                "Intended Audience :: Developers",
                "Intended Audience :: End Users/Desktop",
                "Intended Audience :: System Administrators",
                "License :: OSI Approved :: MIT License",
                "Programming Language :: Python",
                "Topic :: Internet",
                "Topic :: Security",
                "Topic :: Software Development :: Libraries :: Python Modules",
                "Topic :: Terminals",
            ])
    else:
        extraMeta = {}

    dist.setup(
        twisted_subproject="conch",
        scripts=dist.getScripts("conch"),
        # metadata
        name="Twisted Conch",
        description="Twisted SSHv2 implementation.",
        author="Twisted Matrix Laboratories",
        author_email="*****@*****.**",
        maintainer="Paul Swartz",
        url="http://twistedmatrix.com/trac/wiki/TwistedConch",
        license="MIT",
        long_description="""\
Conch is an SSHv2 implementation using the Twisted framework.  It
includes a server, client, a SFTP client, and a key generator.
""",
        **extraMeta)
Beispiel #26
0
    author="Twisted Matrix Laboratories",
    author_email="*****@*****.**",
    maintainer="Glyph Lefkowitz",
    url="http://twistedmatrix.com/",
    license="MIT",
    long_description="""\
This is the core of Twisted, including:
 * Networking support (twisted.internet)
 * Trial, the unit testing framework (twisted.trial)
 * AMP, the Asynchronous Messaging Protocol (twisted.protocols.amp)
 * Twisted Spread, a remote object system (twisted.spread)
 * Utility code (twisted.python)
 * Basic abstractions that multiple subprojects use
   (twisted.cred, twisted.application, twisted.plugin)
 * Database connectivity support (twisted.enterprise)
 * A few basic protocols and protocol abstractions (twisted.protocols)
""",

    # build stuff
    packages=getPackages('twisted',
                         ignore=twisted_subprojects + ['plugins']),
    plugins=plugins,
    data_files=getDataFiles('twisted', ignore=twisted_subprojects),
    conditionalExtensions=extensions,
    scripts = getScripts(""),
)


if __name__ == '__main__':
    setup(**setup_args)
Beispiel #27
0
if __name__ == '__main__':
    extraMeta = dict(classifiers=[
        "Development Status :: 5 - Production/Stable",
        "Environment :: No Input/Output (Daemon)",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: MIT License",
        "Programming Language :: Python",
        "Topic :: Communications :: Email :: Post-Office :: IMAP",
        "Topic :: Communications :: Email :: Post-Office :: POP3",
        "Topic :: Software Development :: Libraries :: Python Modules",
    ])

    dist.setup(
        twisted_subproject="mail",
        scripts=dist.getScripts("mail"),
        # metadata
        name="Twisted Mail",
        description="A Twisted Mail library, server and client.",
        author="Twisted Matrix Laboratories",
        author_email="*****@*****.**",
        maintainer="Jp Calderone",
        url="http://twistedmatrix.com/trac/wiki/TwistedMail",
        license="MIT",
        long_description="""\
An SMTP, IMAP and POP protocol implementation together with clients
and servers.

Twisted Mail contains high-level, efficient protocol implementations
for both clients and servers of SMTP, POP3, and IMAP4. Additionally,
it contains an "out of the box" combination SMTP/POP3 virtual-hosting
            "Intended Audience :: Developers",
            "License :: OSI Approved :: MIT License",
            "Programming Language :: Python",
            "Topic :: Communications :: Chat",
            "Topic :: Communications :: Chat :: AOL Instant Messenger",
            "Topic :: Communications :: Chat :: ICQ",
            "Topic :: Communications :: Chat :: Internet Relay Chat",
            "Topic :: Internet",
            "Topic :: Software Development :: Libraries :: Python Modules",
        ])
    else:
        extraMeta = {}

    dist.setup(
        twisted_subproject="words",
        scripts=dist.getScripts("words"),
        # metadata
        name="Twisted Words",
        description="Twisted Words contains Instant Messaging implementations.",
        author="Twisted Matrix Laboratories",
        author_email="*****@*****.**",
        maintainer="Jp Calderone",
        url="http://twistedmatrix.com/trac/wiki/TwistedWords",
        license="MIT",
        long_description="""\
Twisted Words contains implementations of many Instant Messaging
protocols, including IRC, Jabber, MSN, OSCAR (AIM & ICQ), TOC (AOL),
and some functionality for creating bots, inter-protocol gateways, and
a client application for many of the protocols.

In support of Jabber, Twisted Words also contains X-ish, a library for