setup.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. """
  2. FlaskBB
  3. =======
  4. FlaskBB is a forum software written in Python using the microframework Flask.
  5. And Easy to Setup
  6. -----------------
  7. .. code:: bash
  8. $ pip install -e .
  9. $ flaskbb install
  10. $ flaskbb runserver
  11. * Running on http://localhost:8080/
  12. Resources
  13. ---------
  14. * `website <https://flaskbb.org>`_
  15. * `source <https://github.com/sh4nks/flaskbb>`_
  16. * `issues <https://github.com/sh4nks/flaskbb/issues>`_
  17. """
  18. from setuptools import setup, find_packages
  19. from setuptools.command.test import test as TestCommand
  20. import sys
  21. class PyTestCommand(TestCommand):
  22. user_options = [('pytest-args=', 'a', 'Arguments to pass to py.test')]
  23. def initialize_options(self):
  24. TestCommand.initialize_options(self)
  25. self.pytest_args = []
  26. def finalize_options(self):
  27. TestCommand.finalize_options(self)
  28. self.test_args = []
  29. self.test_suite = True
  30. def run_tests(self):
  31. import pytest
  32. errno = pytest.main(self.pytest_args)
  33. sys.exit(errno)
  34. setup(
  35. name='FlaskBB',
  36. version='1.0',
  37. url='http://github.com/sh4nks/flaskbb/',
  38. license='BSD',
  39. author='Peter Justin',
  40. author_email='peter.justin@outlook.com',
  41. description='A classic Forum Software in Python using Flask.',
  42. long_description=__doc__,
  43. packages=find_packages(),
  44. include_package_data=True,
  45. zip_safe=False,
  46. platforms='any',
  47. install_requires=[
  48. 'alembic',
  49. 'amqp',
  50. 'Babel',
  51. 'billiard',
  52. 'blinker',
  53. 'celery',
  54. 'click',
  55. 'enum34',
  56. 'Flask',
  57. 'Flask-Alembic',
  58. 'flask-allows',
  59. 'Flask-BabelPlus',
  60. 'Flask-Caching',
  61. 'Flask-DebugToolbar',
  62. 'Flask-Limiter',
  63. 'Flask-Login',
  64. 'Flask-Mail',
  65. 'Flask-Redis',
  66. 'Flask-SQLAlchemy',
  67. 'Flask-Themes2',
  68. 'flask-whooshee',
  69. 'Flask-WTF',
  70. 'itsdangerous',
  71. 'Jinja2',
  72. 'kombu',
  73. 'limits',
  74. 'Mako',
  75. 'MarkupSafe',
  76. 'mistune',
  77. 'Pillow',
  78. 'Pygments',
  79. 'python-editor',
  80. 'pytz',
  81. 'redis',
  82. 'requests',
  83. 'simplejson',
  84. 'six',
  85. 'speaklater',
  86. 'SQLAlchemy',
  87. 'SQLAlchemy-Utils',
  88. 'Unidecode',
  89. 'Werkzeug',
  90. 'Whoosh',
  91. 'WTForms'
  92. ],
  93. entry_points='''
  94. [console_scripts]
  95. flaskbb=flaskbb.cli:flaskbb
  96. ''',
  97. test_suite='tests',
  98. tests_require=[
  99. 'py',
  100. 'pytest',
  101. 'pytest-cov',
  102. 'cov-core',
  103. 'coverage'
  104. ],
  105. classifiers=[
  106. 'Development Status :: 4 - Beta',
  107. 'Environment :: Web Environment',
  108. 'Intended Audience :: Developers, Users',
  109. 'License :: OSI Approved :: BSD License',
  110. 'Operating System :: OS Independent',
  111. 'Programming Language :: Python',
  112. 'Programming Language :: Python :: 3',
  113. 'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
  114. 'Topic :: Software Development :: Libraries :: Python Modules'
  115. ],
  116. cmdclass={'test': PyTestCommand}
  117. )