Files
hive/tools/pyproject.toml
T
hundao d558bf4f60 feat(tools): add CSV tools with DuckDB SQL support
Add comprehensive CSV manipulation tools:
- csv_read: Read CSV with pagination (limit/offset)
- csv_write: Create new CSV files
- csv_append: Append rows to existing CSV
- csv_info: Get CSV metadata (columns, row count, file size)
- csv_sql: Query CSV using SQL (powered by DuckDB)

Features:
- Session sandbox security (workspace_id, agent_id, session_id)
- DuckDB as optional dependency for SQL queries
- Security: Only SELECT queries allowed, dangerous keywords blocked
- Full Unicode support
- 45 tests covering all tools

Install SQL support: pip install tools[sql]
2026-01-26 14:23:18 +08:00

65 lines
1.3 KiB
TOML

[project]
name = "tools"
version = "0.1.0"
description = "Tools library for the Aden agent framework"
readme = "README.md"
requires-python = ">=3.11"
license = { text = "Apache-2.0" }
authors = [
{ name = "Aden", email = "team@aden.ai" }
]
keywords = ["ai", "agents", "tools", "llm"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
dependencies = [
"pydantic>=2.0.0",
"httpx>=0.27.0",
"beautifulsoup4>=4.12.0",
"pypdf>=4.0.0",
"pandas>=2.0.0",
"jsonpath-ng>=1.6.0",
"fastmcp>=2.0.0",
"diff-match-patch>=20230430",
"python-dotenv>=1.0.0",
]
[project.optional-dependencies]
dev = [
"pytest>=7.0.0",
"pytest-asyncio>=0.21.0",
]
sandbox = [
"RestrictedPython>=7.0",
]
ocr = [
"pytesseract>=0.3.10",
"pillow>=10.0.0",
]
sql = [
"duckdb>=1.0.0",
]
all = [
"RestrictedPython>=7.0",
"pytesseract>=0.3.10",
"pillow>=10.0.0",
"duckdb>=1.0.0",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/aden_tools"]
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"