setup.py 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. """Setup script for yandex-music-api."""
  2. import re
  3. import sys
  4. from setuptools import find_packages, setup
  5. from setuptools.command.test import test
  6. class PyTest(test):
  7. """PyTest test runner."""
  8. def run_tests(self) -> None:
  9. """Run tests."""
  10. import pytest
  11. sys.exit(pytest.main(['tests']))
  12. with open('yandex_music/__init__.py', encoding='UTF-8') as f:
  13. version = re.findall(r"__version__ = '(.+)'", f.read())[0]
  14. with open('README.md', 'r', encoding='UTF-8') as f:
  15. readme = f.read()
  16. setup(
  17. name='yandex-music',
  18. version=version,
  19. author='Ilya (Marshal)',
  20. author_email='ilya@marshal.dev',
  21. license='LGPLv3',
  22. url='https://github.com/MarshalX/yandex-music-api/',
  23. keywords='python yandex music api wrapper library client питон пайтон '
  24. 'яндекс музыка апи обёртка библиотека клиент',
  25. description='Неофициальная Python библиотека для работы с API сервиса Яндекс.Музыка.',
  26. long_description=readme,
  27. long_description_content_type='text/markdown',
  28. packages=find_packages(),
  29. install_requires=['requests[socks]', 'aiohttp', 'aiofiles', 'typing-extensions'],
  30. include_package_data=True,
  31. classifiers=[
  32. 'Development Status :: 5 - Production/Stable',
  33. 'Natural Language :: Russian',
  34. 'Intended Audience :: Developers',
  35. 'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)',
  36. 'Operating System :: OS Independent',
  37. 'Topic :: Internet',
  38. 'Topic :: Multimedia :: Sound/Audio',
  39. 'Topic :: Software Development :: Libraries',
  40. 'Topic :: Software Development :: Libraries :: Python Modules',
  41. 'Topic :: Software Development :: Libraries :: Application Frameworks',
  42. 'Programming Language :: Python',
  43. 'Programming Language :: Python :: 3.8',
  44. 'Programming Language :: Python :: 3.9',
  45. 'Programming Language :: Python :: 3.10',
  46. 'Programming Language :: Python :: 3.11',
  47. 'Programming Language :: Python :: 3.12',
  48. 'Programming Language :: Python :: Implementation',
  49. 'Programming Language :: Python :: Implementation :: CPython',
  50. 'Programming Language :: Python :: Implementation :: PyPy',
  51. ],
  52. python_requires='~=3.8',
  53. cmdclass={'test': PyTest},
  54. tests_require=['pytest'],
  55. project_urls={
  56. 'Documentation': 'https://yandex-music.rtfd.io',
  57. 'Changes': 'https://github.com/MarshalX/yandex-music-api/blob/main/CHANGES.md',
  58. 'Tracker': 'https://github.com/MarshalX/yandex-music-api/issues',
  59. 'Telegram chat': 'https://t.me/yandex_music_api',
  60. 'Codecov': 'https://codecov.io/gh/MarshalX/yandex-music-api',
  61. 'Codacy': 'https://app.codacy.com/gh/MarshalX/yandex-music-api',
  62. },
  63. )