1 | import ez_setup |
---|
2 | ez_setup.use_setuptools() |
---|
3 | from setuptools import setup, find_packages |
---|
4 | import re, os |
---|
5 | |
---|
6 | version = '1.7.3' |
---|
7 | |
---|
8 | news = os.path.join(os.path.dirname(__file__), 'docs', 'news.txt') |
---|
9 | news = open(news).read() |
---|
10 | parts = re.split(r'([0-9\.]+)\s*\n\r?-+\n\r?', news) |
---|
11 | found_news = '' |
---|
12 | for i in range(len(parts)-1): |
---|
13 | if parts[i] == version: |
---|
14 | found_news = parts[i+i] |
---|
15 | break |
---|
16 | if not found_news: |
---|
17 | print 'Warning: no news for this version found' |
---|
18 | |
---|
19 | long_description="""\ |
---|
20 | This is a pluggable command-line tool. |
---|
21 | |
---|
22 | It 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 | |
---|
32 | The latest version is available in a `Subversion repository |
---|
33 | <http://svn.pythonpaste.org/Paste/Script/trunk#egg=PasteScript-dev>`_. |
---|
34 | |
---|
35 | For the latest changes see the `news file |
---|
36 | <http://pythonpaste.org/script/news.html>`_. |
---|
37 | """ |
---|
38 | |
---|
39 | if 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 | |
---|
44 | setup( |
---|
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 | ) |
---|