PageRenderTime 47ms CodeModel.GetById 40ms app.highlight 4ms RepoModel.GetById 1ms app.codeStats 0ms

/scripts/scramble/patches/PasteScript/setup.py

https://bitbucket.org/cistrome/cistrome-harvard/
Python | 145 lines | 141 code | 2 blank | 2 comment | 2 complexity | 6112f1e7a4e2c0f17c72022b4377da64 MD5 | raw file
  1import ez_setup
  2ez_setup.use_setuptools()
  3from setuptools import setup, find_packages
  4import re, os
  5
  6version = '1.7.3'
  7
  8news = os.path.join(os.path.dirname(__file__), 'docs', 'news.txt')
  9news = open(news).read()
 10parts = re.split(r'([0-9\.]+)\s*\n\r?-+\n\r?', news)
 11found_news = ''
 12for i in range(len(parts)-1):
 13    if parts[i] == version:
 14        found_news = parts[i+i]
 15        break
 16if not found_news:
 17    print 'Warning: no news for this version found'
 18
 19long_description="""\
 20This is a pluggable command-line tool.
 21
 22It includes some built-in features;
 23
 24* Create file layouts for packages.  For instance, ``paste create
 25  --template=basic_package MyPackage`` will create a `setuptools
 26  <http://peak.telecommunity.com/DevCenter/setuptools>`_-ready
 27  file layout.
 28
 29* Serving up web applications, with configuration based on
 30  `paste.deploy <http://pythonpaste.org/deploy/paste-deploy.html>`_.
 31
 32The latest version is available in a `Subversion repository
 33<http://svn.pythonpaste.org/Paste/Script/trunk#egg=PasteScript-dev>`_.
 34
 35For the latest changes see the `news file
 36<http://pythonpaste.org/script/news.html>`_.
 37"""
 38
 39if found_news:
 40    title = 'Changes in %s' % version
 41    long_description += "\n%s\n%s\n" % (title, '-'*len(title))
 42    long_description += found_news
 43
 44setup(
 45    name="PasteScript",
 46    version=version,
 47    description="A pluggable command-line frontend, including commands to setup package file layouts",
 48    long_description=long_description,
 49    classifiers=[
 50      "Development Status :: 5 - Production/Stable",
 51      "Intended Audience :: Developers",
 52      "License :: OSI Approved :: MIT License",
 53      "Programming Language :: Python",
 54      "Topic :: Internet :: WWW/HTTP",
 55      "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
 56      "Topic :: Software Development :: Libraries :: Python Modules",
 57      "Framework :: Paste",
 58      ],
 59    keywords='web wsgi setuptools framework command-line setup',
 60    author="Ian Bicking",
 61    author_email="ianb@colorstudy.com",
 62    url="http://pythonpaste.org/script/",
 63    namespace_packages=['paste'],
 64    license='MIT',
 65    packages=find_packages(exclude='tests'),
 66    package_data={
 67      'paste.script': ['paster-templates/basic_package/setup.*',
 68                       'paster-templates/basic_package/tests/*.py',
 69                       # @@: docs/ doesn't have any files :(
 70                       'paster-templates/basic_package/+package+/*.py'],
 71      },
 72    zip_safe=False,
 73    scripts=['scripts/paster'],
 74    extras_require={
 75      'Templating': [],
 76      'Cheetah': ['Cheetah'],
 77      'Config': ['PasteDeploy'],
 78      'WSGIUtils': ['WSGIUtils'],
 79      'Flup': ['Flup'],
 80      # the Paste feature means the complete set of features;
 81      # (other features are truly optional)
 82      'Paste': ['PasteDeploy', 'Cheetah'],
 83      },
 84    entry_points="""
 85    [paste.global_paster_command]
 86    help=paste.script.help:HelpCommand
 87    create=paste.script.create_distro:CreateDistroCommand [Templating]
 88    serve=paste.script.serve:ServeCommand [Config]
 89    request=paste.script.request:RequestCommand [Config]
 90    post=paste.script.request:RequestCommand [Config]
 91    exe=paste.script.exe:ExeCommand
 92    points=paste.script.entrypoints:EntryPointCommand
 93    make-config=paste.script.appinstall:MakeConfigCommand
 94    setup-app=paste.script.appinstall:SetupCommand
 95
 96    [paste.paster_command]
 97    grep = paste.script.grep:GrepCommand
 98
 99    [paste.paster_create_template]
100    basic_package=paste.script.templates:BasicPackage
101
102    [paste.server_runner]
103    wsgiutils=paste.script.wsgiutils_server:run_server [WSGIUtils]
104    flup_ajp_thread=paste.script.flup_server:run_ajp_thread [Flup]
105    flup_ajp_fork=paste.script.flup_server:run_ajp_fork [Flup]
106    flup_fcgi_thread=paste.script.flup_server:run_fcgi_thread [Flup]
107    flup_fcgi_fork=paste.script.flup_server:run_fcgi_fork [Flup]
108    flup_scgi_thread=paste.script.flup_server:run_scgi_thread [Flup]
109    flup_scgi_fork=paste.script.flup_server:run_scgi_fork [Flup]
110    cgi=paste.script.cgi_server:paste_run_cgi
111    cherrypy=paste.script.cherrypy_server:cpwsgi_server
112    twisted=paste.script.twisted_web2_server:run_twisted
113
114    [paste.app_factory]
115    test=paste.script.testapp:make_test_application
116
117    [paste.entry_point_description]
118    paste.entry_point_description = paste.script.epdesc:MetaEntryPointDescription
119    paste.paster_create_template = paste.script.epdesc:CreateTemplateDescription
120    paste.paster_command = paste.script.epdesc:PasterCommandDescription
121    paste.global_paster_command = paste.script.epdesc:GlobalPasterCommandDescription
122    paste.app_install = paste.script.epdesc:AppInstallDescription
123
124    # These aren't part of Paste Script particularly, but
125    # we'll document them here
126    console_scripts = paste.script.epdesc:ConsoleScriptsDescription
127    # @@: Need non-console scripts...
128    distutils.commands = paste.script.epdesc:DistutilsCommandsDescription
129    distutils.setup_keywords = paste.script.epdesc:SetupKeywordsDescription
130    egg_info.writers = paste.script.epdesc:EggInfoWriters
131    # @@: Not sure what this does:
132    #setuptools.file_finders = paste.script.epdesc:SetuptoolsFileFinders
133    
134    [console_scripts]
135    paster=paste.script.command:run
136
137    [distutils.setup_keywords]
138    paster_plugins = setuptools.dist:assert_string_list
139
140    [egg_info.writers]
141    paster_plugins.txt = setuptools.command.egg_info:write_arg
142    """,
143    install_requires=[
144      ],
145    )