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)
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)
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)
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)
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)
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, [])
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, [])
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, [])
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, [])
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')
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')
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)
# 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. """, )
"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
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. """, )
# 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. """, )
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. """, )
"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
"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)
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)
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