from textwrap import dedent

from setuptools import find_packages, setup


长描述 = dedent(
    """
    ZFX 是一个以中文函数命名为核心风格的 Python 多功能工具包，强调“按功能分组、开箱即用、尽量直接调用”。

    适用场景：
    - 日常脚本编写
    - 数据整理与文本处理
    - 文件与目录批量操作
    - 时间日期计算
    - 系统、进程、线程辅助
    - 网络请求与网页内容提取
    - 邮件、数据库、浏览器自动化等常见任务

    当前已覆盖的主要模块分类：
    - 基础数据：列表、元组、字典、类型转换、数学、常量
    - 文本相关：文本处理、文本文件、编码、json、html
    - 文件系统：文件、目录、配置文件
    - 时间日期：时间
    - 系统相关：系统、进程、多线程、多进程
    - 网络相关：http、网页协议、公共API
    - 自动化相关：playwright、谷歌填表
    - 数据与通信：mysqlx、邮件IMAP、邮件POP3

    模块特点：
    - 使用中文命名，适合中文语境下快速查找和调用
    - 大量功能按“一个函数一个文件”的方式组织，分类清晰
    - 同时覆盖基础工具、系统辅助、网络处理与自动化场景
    - 适合作为个人脚本库、自动化工具箱或教学示例库使用

    使用说明：
    - 建议在 IDE 中按名称排序查看模块，这样分类会更清晰
    - 部分功能依赖第三方库支持；如果只使用部分子模块，可以按需安装相关依赖

    免责声明：
    本模块按“原样”提供，作者不对因使用本模块产生的任何直接或间接损失承担责任。
    请在理解相关功能用途与运行风险的前提下自行评估并使用。
    """
).strip()


setup(
    name="zfx",
    version="2.0.119",
    packages=find_packages(),
    include_package_data=False,
    author="zengfengxiang",
    author_email="424491679@qq.com",
    description=(
        "ZFX 是一个中文命名的 Python 多功能工具包，覆盖文本、时间、文件、"
        "目录、系统、进程、网络请求、网页提取、数据库、邮件与自动化等常见场景。"
    ),
    long_description=长描述,
    long_description_content_type="text/plain",
    url="",
    keywords=[
        "zfx",
        "python",
        "工具包",
        "中文函数",
        "文本处理",
        "文件处理",
        "系统工具",
        "自动化",
        "网络请求",
    ],
    install_requires=[
        "selenium",  # 用于支持库：谷歌填表
        "pyotp",  # 用于支持库：谷歌填表
        "pymysql",  # 用于支持库：mysqlx
        "pyinstaller",  # 用于支持库：文件（封装 EXE）
        "pyperclip",  # 用于支持库：系统（剪贴板）
        "requests",  # 用于支持库：http、网页协议、公共API、系统
        "psutil",  # 用于支持库：进程
        "beautifulsoup4",  # 用于支持库：html
        "playwright",  # 用于支持库：playwright
    ],
)
