setup.py 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #-*- coding: utf-8 -*-
  2. import os
  3. from setuptools import setup, find_packages
  4. from misago import __version__ as version
  5. SETUP_DIR = os.path.dirname(__file__)
  6. README = open(os.path.join(SETUP_DIR, 'README.rst'), 'rb').read().decode('utf-8')
  7. with open(os.path.join(SETUP_DIR, 'requirements.txt'), "r") as f:
  8. REQUIREMENTS = []
  9. for line in f.readlines():
  10. line = line.strip()
  11. if not line:
  12. continue
  13. if line.startswith('#'):
  14. continue
  15. if '#' in line:
  16. line = line[:line.find('#')].strip()
  17. REQUIREMENTS.append(line)
  18. # allow setup.py to be run from any path
  19. os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))
  20. EXCLUDE_FROM_PACKAGES = [
  21. 'misago.project_template',
  22. 'misago.bin'
  23. ]
  24. setup(
  25. name='Misago',
  26. version=version,
  27. license='GPLv2',
  28. description=(
  29. "Misago is modern, fully featured forum application written in "
  30. "Python and ES6, powered by Django and React.js. It works out of "
  31. "the box and plays nicely with other projects like Django-CMS."
  32. ),
  33. long_description=README,
  34. url='http://www.misago-project.org/',
  35. author=u'Rafał Pitoń',
  36. author_email='kontakt@rpiton.com',
  37. install_requires=REQUIREMENTS,
  38. packages=find_packages(exclude=EXCLUDE_FROM_PACKAGES),
  39. include_package_data=True,
  40. scripts=[
  41. 'misago/bin/misago-start.py',
  42. ],
  43. entry_points={'console_scripts': [
  44. 'misago-start = misago.core.setup:start_misago_project',
  45. ]},
  46. test_suite="runtests.runtests",
  47. classifiers=[
  48. 'Development Status :: 4 - Beta',
  49. 'Environment :: Web Environment',
  50. 'Framework :: Django',
  51. 'Intended Audience :: Developers',
  52. 'Intended Audience :: System Administrators',
  53. 'License :: OSI Approved :: GNU General Public License v2 (GPLv2)',
  54. 'Operating System :: OS Independent',
  55. 'Programming Language :: Python',
  56. 'Programming Language :: Python :: 2.7',
  57. 'Programming Language :: Python :: 3.4',
  58. 'Programming Language :: Python :: 3.5',
  59. 'Programming Language :: Python :: 3.6',
  60. 'Topic :: Internet :: WWW/HTTP',
  61. 'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
  62. "Topic :: Internet :: WWW/HTTP :: WSGI",
  63. "Topic :: Software Development :: Libraries :: Application Frameworks",
  64. "Topic :: Software Development :: Libraries :: Python Modules",
  65. ],
  66. )