TDAgentTools / pyproject.toml
pedrobento988's picture
improve_ui (#12)
3e2bf63 verified
[project]
name = "tdagent"
version = "0.1.0"
description = "TDA Agent Tools 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 = [
"attackcti>=0.5.4",
"audioop-lts>=0.2.1 ; python_full_version >= '3.13'",
"black>=25.1.0",
"cachetools>=6.0.0",
"dnspython>=2.7.0",
"gradio[mcp]>=5.32.1",
"markdown>=3.8",
"python-whois>=0.9.5",
"requests>=2.32.3",
"vt-py~=0.21.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", "TRY003", "UP038"]
[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.pydocstyle]
convention = "google"
[tool.ruff.lint.per-file-ignores]
"*/__init__.py" = ["F401"]
"tdagent/cli/**/*.py" = ["D103", "T201"]
"tdagent/tools/rdap.py" = ["PLR2004"]
"tests/*.py" = ["D103", "PLR2004", "S101"]