diff --git a/.gitignore b/.gitignore index 49df1cc..0a9e218 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,6 @@ QUICKSTART_STARTUP_SCRIPT.md # OS files .DS_Store Thumbs.db + +# Robust +.git/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 077dee3..f544bc6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,4 +1,12 @@ repos: + - repo: local + hooks: + - id: shredguard-check + name: shredguard check + entry: shredguard check + language: system + types: [text] + - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.14.10 hooks: diff --git a/README.md b/README.md index d3318b2..2cbaaed 100644 --- a/README.md +++ b/README.md @@ -3,17 +3,37 @@

- Release - Downloads + + Release + + + Downloads + Coverage

- Ubuntu Tests - macOS Tests - Windows Tests - Code Quality - Jira + + ShredGuard + +

+ +

+ + Ubuntu Tests + + + macOS Tests + + + Windows Tests + + + Code Quality + + + Jira +

> [!IMPORTANT] @@ -27,6 +47,7 @@ ## Project Structure + ``` src/voxkit/ ├── gui/ # PyQt6 interface (pages, components, workers) diff --git a/pyproject.toml b/pyproject.toml index 536b08e..fe5d70d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,6 +44,7 @@ dev = [ "types-PyYAML>=6.0.0", "genbadge[coverage]>=1.1.3", "invoke>=2.2.0", + "shred-guard>=1.1.0", ] docs = [ "pdoc>=16.0.0", @@ -204,3 +205,13 @@ where = ["src"] [tool.uv.sources] alignment-comparison-plots = { git = "https://github.com/WISCLab/alignment-comparison-plots" } + +[tool.shredguard] + +[[tool.shredguard.patterns]] +regex = "\\b\\d{10}\\b|\\b\\d{3}[-.\\s]?\\d{3}[-.\\s]?\\d{4}\\b" +description = "Phone numbers (10 digits)" + +[[tool.shredguard.patterns]] +regex = "\\d{3,5}_[MF]_+" +description = "Patient ID" diff --git a/uv.lock b/uv.lock index 35f12a1..c71caec 100644 --- a/uv.lock +++ b/uv.lock @@ -2995,6 +2995,7 @@ dev = [ { name = "pytest-cov" }, { name = "pytest-qt" }, { name = "ruff" }, + { name = "shred-guard" }, { name = "types-pyyaml" }, ] docs = [ @@ -3035,6 +3036,7 @@ dev = [ { name = "pytest-cov", specifier = ">=7.0.0" }, { name = "pytest-qt", specifier = ">=4.4.0" }, { name = "ruff", specifier = ">=0.14.0" }, + { name = "shred-guard", specifier = ">=1.1.0" }, { name = "types-pyyaml", specifier = ">=6.0.0" }, ] docs = [{ name = "pdoc", specifier = ">=16.0.0" }] @@ -3724,6 +3726,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" }, ] +[[package]] +name = "shred-guard" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "pathspec" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bb/e7/ed7dc67ec3fb503a1f8a75f768c56c0011c8dfc35314dd014bbc97db1104/shred_guard-1.1.0.tar.gz", hash = "sha256:ef618030f7275e566ae51f071a470620656a3c6aeb48ed81d09be3d9a34cae66", size = 795302, upload-time = "2026-03-13T22:02:26.682Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/ce/26aeb40edea3f8dcbad3ba41aec82e07943fe7f3bf84a74b966fbeae0f48/shred_guard-1.1.0-py3-none-any.whl", hash = "sha256:1b4a10b335fc13ed800d2f26720373f3a4a1875985d4d889fc9e7fdc5c9b8351", size = 24311, upload-time = "2026-03-13T22:02:25.55Z" }, +] + [[package]] name = "six" version = "1.17.0"