setup.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. # coding: utf-8
  2. import os
  3. import os.path
  4. from setuptools import setup
  5. ## Variáveis locais
  6. from src.setup import classifiers
  7. from src.setup import description
  8. from src.setup import license
  9. from src.setup import name
  10. from src.setup import url
  11. from src.setup import version
  12. from src.setup import author
  13. from src.setup import author_email
  14. from src.setup import maintainer
  15. from src.setup import maintainer_email
  16. from src.setup import keywords
  17. ## Funções locais
  18. def readme():
  19. with open('README.rst') as f:
  20. return f.read()
  21. ## Variáveis estáticas
  22. plugins = [
  23. s for s in os.listdir('plugins') if
  24. os.path.exists(os.path.join('plugins', s, 'plugin.py'))
  25. ]
  26. protocols = [
  27. s for s in os.listdir('src/protocols') if
  28. os.path.exists(os.path.join('src/protocols', s, 'protocol.py'))
  29. ]
  30. dependency_links = []
  31. packages = [
  32. 'paloma',
  33. 'paloma.plugins',
  34. 'paloma.protocols',
  35. ] + \
  36. ['paloma.plugins.'+s for s in plugins] + \
  37. ['paloma.protocols.'+s for s in protocols]
  38. package_dir = {
  39. 'paloma': 'src',
  40. 'paloma.plugins': 'plugins',
  41. 'paloma.protocols': 'src/protocols',
  42. }
  43. scripts = [
  44. 'bin/test.py',
  45. ]
  46. test_suite = ''
  47. tests_require = ''
  48. install_requires = ''
  49. extras_require = ''
  50. package_data = ''
  51. data_files = ''
  52. entry_points = ''
  53. ## Setups
  54. setup(
  55. author=author,
  56. author_email=author_email,
  57. classifiers=classifiers,
  58. dependency_links=dependency_links,
  59. description=description,
  60. include_package_data=True,
  61. license=license,
  62. long_description=readme(),
  63. maintainer=maintainer,
  64. maintainer_email=maintainer_email,
  65. name=name,
  66. packages=packages,
  67. package_dir=package_dir,
  68. scripts=scripts,
  69. test_suite=test_suite,
  70. tests_require=tests_require,
  71. url=url,
  72. version=version,
  73. zip_safe=False,
  74. keywords=keywords,
  75. install_requires=install_requires,
  76. extras_require=extras_require,
  77. package_data=package_data,
  78. data_files=data_files,
  79. entry_points=entry_points,
  80. )