Repo hardening: fix install instructions, dead imports, hygiene#1
Open
cognis-digital wants to merge 5 commits into
Open
Repo hardening: fix install instructions, dead imports, hygiene#1cognis-digital wants to merge 5 commits into
cognis-digital wants to merge 5 commits into
Conversation
- fix 2 broken `pip install` line(s) in README (package is not on PyPI; use the working git+https install) - remove 4 unused import(s) (ruff F401/F811)
4e4aaba to
b3b67d7
Compare
…-06-13) - README install instructions point at the working git+https path - ran the actual audit: 17 tests passed, 0 parse errors, CLI C:\Python314\python.exe: No module named https - embedded results in README ## Verification and AUDIT.md
- Insert "What is this?" layman section in README.md explaining the tool in plain language for non-technical users - Insert comprehensive "Install" section in README.md with all install methods - Add install.sh (bash/POSIX) and install.ps1 (PowerShell) cross-platform install scripts covering pipx, uv, pip, and source install - Add layman.md with the plain-language description
- core.py: add TOOL_NAME/TOOL_VERSION constants so __init__ imports them cleanly instead of silently falling back; add scan() and to_json() convenience wrappers (fixes broken mcp_server import); validate loiter_min_points >= 2, loiter_radius_nm > 0, loiter_min_turn_deg > 0 in analyze(); clamp haversine asin argument to [0,1] to prevent domain errors at identical/antipodal coordinates; guard parse_csv against an empty path string. - cli.py: validate --loiter-points/--loiter-radius/--loiter-turn before opening the feed file; wrap analyze() call to catch ValueError and return exit code 1 with a clear message. - __init__.py: replace silent wildcard + bare-except import block with explicit named imports so import failures are visible. - tests/test_hardening.py: 20 new tests covering empty input, haversine edge cases, analyze() parameter validation, CLI flag validation, parse_csv error paths, and the scan()/to_json() wrappers.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR applies a few small, mechanically-verified hardening fixes found by an automated audit of the Cognis suite:
pip installline(s) in README (package is not on PyPI; use the working git+https install)Each change is deterministic; all touched Python files were confirmed to still compile (
py_compile) before this PR was opened.