|
|
[project] |
|
|
name = "tdagent" |
|
|
version = "0.1.0" |
|
|
description = "TDA Agent Tools implemented for huggingface hackathon." |
|
|
authors = [ |
|
|
{ name = "Pedro Completo Bento", email = "[email protected]" }, |
|
|
{ name = "Josep Pon Farreny", email = "[email protected]" }, |
|
|
{ name = "Miguel Rodin Rodriguez", email = "[email protected]" }, |
|
|
{ name = "Sofia Jeronimo dos Santos", email = "[email protected]" }, |
|
|
{ name = "Rodrigo Dominguez Sanz", email = "[email protected]" }, |
|
|
] |
|
|
requires-python = ">=3.10,<4" |
|
|
readme = "README.md" |
|
|
license = "" |
|
|
dependencies = ["gradio[mcp]>=5.32.1", "requests>=2.32.3"] |
|
|
|
|
|
[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"] |
|
|
|
|
|
[[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", "TRY003"] |
|
|
|
|
|
[tool.ruff.lint.flake8-quotes] |
|
|
inline-quotes = "double" |
|
|
|
|
|
[tool.ruff.lint.flake8-bugbear] |
|
|
|
|
|
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.pydocstyle] |
|
|
convention = "google" |
|
|
|
|
|
[tool.ruff.lint.per-file-ignores] |
|
|
"*/__init__.py" = ["F401"] |
|
|
"tdagent/cli/**/*.py" = ["D103", "T201"] |
|
|
"tests/*.py" = ["D103", "PLR2004", "S101"] |
|
|
|