[project]
name = "aitools"
version = "1.0.0"
description = "定制工具平台服务"
authors = ["iflytek"]
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
    "fastapi>=0.110.2",
    "requests>=2.31.0",
    "loguru==0.7.2",
    "python-multipart>=0.0.9",
    "pydantic==2.9.2",
    "openai>=1.40.6",
    "aiohttp>=3.10.5",
    "pymupdf>=1.24.10",
    "pytest>=8.3.3",
    "pillow>=10.3.0",
    "feedparser>=6.0.11",
    "websocket-client==1.8.0",
    "python-docx>=1.1.2",
    "openpyxl>=3.1.5",
    "beautifulsoup4>=4.12.3",
    "lxml>=5.3.0",
    "xlrd>=1.2.0",
    "websockets>=12.0",
    "mcp==1.6.0",
    "exceptiongroup>=1.3.0",
    "psycopg2-binary>=2.9.10",
    "records>=0.6.0",
    "sqlglot>=26.24.0",
    "pymysql>=1.1.1",
    "oracledb>=3.1.1",
    "pymssql>=2.3.4",
    "requests-toolbelt>=1.0.0",
    "pydub>=0.25.1",
    "sqlmodel>=0.0.25",
    "opentelemetry-api==1.25.0",
    "opentelemetry-exporter-otlp-proto-grpc==1.25.0",
    "opentelemetry-proto==1.25.0",
    "opentelemetry-sdk==1.25.0",
    "opentelemetry-semantic-conventions==0.46b0",
    "opentelemetry-exporter-opencensus==0.46b0",
    "opentelemetry-exporter-otlp==1.25.0",
    "grpc-google-iam-v1==0.12.6",
    "googleapis-common-protos==1.60.0",
    "python-dotenv==1.0.1",
    "pydantic-settings==2.10.1",
    "toml>=0.10.2",
    "redis==3.5.3",
    "redis-py-cluster==2.1.3",
    "confluent-kafka>=2.12.0",
    "botocore>=1.40.53",
    "boto3>=1.40.53",
    "anyio>=4.10.0",
    "pytest-asyncio>=1.2.0",
    "aiokafka>=0.13.0",
]

[dependency-groups]
dev = [
    "black>=26.1.0",
    "flake8>=7.3.0",
    "isort>=8.0.0",
    "mypy>=1.19.1",
    "pylint>=4.0.5",
    "pytest>=8.4.2",
    "pytest-cov>=7.0.0",
]
