feat: collector tracer bullet (#21)\n\nSmartctl acquisition with validation\nSysfs controller identity acquisition\nIdentity normalization (strip, no case fold, blank handling)\nSQLite store in WAL mode with six entities\nSchema versioning via PRAGMA user_version\nInvariant validation (negative bytes, etc.)\n17 passing tests across two test files\n\nCloses #21

This commit is contained in:
xavierk
2026-09-01 22:33:26 +05:30
parent 566d1c81b1
commit 2217b00ff6
6 changed files with 946 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
[project]
name = "fenris"
version = "0.3.0"
description = "NVMe wear monitor with persistent TUI"
requires-python = ">=3.9"
dependencies = [
"textual>=0.40.0",
]
[project.optional-dependencies]
dev = [
"pytest>=7.0.0",
"pytest-cov>=4.0.0",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_functions = ["test_*"]
markers = [
"slow: marks tests as slow",
]