mirror of
https://github.com/trustedsec/hate_crack.git
synced 2026-03-12 21:23:05 -07:00
- Remove 6 duplicate per-version pytest workflows (matrix build covers all) - Pin GitHub Actions to SHA hashes with version comments - Add persist-credentials: false to checkout steps - Replace mypy with ty for type checking (faster, stricter) - Pin dev deps to exact versions (ty==0.0.17, ruff==0.15.1, pytest==9.0.2, pytest-cov==7.0.0) - Remove types-* stub packages (ty doesn't need them) - Remove stale [dependency-groups] section from pyproject.toml - Update shell scripts to use set -euo pipefail - Add prek.toml for git hook management (pre-push, post-commit) - Add lint-infra.yml workflow (shellcheck + actionlint) - Fix actionlint warning: pass github.head_ref through env var - Track CLAUDE.md and .claude/ scripts in git - Update README.md and Makefile references from mypy to ty Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
88 lines
1.7 KiB
TOML
88 lines
1.7 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",
|
|
"openpyxl>=3.0.0",
|
|
"packaging>=21.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
hate_crack = "hate_crack.__main__:main"
|
|
|
|
[project.optional-dependencies]
|
|
ml = [
|
|
"torch>=2.0.0",
|
|
"transformers>=4.30.0",
|
|
"datasets>=2.14.0",
|
|
"accelerate>=1.1.0",
|
|
]
|
|
dev = [
|
|
"ty==0.0.17",
|
|
"ruff==0.15.1",
|
|
"pytest==9.0.2",
|
|
"pytest-cov==7.0.0",
|
|
]
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["hate_crack*"]
|
|
|
|
[tool.setuptools.package-data]
|
|
hate_crack = [
|
|
"config.json.example",
|
|
"hashcat-utils/**",
|
|
"princeprocessor/**",
|
|
"omen/**",
|
|
]
|
|
|
|
[tool.setuptools_scm]
|
|
version_file = "hate_crack/_version.py"
|
|
version_scheme = "no-guess-dev"
|
|
|
|
[tool.ruff]
|
|
exclude = [
|
|
"build",
|
|
"dist",
|
|
"PACK",
|
|
"hashcat-utils",
|
|
"omen",
|
|
"princeprocessor",
|
|
"wordlists",
|
|
"rules",
|
|
]
|
|
|
|
[tool.ty.src]
|
|
exclude = [
|
|
"build/",
|
|
"dist/",
|
|
"PACK/",
|
|
"wordlists/",
|
|
"HashcatRosetta/",
|
|
"hashcat-utils/",
|
|
"hate_crack/hashcat-utils/",
|
|
"hate_crack/omen/",
|
|
"hate_crack/princeprocessor/",
|
|
]
|
|
|
|
[tool.ty.rules]
|
|
# Module-level globals in main.py are assigned at runtime
|
|
unresolved-reference = "warn"
|
|
# Optional deps (torch, transformers, hashcat_rosetta) not always installed
|
|
unresolved-import = "warn"
|
|
# BeautifulSoup union types and module-level globals
|
|
unresolved-attribute = "warn"
|
|
invalid-argument-type = "warn"
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = [
|
|
"tests",
|
|
]
|