[build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "text2sql-agent-camel" version = "0.1.0" description = "Text-to-SQL Multi-Agent System based on CAMEL AI" readme = "README.md" requires-python = ">=3.10" license = {text = "MIT"} authors = [ {name = "Backman Team"} ] keywords = ["text2sql", "llm", "agent", "camel-ai", "deepseek"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ] dependencies = [ # CAMEL AI 核心 "camel-ai>=0.2.0", "camel-ai[all]>=0.2.0", # 包含所有扩展 # LLM API "openai>=1.0.0", # 向量数据库 "chromadb>=0.4.0", # Embedding 模型 "transformers>=4.36.0", "torch>=2.0.0", "sentencepiece>=0.1.99", "accelerate>=0.20.0", "safetensors>=0.4.0", # SQL 处理 "sqlglot>=20.0.0", "sqlparse>=0.4.0", # 配置与验证 "pydantic>=2.0.0", "pydantic-settings>=2.0.0", "python-dotenv>=1.0.0", # 工具库 "tenacity>=8.0.0", "structlog>=23.0.0", "tqdm>=4.65.0", # 中文分词(可选,用于关键词提取) "jieba>=0.42.0", "numpy>=1.24.0", ] [project.optional-dependencies] dev = [ "pytest>=7.0.0", "pytest-asyncio>=0.21.0", "pytest-cov>=4.0.0", "black>=23.0.0", "isort>=5.12.0", "mypy>=1.0.0", "ruff>=0.1.0", ] docs = [ "sphinx>=7.0.0", "sphinx-rtd-theme>=1.3.0", ] [project.scripts] text2sql = "text2sql_agent_camel.main:main" [tool.setuptools.packages.find] where = ["."] include = ["text2sql_agent_camel*"] [tool.black] line-length = 100 target-version = ["py310", "py311", "py312"] [tool.isort] profile = "black" line_length = 100 [tool.mypy] python_version = "3.10" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = false [tool.ruff] line-length = 100 target-version = "py310" [tool.ruff.lint] select = [ "E", # pycodestyle "W", # pycodestyle "F", # pyflakes "I", # isort "B", # flake8-bugbear "C4", # flake8-comprehensions "UP", # pyupgrade ] ignore = [] [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = "-v --tb=short"