You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 7532bad
Browse filesBrowse the repository at this point in the historyBrowse files
Catch malformed public-data extracts before they enter a spreadsheet, report, or monitoring workflow.
4
6
5
7
A small Python CLI validates CSV and JSON files against an explicit data contract. It reports the record and field that failed, preserves text identifiers such as `00123`, and produces JSON or Markdown suitable for a review or CI job.
@@ -11,20 +13,31 @@ A small Python CLI validates CSV and JSON files against an explicit data contrac
11
13
Python 3.10 or newer. The application has no runtime dependencies.
The first command returns exit code **0** with three records checked and no issues. The second returns **1** and writes five issues: a negative measurement, a nonfinite number, an unsupported quality value, a duplicate station/date key, and an impossible calendar date.
38
+
These commands use the virtual environment directly; activation is optional.
39
+
40
+
The valid-data command returns exit code **0** with three records checked and no issues. The invalid-data command returns **1** and writes five issues: a negative measurement, a nonfinite number, an unsupported quality value, a duplicate station/date key, and an impossible calendar date.
28
41
29
42
See the committed [passing JSON report](examples/valid-report.json) and [failing Markdown report](examples/invalid-report.md). These examples are synthetic fixtures, not observations from an institution.
30
43
@@ -69,11 +82,7 @@ report = validate(
69
82
assert report["valid"]
70
83
```
71
84
72
-
Run tests:
73
-
74
-
```sh
75
-
python -m unittest discover -s tests -v
76
-
```
85
+
For test commands and source-only execution, see the [contributor guide](CONTRIBUTING.md).
77
86
78
87
GitHub Actions tests Windows and Linux with Python 3.10, 3.12, and 3.14. See the [workflow](.github/workflows/tests.yml). Source-only execution is also possible by adding `src` to `PYTHONPATH` and running `python -m public_data_sentinel.cli`.
79
88
@@ -86,6 +95,8 @@ GitHub Actions tests Windows and Linux with Python 3.10, 3.12, and 3.14. See the
86
95
87
96
## Contributing
88
97
98
+
A first contribution: [add TSV input](https://github.com/qorud02/public-data-sentinel/issues/2). The issue describes compatibility requirements and regression cases.
99
+
89
100
Start with the [contributor guide](CONTRIBUTING.md) for local setup, reproducible fixtures, and focused draft PRs. Check [open issues](https://github.com/qorud02/public-data-sentinel/issues) and [existing PRs](https://github.com/qorud02/public-data-sentinel/pulls) before starting.
90
101
91
102
한국어: [기여 안내](CONTRIBUTING.md)에서 실행·검증 방법을 확인하고, 열린 이슈와 PR에서 작업 범위를 조율해 주세요.
0 commit comments