Files
aci/pyproject.toml

91 lines
2.1 KiB
TOML

[tool.poetry]
name = "hanzo-aci"
version = "1.0.0"
description = "An Agent-Computer Interface (ACI) designed for software development agents Hanzo."
authors = ["Hanzo"]
license = "MIT"
readme = "README.md"
packages = [
{ include = "hanzo_aci/**/*" }
]
[tool.poetry.scripts]
hanzo-dev = "hanzo_aci.cli:main"
hanzo-dev-server = "hanzo_aci.server:run_server"
[tool.poetry.dependencies]
python = "^3.12"
gitpython = "*"
tree-sitter = "^0.24.0"
tree-sitter-language-pack = "0.7.3"
grep-ast = "^0.9.0"
flake8 = "*"
whatthepatch = "^1.0.6"
binaryornot = "^0.4.4"
cachetools = "^5.5.2"
charset-normalizer = "^3.4.1"
pydantic = "^2.11.3"
libcst = "1.5.0"
rapidfuzz = "^3.13.0"
pandas = "*"
matplotlib = "^3.10.3"
networkx = "^3.4.2"
beautifulsoup4 = ">=4.12.3"
mammoth = ">=1.8.0"
markdownify = ">=0.13.1"
pdfminer-six = ">=20240706"
puremagic = ">=1.28"
pypdf = ">=5.1.0"
python-pptx = "^1.0.2"
requests = ">=2.32.3"
youtube-transcript-api = ">=0.6.2"
pydub = "^0.25.1"
pypdf2 = "^3.0.1"
xlrd = "^2.0.1"
speechrecognition = "^3.14.1"
openpyxl = "^3.1.5"
# MCP Integration
hanzo-mcp = { path = "../mcp", develop = true }
mcp = ">=1.9.4"
fastmcp = ">=2.9.2"
# Optional dependencies for llama-index functionality
llama-index = { version = "^0.12.29", optional = true }
llama-index-core = { version = "^0.12.29", optional = true }
llama-index-retrievers-bm25 = { version = "^0.5.2", optional = true }
[tool.poetry.extras]
llama = ["llama-index", "llama-index-core", "llama-index-retrievers-bm25"]
[tool.poetry.group.dev.dependencies]
ruff = "^0.7.2"
pre-commit = "^4.0.1"
[tool.poetry.group.test.dependencies]
pytest = "^8.3.3"
psutil = "^5.9.8"
pytest-forked = "*"
[build-system]
build-backend = "poetry.core.masonry.api"
requires = [
"poetry-core",
]
[tool.autopep8]
# autopep8 fights with mypy on line length issue
ignore = [ "E501" ]
[tool.black]
# prevent black (if installed) from changing single quotes to double quotes
skip-string-normalization = true
[tool.ruff.lint]
select = ["D"]
# ignore warnings for missing docstrings
ignore = ["D1"]
[tool.ruff.lint.pydocstyle]
convention = "google"