DraugrPackage.py 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. from setuptools import find_packages
  2. from version import get_version
  3. class DraugrPackage:
  4. @property
  5. def test_dependencies(self) -> list:
  6. return [
  7. 'pytest',
  8. 'mock'
  9. ]
  10. @property
  11. def setup_dependencies(self) -> list:
  12. return [
  13. 'pytest-runner'
  14. ]
  15. @property
  16. def package_name(self) -> str:
  17. return 'Draugr'
  18. @property
  19. def url(self) -> str:
  20. return 'https://github.com/cnheider/draugr'
  21. @property
  22. def download_url(self) -> str:
  23. return self.url + '/releases'
  24. @property
  25. def readme_type(self) -> str:
  26. return 'text/markdown'
  27. @property
  28. def packages(self):
  29. return find_packages(
  30. exclude=[
  31. # 'neodroid/environments'
  32. ]
  33. )
  34. @property
  35. def author_name(self):
  36. return 'Christian Heider Nielsen'
  37. @property
  38. def author_email(self):
  39. return 'cnheider@yandex.com'
  40. @property
  41. def maintainer_name(self):
  42. return self.author_name
  43. @property
  44. def maintainer_email(self):
  45. return self.author_email
  46. @property
  47. def package_data(self):
  48. # data = glob.glob('environments/mab/**', recursive=True)
  49. return {
  50. # 'neodroid':[
  51. # *data
  52. # 'environments/mab/**',
  53. # 'environments/mab/**_Data/*',
  54. # 'environments/mab/windows/*'
  55. # 'environments/mab/windows/*_Data/*'
  56. # ]
  57. }
  58. @property
  59. def entry_points(self):
  60. return {
  61. 'console_scripts':[
  62. # "name_of_executable = module.with:function_to_execute"
  63. # 'neodroid-ppo = agents.ppo_agent:main',
  64. ]
  65. }
  66. @property
  67. def extras(self):
  68. these_extras = {
  69. # 'GUI':['kivy'],
  70. # 'mab':['neodroid-linux-mab; platform_system == "Linux"',
  71. # 'neodroid-win-mab platform_system == "Windows"']
  72. }
  73. all_dependencies = []
  74. for group_name in these_extras:
  75. all_dependencies += these_extras[group_name]
  76. these_extras['all'] = all_dependencies
  77. return these_extras
  78. @property
  79. def requirements(self) -> list:
  80. requirements_out = []
  81. with open('requirements.txt') as f:
  82. requirements = f.readlines()
  83. for requirement in requirements:
  84. requirements_out.append(requirement.strip())
  85. return requirements_out
  86. @property
  87. def description(self):
  88. return 'A package for plotting directly in your terminal'
  89. @property
  90. def readme(self):
  91. with open('README.md') as f:
  92. return f.read()
  93. @property
  94. def keyword(self):
  95. with open('KEYWORDS.md') as f:
  96. return f.read()
  97. @property
  98. def license(self):
  99. return 'Apache License, Version 2.0'
  100. @property
  101. def classifiers(self):
  102. return [
  103. 'Development Status :: 4 - Beta',
  104. 'Environment :: Console',
  105. 'Intended Audience :: End Users/Desktop',
  106. 'Intended Audience :: Developers',
  107. 'License :: OSI Approved :: Apache Software License',
  108. 'Operating System :: MacOS :: MacOS X',
  109. 'Operating System :: Microsoft :: Windows',
  110. 'Operating System :: POSIX',
  111. 'Operating System :: OS Independent',
  112. 'Programming Language :: Python :: 3',
  113. 'Natural Language :: English',
  114. # 'Topic :: Scientific/Engineering :: Artificial Intelligence'
  115. # 'Topic :: Software Development :: Bug Tracking',
  116. ]
  117. @property
  118. def version(self):
  119. return get_version()