setup.py 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. ##############################################################################
  2. #
  3. # Copyright (c) 2006-2015 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. py_version = sys.version_info[:2]
  17. if py_version < (2, 6):
  18. raise RuntimeError('On Python 2, Supervisor requires Python 2.6 or later')
  19. elif (3, 0) < py_version < (3, 2):
  20. raise RuntimeError('On Python 3, Supervisor requires Python 3.2 or later')
  21. requires = ['meld3 >= 1.0.0']
  22. tests_require = []
  23. if py_version < (3, 3):
  24. tests_require.append('mock')
  25. testing_extras = tests_require + [
  26. 'pytest',
  27. 'pytest-cov',
  28. ]
  29. from setuptools import setup, find_packages
  30. here = os.path.abspath(os.path.dirname(__file__))
  31. try:
  32. README = open(os.path.join(here, 'README.rst')).read()
  33. CHANGES = open(os.path.join(here, 'CHANGES.txt')).read()
  34. except:
  35. README = """\
  36. Supervisor is a client/server system that allows its users to
  37. control a number of processes on UNIX-like operating systems. """
  38. CHANGES = ''
  39. CLASSIFIERS = [
  40. 'Development Status :: 5 - Production/Stable',
  41. 'Environment :: No Input/Output (Daemon)',
  42. 'Intended Audience :: System Administrators',
  43. 'Natural Language :: English',
  44. 'Operating System :: POSIX',
  45. 'Topic :: System :: Boot',
  46. 'Topic :: System :: Monitoring',
  47. 'Topic :: System :: Systems Administration',
  48. "Programming Language :: Python",
  49. "Programming Language :: Python :: 2",
  50. "Programming Language :: Python :: 2.6",
  51. "Programming Language :: Python :: 2.7",
  52. "Programming Language :: Python :: 3",
  53. "Programming Language :: Python :: 3.2",
  54. "Programming Language :: Python :: 3.3",
  55. "Programming Language :: Python :: 3.4",
  56. "Programming Language :: Python :: 3.5",
  57. ]
  58. version_txt = os.path.join(here, 'supervisor/version.txt')
  59. supervisor_version = open(version_txt).read().strip()
  60. dist = setup(
  61. name='supervisor',
  62. version=supervisor_version,
  63. license='BSD-derived (http://www.repoze.org/LICENSE.txt)',
  64. url='http://supervisord.org/',
  65. description="A system for controlling process state under UNIX",
  66. long_description=README + '\n\n' + CHANGES,
  67. classifiers=CLASSIFIERS,
  68. author="Chris McDonough",
  69. author_email="chrism@plope.com",
  70. maintainer="Chris McDonough",
  71. maintainer_email="chrism@plope.com",
  72. packages=find_packages(),
  73. install_requires=requires,
  74. extras_require={
  75. 'iterparse': ['cElementTree >= 1.0.2'],
  76. 'testing': testing_extras,
  77. },
  78. tests_require=tests_require,
  79. include_package_data=True,
  80. zip_safe=False,
  81. test_suite="supervisor.tests",
  82. entry_points={
  83. 'console_scripts': [
  84. 'supervisord = supervisor.supervisord:main',
  85. 'supervisorctl = supervisor.supervisorctl:main',
  86. 'echo_supervisord_conf = supervisor.confecho:main',
  87. 'pidproxy = supervisor.pidproxy:main',
  88. ],
  89. },
  90. )