Files
hate_crack/pyproject.toml
Justin Bollinger 399c1639db feat: auto-derive version from git tags using setuptools-scm
Replace hardcoded version with setuptools-scm so the version updates
automatically from git tags. The ASCII banner strips the dirty date
suffix but preserves the git node hash.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 21:58:17 -05:00

71 lines
1.3 KiB
TOML

[build-system]
requires = ["setuptools>=69", "setuptools-scm>=8"]
build-backend = "setuptools.build_meta"
[project]
name = "hate_crack"
dynamic = ["version"]
description = "Menu driven Python wrapper for hashcat"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
"requests>=2.31.0",
"beautifulsoup4>=4.12.0",
]
[project.scripts]
hate_crack = "hate_crack.__main__:main"
[project.optional-dependencies]
dev = [
"mypy>=1.8.0",
"ruff>=0.3.0",
"pytest>=7.0.0",
"pytest-cov>=4.0.0",
"types-requests>=2.31.0",
"types-beautifulsoup4>=4.12.0",
"types-openpyxl>=3.0.0",
]
[tool.setuptools.packages.find]
include = ["hate_crack*"]
[tool.setuptools.package-data]
hate_crack = [
"config.json.example",
"hashcat-utils/**",
"princeprocessor/**",
]
[tool.setuptools_scm]
version_file = "hate_crack/_version.py"
[tool.ruff]
exclude = [
"build",
"dist",
"PACK",
"hashcat-utils",
"princeprocessor",
"wordlists",
"rules",
]
[tool.mypy]
exclude = [
"^build/",
"^dist/",
"^PACK/",
"^wordlists/",
"^HashcatRosetta/",
"^hashcat-utils/",
"^hate_crack/hashcat-utils/",
"^hate_crack/princeprocessor/",
]
ignore_missing_imports = true
[tool.pytest.ini_options]
testpaths = [
"tests",
]