setup.py 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. # Procedure to release a new version:
  2. #
  3. # - run tests: run tox
  4. # - update version in setup.py (__version__)
  5. # - update tag_build in setup.cfg
  6. # - modify setup.py: set RELEASE to True
  7. # - check that "python setup.py sdist" contains all files tracked by
  8. # the SCM (Mercurial): update MANIFEST.in if needed
  9. # - update changelog: docs/news.txt
  10. #
  11. # - hg ci
  12. # - hg tag VERSION
  13. # - hg push
  14. # - python2 setup.py register sdist bdist_wheel upload
  15. # - python3 setup.py bdist_wheel upload
  16. #
  17. # - increment version in setup.py (__version__)
  18. # - modify setup.py: set RELEASE to False
  19. # - hg ci && hg push
  20. # If true, then the svn revision won't be used to calculate the
  21. # revision (set to True for real releases)
  22. RELEASE = True
  23. __version__ = '2.0.1'
  24. from setuptools import setup, find_packages
  25. import sys, os
  26. sys.path.insert(0, os.path.join(os.path.dirname(__file__),
  27. 'paste', 'util'))
  28. import finddata
  29. with open("README.rst") as fp:
  30. README = fp.read()
  31. setup(name="Paste",
  32. version=__version__,
  33. description="Tools for using a Web Server Gateway Interface stack",
  34. long_description=README,
  35. classifiers=[
  36. "Development Status :: 5 - Production/Stable",
  37. "Intended Audience :: Developers",
  38. "License :: OSI Approved :: MIT License",
  39. "Programming Language :: Python",
  40. "Programming Language :: Python :: 3",
  41. "Topic :: Internet :: WWW/HTTP",
  42. "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
  43. "Topic :: Software Development :: Libraries :: Python Modules",
  44. "Topic :: Internet :: WWW/HTTP :: WSGI",
  45. "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
  46. "Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware",
  47. "Topic :: Internet :: WWW/HTTP :: WSGI :: Server",
  48. "Framework :: Paste",
  49. ],
  50. keywords='web application server wsgi',
  51. author="Ian Bicking",
  52. author_email="ianb@colorstudy.com",
  53. url="http://pythonpaste.org",
  54. license="MIT",
  55. packages=find_packages(exclude=['ez_setup', 'examples', 'packages', 'tests*']),
  56. package_data=finddata.find_package_data(
  57. exclude_directories=finddata.standard_exclude_directories + ('tests',)),
  58. namespace_packages=['paste'],
  59. zip_safe=False,
  60. test_suite='nose.collector',
  61. install_requires=['six'],
  62. tests_require=['nose>=0.11'],
  63. extras_require={
  64. 'subprocess': [],
  65. 'hotshot': [],
  66. 'Flup': ['flup'],
  67. 'Paste': [],
  68. 'openid': ['python-openid'],
  69. },
  70. entry_points="""
  71. [paste.app_factory]
  72. cgi = paste.cgiapp:make_cgi_application [subprocess]
  73. static = paste.urlparser:make_static
  74. pkg_resources = paste.urlparser:make_pkg_resources
  75. urlparser = paste.urlparser:make_url_parser
  76. proxy = paste.proxy:make_proxy
  77. test = paste.debug.debugapp:make_test_app
  78. test_slow = paste.debug.debugapp:make_slow_app
  79. transparent_proxy = paste.proxy:make_transparent_proxy
  80. watch_threads = paste.debug.watchthreads:make_watch_threads
  81. [paste.composite_factory]
  82. urlmap = paste.urlmap:urlmap_factory
  83. cascade = paste.cascade:make_cascade
  84. [paste.filter_app_factory]
  85. error_catcher = paste.exceptions.errormiddleware:make_error_middleware
  86. cgitb = paste.cgitb_catcher:make_cgitb_middleware
  87. flup_session = paste.flup_session:make_session_middleware [Flup]
  88. gzip = paste.gzipper:make_gzip_middleware
  89. httpexceptions = paste.httpexceptions:make_middleware
  90. lint = paste.lint:make_middleware
  91. printdebug = paste.debug.prints:PrintDebugMiddleware
  92. profile = paste.debug.profile:make_profile_middleware [hotshot]
  93. recursive = paste.recursive:make_recursive_middleware
  94. # This isn't good enough to deserve the name egg:Paste#session:
  95. paste_session = paste.session:make_session_middleware
  96. wdg_validate = paste.debug.wdg_validate:make_wdg_validate_middleware [subprocess]
  97. evalerror = paste.evalexception.middleware:make_eval_exception
  98. auth_tkt = paste.auth.auth_tkt:make_auth_tkt_middleware
  99. auth_basic = paste.auth.basic:make_basic
  100. auth_digest = paste.auth.digest:make_digest
  101. auth_form = paste.auth.form:make_form
  102. grantip = paste.auth.grantip:make_grantip
  103. openid = paste.auth.open_id:make_open_id_middleware [openid]
  104. pony = paste.pony:make_pony
  105. cowbell = paste.cowbell:make_cowbell
  106. errordocument = paste.errordocument:make_errordocument
  107. auth_cookie = paste.auth.cookie:make_auth_cookie
  108. translogger = paste.translogger:make_filter
  109. config = paste.config:make_config_filter
  110. registry = paste.registry:make_registry_manager
  111. [paste.server_runner]
  112. http = paste.httpserver:server_runner
  113. """,
  114. )