setup.py 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #! /usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import re
  4. from setuptools import setup, find_packages
  5. from codecs import open
  6. from os import path
  7. basedir = path.abspath(path.dirname(__file__))
  8. # Get the long description from the README file
  9. with open(path.join(basedir, 'README.md'), encoding='utf-8') as f:
  10. long_description = f.read()
  11. # locate our version number
  12. def read_version_py(file_name):
  13. try:
  14. version_string_line = open(file_name, "rt").read()
  15. except EnvironmentError:
  16. return None
  17. else:
  18. version_regex = r"^version_str = ['\"]([^'\"]*)['\"]"
  19. mo = re.search(version_regex, version_string_line, re.M)
  20. if mo:
  21. return mo.group(1)
  22. VERSION_PY_FILENAME = 'kalliope/_version.py'
  23. version = read_version_py(VERSION_PY_FILENAME)
  24. setup(
  25. name='kalliope',
  26. version=version,
  27. description='Kalliope is a modular always-on voice controlled personal assistant designed for home automation.',
  28. long_description=long_description,
  29. url='https://github.com/kalliope-project/kalliope',
  30. author='The dream team of Kalliope-project',
  31. author_email='kalliope-project@googlegroups.com',
  32. license='MIT',
  33. # See https://pypi.python.org/pypi?%3Aaction=list_classifiers
  34. classifiers=[
  35. 'Development Status :: 3 - Alpha',
  36. 'Environment :: Console',
  37. 'Intended Audience :: Developers',
  38. 'License :: OSI Approved :: MIT License',
  39. 'Operating System :: POSIX :: Linux',
  40. 'Programming Language :: Python :: 2',
  41. 'Programming Language :: Python :: 2.7',
  42. 'Topic :: Home Automation',
  43. 'Topic :: Multimedia :: Sound/Audio :: Speech',
  44. 'Topic :: Multimedia :: Sound/Audio :: Sound Synthesis',
  45. 'Topic :: Scientific/Engineering :: Artificial Intelligence'
  46. ],
  47. keywords='assistant bot TTS STT',
  48. # included packages
  49. packages=find_packages(exclude=['contrib', 'docs', 'tests']),
  50. # required libs
  51. install_requires=[
  52. 'six==1.10.0',
  53. 'SpeechRecognition>=3.5.0',
  54. 'markupsafe==0.23',
  55. 'pyaudio==0.2.9',
  56. 'ansible==2.2.0.0',
  57. 'python2-pythondialog==3.4.0',
  58. 'jinja2==2.8',
  59. 'cffi==1.9.1',
  60. 'ipaddress==1.0.17',
  61. 'flask==0.11.1',
  62. 'Flask-Restful==0.3.5',
  63. 'requests==2.12.4',
  64. 'httpretty==0.8.14',
  65. 'mock==2.0.0',
  66. 'Flask-Testing==0.6.1',
  67. 'apscheduler==3.3.0',
  68. 'GitPython==2.1.1',
  69. 'packaging>=16.8'
  70. ],
  71. # additional files
  72. package_data={
  73. 'kalliope': [
  74. 'brain.yml',
  75. 'settings.yml',
  76. 'trigger/snowboy/armv7l/_snowboydetect.so',
  77. 'trigger/snowboy/x86_64/_snowboydetect.so',
  78. 'trigger/snowboy/resources/*',
  79. ],
  80. },
  81. # entry point script
  82. entry_points={
  83. 'console_scripts': [
  84. 'kalliope=kalliope:main',
  85. ],
  86. },
  87. )