setup.py 3.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. # -*- coding: utf-8 -*-
  2. #quickstarted Options:
  3. #
  4. # sqlalchemy: True
  5. # auth: sqlalchemy
  6. # mako: True
  7. #
  8. #
  9. from setuptools.command.develop import develop
  10. #This is just a work-around for a Python2.7 issue causing
  11. #interpreter crash at exit when trying to log an info message.
  12. try:
  13. import logging
  14. import multiprocessing
  15. except:
  16. pass
  17. import sys
  18. py_version = sys.version_info[:2]
  19. try:
  20. from setuptools import setup, find_packages
  21. except ImportError:
  22. from ez_setup import use_setuptools
  23. use_setuptools()
  24. from setuptools import setup, find_packages
  25. class DevelopWithCompileCatalog(develop):
  26. def run(self):
  27. from babel.messages.frontend import compile_catalog
  28. compiler = compile_catalog(self.distribution)
  29. option_dict = self.distribution.get_option_dict('compile_catalog')
  30. compiler.domain = option_dict['domain'][1]
  31. compiler.directory = option_dict['directory'][1]
  32. compiler.run()
  33. super().run()
  34. classifiers = [
  35. "License :: OSI Approved :: GNU Affero General Public License v3",
  36. "Programming Language :: Python",
  37. "Programming Language :: Python :: 3.4",
  38. "Programming Language :: Python :: 3.5",
  39. "Programming Language :: Python :: 3.6",
  40. ]
  41. testpkgs=['WebTest >= 1.2.3',
  42. 'nose',
  43. 'coverage',
  44. 'gearbox'
  45. ]
  46. install_requires=[
  47. "TurboGears2==2.3.7",
  48. "Genshi",
  49. "Mako",
  50. "zope.sqlalchemy >= 0.4",
  51. "sqlalchemy",
  52. "alembic",
  53. "repoze.who",
  54. "who_ldap>=3.2.1",
  55. "python-ldap-test==0.2.1",
  56. "unicode-slugify==0.1.3",
  57. "pytz==2014.7",
  58. 'rq==0.7.1',
  59. 'filedepot>=0.5.0',
  60. 'preview-generator'
  61. ]
  62. setup_requires = [
  63. 'babel',
  64. ],
  65. setup(
  66. name='tracim',
  67. version='1.0.0',
  68. description='Tracim is plateform software designed to improve traceability and productivity in collaborative work.',
  69. author='Damien ACCORSI',
  70. author_email='damien.accorsi@free.fr',
  71. url='https://github.com/tracim/tracim',
  72. packages=find_packages(exclude=['ez_setup']),
  73. install_requires=install_requires,
  74. include_package_data=True,
  75. test_suite='nose.collector',
  76. tests_require=testpkgs,
  77. package_data={'tracim': ['i18n/*/LC_MESSAGES/*.mo',
  78. 'templates/*/*',
  79. 'public/*/*']},
  80. message_extractors={'tracim': [
  81. ('**.py', 'python', None),
  82. ('templates/**.mak', 'mako', {'input_encoding': 'utf-8'}),
  83. ('public/**', 'ignore', None)]},
  84. entry_points={
  85. 'paste.app_factory': [
  86. 'main = tracim.config.middleware:make_app'
  87. ],
  88. 'gearbox.plugins': [
  89. 'turbogears-devtools = tg.devtools'
  90. ],
  91. 'gearbox.commands': [
  92. 'ldap_server = tracim.command.ldap_test_server:LDAPTestServerCommand',
  93. 'user_create = tracim.command.user:CreateUserCommand',
  94. 'user_update = tracim.command.user:UpdateUserCommand',
  95. 'mail sender = tracim.command.mail:MailSenderCommend',
  96. ]
  97. },
  98. dependency_links=[
  99. 'http://github.com/algoo/preview-generator/tarball/master#egg=preview_generator-1.0',
  100. ],
  101. zip_safe=False,
  102. cmdclass={
  103. 'develop': DevelopWithCompileCatalog,
  104. },
  105. )