Cybersecurity-Projects/PROJECTS/beginner/base64-tool/pyproject.toml

117 lines
2.4 KiB
TOML

# ©AngelaMos | 2026
# pyproject.toml
[project]
name = "b64tool"
version = "0.1.0"
description = "Multi-format encoding/decoding CLI with recursive layer detection for security analysis."
readme = "README.md"
requires-python = ">=3.14"
license = { text = "MIT" }
authors = [{ name = "CarterPerez-dev", email = "support@certgames.com" }]
keywords = [
"base64",
"encoding",
"decoding",
"security",
"cli",
"cybersecurity",
"forensics",
]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3.14",
"Topic :: Security",
"Topic :: Utilities",
]
dependencies = [
"typer>=0.21.1,<0.22.0",
"rich>=14.3.2,<15.0.0",
]
[project.optional-dependencies]
dev = [
"pytest>=9.0.2,<10.0.0",
"pytest-cov>=7.0.0,<8.0.0",
"hypothesis>=6.130.0,<7.0.0",
"mypy>=1.19.1,<2.0.0",
"ruff>=0.15.0,<0.16.0",
"pylint>=4.0.4,<5.0.0",
"pre-commit>=4.5.1,<5.0.0",
]
[project.urls]
Homepage = "https://github.com/CarterPerez-dev/Cybersecurity-Projects/tree/main"
Repository = "https://github.com/CarterPerez-dev/Cybersecurity-Projects/tree/main/PROJECTS/beginner/base64-tool"
Issues = "https://github.com/CarterPerez-dev/Cybersecurity-Projects/issues"
[project.scripts]
b64tool = "base64_tool.cli:app"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/base64_tool"]
[tool.ruff]
target-version = "py314"
line-length = 89
src = ["src"]
[tool.ruff.lint]
select = [
"E",
"W",
"F",
"B",
"C4",
"UP",
"ARG",
"SIM",
"PTH",
"RUF",
"S",
"N",
]
ignore = [
"E501",
"B008",
"S101",
"S104",
"S105",
"ARG001",
"N999",
"N818",
"RUF005",
]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
[tool.mypy]
python_version = "3.14"
strict = true
warn_return_any = true
warn_unused_ignores = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
[tool.pylint.main]
py-version = "3.14"
jobs = 4
persistent = true
suggestion-mode = true
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-ra -q"
filterwarnings = ["ignore::DeprecationWarning"]