TDAgent / pyproject.toml
pedrobento988's picture
ui-improvements (#17)
25f5cbc verified
[project]
name = "tdagent"
version = "0.1.0"
description = "TDA Agent implemented for huggingface hackathon."
authors = [
{ name = "Pedro Completo Bento", email = "pedrobento988@gmail.com" },
{ name = "Josep Pon Farreny", email = "ponpepo@gmail.com" },
{ name = "Miguel Rodin Rodriguez", email = "miguelrodinrodriguez@gmail.com" },
{ name = "Sofia Jeronimo dos Santos", email = "sofia.santos@siemens.com" },
{ name = "Rodrigo Dominguez Sanz", email = "rodrigo.dominguez-sanz@siemens.com" },
]
requires-python = ">=3.10,<4"
readme = "README.md"
license = ""
dependencies = [
"aiohttp>=3.12.9",
"fsspec[http]<=2025.3.0",
"gradio[mcp]~=5.31",
"huggingface-hub>=0.32.3",
"langchain-aws>=0.2.24",
"langchain-huggingface>=0.2.0",
"langchain-mcp-adapters>=0.1.1",
"langchain-openai>=0.3.19",
"langgraph>=0.4.7",
"markdown>=3.8",
"openai>=1.84.0",
]
[project.scripts]
[dependency-groups]
dev = ["mypy~=1.14", "ruff>=0.9,<1", "pre-commit~=3.4", "pip-audit>=2.9.0"]
test = [
"pytest>=7.4.4,<8",
"pytest-cov>=4.1.0,<5",
"pytest-randomly>=3.15.0,<4",
"xdoctest>=1.1.2,<2",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.uv]
package = false
default-groups = ["dev", "test"]
[tool.uv.workspace]
members = ["test"]
[tool.black]
target-version = ["py39", "py310", "py311"]
line-length = 88
[tool.isort]
profile = "black"
lines_after_imports = 2
[tool.mypy]
cache_dir = ".cache/mypy/"
ignore_missing_imports = true
no_implicit_optional = true
check_untyped_defs = true
strict_equality = true
disallow_any_generics = true
disallow_subclassing_any = true
disallow_untyped_calls = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
disallow_untyped_decorators = true
warn_redundant_casts = true
warn_unused_ignores = true
exclude = "docs/"
plugins = ["pydantic.mypy"] # ["numpy.typing.mypy_plugin"]
[[tool.mypy.overrides]]
module = "tests.*"
disallow_untyped_defs = false
disallow_incomplete_defs = false
[tool.pytest.ini_options]
cache_dir = ".cache"
testpaths = ["tests", "tda_agent"]
addopts = [
"--strict",
"-r sxX",
"--cov-report=html",
"--cov-report=term-missing:skip-covered",
"--no-cov-on-fail",
"--xdoc",
]
console_output_style = "count"
markers = ""
filterwarnings = ["ignore::DeprecationWarning"]
[tool.ruff]
cache-dir = ".cache/ruff"
exclude = [
".git",
"__pycache__",
"docs/source/conf.py",
"old",
"build",
"dist",
".venv",
"scripts",
]
line-length = 88
[tool.ruff.lint]
select = ["ALL"]
ignore = [
"D100",
"D104",
"D107",
"D401",
"EM102",
"ERA001",
"TC002",
"TC003",
"TRY003",
]
[tool.ruff.lint.flake8-quotes]
inline-quotes = "double"
[tool.ruff.lint.flake8-bugbear]
# Allow default arguments like, e.g., `data: List[str] = fastapi.Query(None)`.
extend-immutable-calls = ["typer.Argument", "typer.Option"]
[tool.ruff.lint.pep8-naming]
ignore-names = ["F", "L"]
[tool.ruff.lint.isort]
lines-after-imports = 2
[tool.ruff.lint.mccabe]
max-complexity = 18
[tool.ruff.lint.pylint]
max-args = 7
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.ruff.lint.per-file-ignores]
"*/__init__.py" = ["F401"]
"tdagent/cli/**/*.py" = ["D103", "T201"]
"tdagent/grchat.py" = ["ANN401", "FBT001"]
"tests/*.py" = ["D103", "PLR2004", "S101"]