Repository navigation
Add CSV batch mode, ruff + strict mypy, and CI - #6
Merged
Merged
Conversation
- Batch mode: fish-screen --batch FILE computes a spec per CSV row (columns mirror the CLI flags; flow_m3s or flow_cfs per row). Unknown columns are rejected so typos don't silently fall back to defaults; row errors are isolated and reported per intake; table or --json output; exit 2 if any row fails. - Quality gates: ruff (E,F,W,I,UP,B) and strict mypy, both clean. GitHub Actions workflow runs lint, type-check, and tests via uv on pushes to main and PRs. - Python floor raised 3.9 -> 3.10: 3.9 is EOL (Oct 2025) and current mypy no longer targets it. - uv.lock committed so CI installs are reproducible (closes the open tracker note). Tests 19 -> 26, all passing. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Summary
Closes the remaining Milestone PY quality/batch items (only geometries and the v0.1.0 tag remain).
fish-screen --batch FILEcomputes a spec per CSV row (columns mirror the CLI flags;flow_m3sorflow_cfsper row). Unknown columns are rejected so typos don't silently fall back to defaults; row errors are isolated and reported per intake; table or--jsonoutput; exit code 2 if any row fails.E,F,W,I,UP,B) and strict mypy, both clean; GitHub Actions runs lint → type-check → tests via uv on pushes to main and PRs.uv.lockcommitted so CI installs are reproducible (closes the open tracker note).Test plan
uv run pytest: 26/26 passing (was 19) — newtest_batch.pycovers per-row computation incl. imperial + sensitive-species rows, isolated row errors, unknown-column rejection, table/JSON CLI paths, and exit codesuv run ruff check .anduv run mypyboth clean locally; CI runs the same three gates🤖 Generated with Claude Code