import os import re from typing import List from setuptools import find_packages, setup def get_version(package: str) -> str: """ Return package version as listed in `__version__` in `__init__.py`. """ path = os.path.join(package, "__init__.py") main_py = open(path, encoding="utf8").read() match = re.search("__version__ = ['\"]([^'\"]+)['\"]", main_py) if match is None: return "0.0.0" return match.group(1) def get_long_description() -> str: """ Return the README. """ return open("README.md", encoding="utf8").read() def get_install_requires() -> List[str]: """ Return each line of requirements.txt. """ return open("requirements.txt").read().splitlines() setup( name="joint-teapot", version=get_version("joint_teapot"), url="https://github.com/BoYanZh/joint-teapot", license="MIT", description="A handy tool for TAs in JI to handle stuffs through Gitea, Canvas, JOJ and Mattermost.", long_description=get_long_description(), long_description_content_type="text/markdown", author="BoYanZh", author_email="bomingzh@sjtu.edu.cn", maintainer="BoYanZh", maintainer_email="bomingzh@sjtu.edu.cn", packages=find_packages(), python_requires=">=3.6", entry_points={"console_scripts": ["joint-teapot=joint_teapot:main"]}, install_requires=get_install_requires(), )