setup.py 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. ##############################################################################
  2. #
  3. # Copyright (c) 2006-2013 Agendaless Consulting and Contributors.
  4. # All Rights Reserved.
  5. #
  6. # This software is subject to the provisions of the BSD-like license at
  7. # http://www.repoze.org/LICENSE.txt. A copy of the license should accompany
  8. # this distribution. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL
  9. # EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO,
  10. # THE IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND
  11. # FITNESS FOR A PARTICULAR PURPOSE
  12. #
  13. ##############################################################################
  14. import os
  15. import sys
  16. if sys.version_info[:2] < (2, 4) or sys.version_info[0] > 2:
  17. msg = ("Supervisor requires Python 2.4 or later but does not work on "
  18. "any version of Python 3. You are using version %s. Please "
  19. "install using a supported version." % sys.version)
  20. sys.stderr.write(msg)
  21. sys.exit(1)
  22. if sys.version_info[:2] < (2, 5):
  23. # meld3 1.0.0 dropped python 2.4 support
  24. # meld3 requires elementree on python 2.4 only
  25. requires = ['meld3 >= 0.6.5 , < 1.0.0', 'elementtree']
  26. else:
  27. requires = ['meld3 >= 0.6.5']
  28. from setuptools import setup, find_packages
  29. here = os.path.abspath(os.path.dirname(__file__))
  30. try:
  31. README = open(os.path.join(here, 'README.rst')).read()
  32. CHANGES = open(os.path.join(here, 'CHANGES.txt')).read()
  33. except:
  34. README = """\
  35. Supervisor is a client/server system that allows its users to
  36. control a number of processes on UNIX-like operating systems. """
  37. CHANGES = ''
  38. CLASSIFIERS = [
  39. 'Development Status :: 5 - Production/Stable',
  40. 'Environment :: No Input/Output (Daemon)',
  41. 'Intended Audience :: System Administrators',
  42. 'Natural Language :: English',
  43. 'Operating System :: POSIX',
  44. 'Topic :: System :: Boot',
  45. 'Topic :: System :: Monitoring',
  46. 'Topic :: System :: Systems Administration',
  47. "Programming Language :: Python",
  48. "Programming Language :: Python :: 2",
  49. "Programming Language :: Python :: 2.4",
  50. "Programming Language :: Python :: 2.5",
  51. "Programming Language :: Python :: 2.6",
  52. "Programming Language :: Python :: 2.7",
  53. ]
  54. version_txt = os.path.join(here, 'supervisor/version.txt')
  55. supervisor_version = open(version_txt).read().strip()
  56. dist = setup(
  57. name='supervisor',
  58. version=supervisor_version,
  59. license='BSD-derived (http://www.repoze.org/LICENSE.txt)',
  60. url='http://supervisord.org/',
  61. description="A system for controlling process state under UNIX",
  62. long_description=README + '\n\n' + CHANGES,
  63. classifiers=CLASSIFIERS,
  64. author="Chris McDonough",
  65. author_email="chrism@plope.com",
  66. packages=find_packages(),
  67. install_requires=requires,
  68. extras_require={'iterparse': ['cElementTree >= 1.0.2']},
  69. tests_require=['mock >= 0.5.0'],
  70. include_package_data=True,
  71. zip_safe=False,
  72. namespace_packages=['supervisor'],
  73. test_suite="supervisor.tests",
  74. entry_points={
  75. 'console_scripts': [
  76. 'supervisord = supervisor.supervisord:main',
  77. 'supervisorctl = supervisor.supervisorctl:main',
  78. 'echo_supervisord_conf = supervisor.confecho:main',
  79. 'pidproxy = supervisor.pidproxy:main',
  80. ],
  81. },
  82. )