import pathlib from typing import Any, List from setuptools import find_packages from setuptools import setup as _setup def get_requirements_from_file(requirements_file_name: str) -> List[str]: result = [] for line in pathlib.Path(requirements_file_name).open('r'): if line and line[0] not in ('#', '-'): result.append(line) return result def get_version_from_file(version_file_name: str = 'VERSION') -> str: with pathlib.Path(version_file_name).open('r') as fp: return fp.readline() def setup(**attrs: Any) -> None: attrs['version'] = get_version_from_file() _setup(**attrs) setup( name='am_http_client', author='DataArt', author_email='nikolay.lesnykh@dataart.com', maintainer='Nikolay Lesnykh', maintainer_email='nikolay.lesnykh@dataart.com', description='Apple Music HTTP Client', description_content_type='text/markdown', long_description_content_type='text/markdown', long_description=pathlib.Path('README.md').read_text(), classifiers=[ 'Development Status :: 4 - Beta', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Topic :: Software Development :: Build Tools', ], zip_safe=False, package_data={'am_http_client': ['py.typed']}, setup_requires=['wheel==0.31.0'], python_requires='>=3.7', packages=find_packages(exclude=['tests']), tests_require=get_requirements_from_file('requirements/pip/test.pip'), install_requires=get_requirements_from_file('requirements/pip/base.pip'), extras_require={ 'dev': get_requirements_from_file('requirements/pip/dev.pip'), }, )