[project] name = "clawith-backend" version = "0.1.0" description = "Clawith - Enterprise Digital Employee Platform Backend" requires-python = ">=3.11" dependencies = [ "fastapi[standard]>=0.115.0", "uvicorn[standard]>=0.30.0", "sqlalchemy[asyncio]>=2.0.0", "asyncpg>=0.30.0", "alembic>=1.14.0", "redis[hiredis]>=5.0.0", "pydantic>=2.0.0", "pydantic-settings>=2.0.0", "python-jose[cryptography]>=3.3.0", "passlib[bcrypt]>=1.7.4", "python-multipart>=0.0.9", "httpx[socks]>=0.27.0", "docker>=7.0.0", "websockets>=13.0", "aiofiles>=24.0.0", "croniter>=2.0.0", "pyyaml>=6.0.0", "trafilatura>=1.12.0", "lxml>=5.0.0", "lxml-html-clean>=0.4.0", "PyNaCl>=1.5.0", "pdfplumber>=0.11.0", "python-docx>=1.1.0", "openpyxl>=3.1.0", "python-pptx>=1.0.0", "lark-oapi>=1.2.9", "dingtalk-stream>=0.17.0", "wecom-aibot-sdk-python>=0.1.4", "pycryptodome>=3.20.0", "loguru>=0.7.0", "discord.py>=2.3.0", "wuying-agentbay-sdk>=0.18.0", "pypinyin>=0.52.0", "anyascii>=0.3.2", "Pillow>=10.0.0", ] [project.optional-dependencies] teams = [ "azure-identity>=1.15.0", ] dev = [ "pytest>=8.0.0", "pytest-asyncio>=0.24.0", "httpx>=0.27.0", "ruff>=0.8.0", ] [tool.ruff] target-version = "py311" line-length = 120 [tool.pytest.ini_options] asyncio_mode = "auto" [build-system] requires = ["setuptools>=68.0", "wheel"] build-backend = "setuptools.build_meta" [tool.setuptools.packages.find] include = ["app*"]