| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- [build-system]
- requires = ["hatchling>=1.27,<2"]
- build-backend = "hatchling.build"
- [project]
- name = "zhifu-platform"
- version = "0.1.0"
- description = "Multi-tenant customer service platform"
- requires-python = ">=3.12,<3.13"
- dependencies = [
- "fastapi>=0.115,<1",
- "uvicorn[standard]>=0.34,<1",
- "pydantic-settings>=2.8,<3",
- "sqlalchemy[asyncio]>=2.0.39,<2.1",
- "asyncmy>=0.2.10,<0.3",
- "alembic>=1.15,<2",
- "redis>=6,<8",
- "pwdlib[argon2]>=0.3,<1",
- "httpx>=0.28,<1",
- "standardwebhooks>=1.1,<2",
- "aio-pika>=9.5,<10",
- "langgraph>=1,<2",
- "langchain-openai>=1,<2",
- "openai>=3,<4",
- "sse-starlette>=3,<4",
- "httpx-sse>=0.4,<1",
- "langmem>=0.0.30,<0.1",
- "langgraph-checkpoint-redis>=0.4,<1",
- "pymilvus>=2.6,<4",
- "langchain-text-splitters>=1,<2",
- "prometheus-client>=0.22,<1",
- "prometheus-fastapi-instrumentator>=8.1,<9",
- ]
- [dependency-groups]
- dev = ["pytest>=8.3,<10", "pytest-asyncio>=0.25,<2", "httpx>=0.28,<1", "ruff>=0.11,<1", "jsonschema>=4.23,<5", "cryptography>=46,<47", "filelock>=4,<5", "psutil>=7,<8"]
- inference = ["sentence-transformers>=5,<6", "torch>=2.11,<3"]
- [tool.uv]
- default-groups = ["dev", "inference"]
- [tool.uv.sources]
- torch = [{ index = "pytorch-cpu", marker = "sys_platform == 'linux'" }]
- [[tool.uv.index]]
- name = "pytorch-cpu"
- url = "https://download.pytorch.org/whl/cpu"
- explicit = true
- [tool.hatch.build.targets.wheel]
- packages = ["src/zhifu"]
- [tool.pytest.ini_options]
- testpaths = ["tests"]
- asyncio_mode = "auto"
- markers = ["integration: requires MySQL, Redis, RabbitMQ, OMS HTTP and Toxiproxy"]
- [tool.ruff]
- target-version = "py312"
- line-length = 100
- extend-exclude = [".work"]
- [tool.ruff.lint]
- select = ["E", "F", "I", "UP", "B", "ASYNC"]
|