Cybersecurity-Projects/PROJECTS/beginner/dns-lookup/pyproject.toml

94 lines
2.4 KiB
TOML

[project]
name = "dnslookup-cli"
version = "0.1.1"
description = "Professional DNS lookup CLI with beautiful Rich output"
readme = "README.md"
requires-python = ">=3.13"
license = { text = "MIT" }
authors = [{ name = "CarterPerez-dev", email = "support@certgames.com" }]
keywords = ["dns", "lookup", "cli", "networking", "security"]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3.13",
"Topic :: Internet :: Name Service (DNS)",
"Topic :: System :: Networking",
"Topic :: Utilities",
]
dependencies = [
"dnspython>=2.8.0",
"rich>=14.2.0",
"typer>=0.20.0",
"python-whois>=0.9.6",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.25.0",
"pytest-cov>=6.0.0",
"ruff>=0.9.0",
"mypy>=1.15.0",
]
[project.urls]
Homepage = "https://pypi.org/project/dnslookup-cli/"
Documentation = "https://github.com/CarterPerez-dev/Cybersecurity-Projects/tree/main/PROJECTS/dns-lookup/README.md"
Repository = "https://github.com/CarterPerez-dev/Cybersecurity-Projects"
Issues = "https://github.com/CarterPerez-dev/Cybersecurity-Projects/issues"
[project.scripts]
dnslookup = "dnslookup.cli:app"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["dnslookup"]
[tool.ruff]
target-version = "py313"
line-length = 95
[tool.ruff.lint]
select = ["E", "F", "W", "B", "C4", "UP", "SIM", "I"]
ignore = ["E501"]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false
line-ending = "auto"
[tool.mypy]
python_version = "3.13"
warn_return_any = true
warn_unused_configs = true
ignore_missing_imports = true
strict_optional = true
disallow_untyped_defs = false
check_untyped_defs = true
[[tool.mypy.overrides]]
module = ["dns.*", "whois.*"]
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = ["dnslookup.resolver"]
disable_error_code = ["union-attr", "attr-defined", "arg-type"]
[tool.pylint]
ignore-paths = ["dnslookup", "tests"]
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
addopts = "-v --tb=short"