Skip to content

fzr/fzc: optional input_variables + simplified variable syntax - #82

Merged
yannrichet-asnr merged 2 commits into
mainfrom
test/Scale_06082026
Aug 7, 2026
Merged

fzr/fzc: optional input_variables + simplified variable syntax#82
yannrichet-asnr merged 2 commits into
mainfrom
test/Scale_06082026

Conversation

@yannrichet-asnr

Copy link
Copy Markdown
Member

Summary

  • fzr/fzc (CLI and Python API) no longer require input_variables when the input files declare no variables (non-parametric dataset):
    • CLI: --input_variables can be omitted; if the input files do declare variables, the CLI errors out listing them instead of failing the generic "argument required" check.
    • Python: input_variables now defaults to None; call fzr(input_path, model=model, ...) (keyword model=) to omit it. If the input files declare variables and it's omitted, a ValueError names them.
  • Adds a simplified --input_variables/--input_vars syntax as an alternative to inline JSON, for fzc/fzr/fzd: --input_variables "a=1,b=[4,5,6],c=[0;1]" — scalars become int/float, bracketed comma/semicolon-separated values become a list (fzd keeps values as strings since its algorithms parse "[min;max]" themselves).

Test plan

  • pytest tests/test_cli_commands.py tests/test_cli_aliases.py tests/test_no_variables.py tests/test_skill_static.py -q — all passing
  • Manual CLI smoke tests: fzr/fzc without --input_variables on a variable-free input (succeeds) and on a variable-declaring input (clear error naming the variable)
  • Manual CLI smoke test: --input_variables "a=1,b=[4,5,6]" grid expansion via fzr
  • Full pytest tests/ suite (in progress in background at time of PR creation; unrelated to fz/outparsers.py WIP left out of this branch)

🤖 Generated with Claude Code

yannrichet-asnr and others added 2 commits August 6, 2026 18:50
…fied variable syntax

fzr/fzc (CLI and Python) no longer require input_variables when the input
files declare no variables: the CLI can omit --input_variables, and the
Python API accepts fzr(input_path, model=model, ...) without it. When the
input files do declare variables and it's omitted, a clear error lists
them instead of failing the generic "argument required" check.

Also adds a simplified --input_variables/--input_vars syntax as an
alternative to inline JSON, e.g. "a=1,b=[4,5,6],c=[0;1]", for fzc/fzr/fzd.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
SCALE (and other tools) can emit locale-encoded text (e.g. French
month names in cp1252), which crashed grep-based output extraction
with UnicodeDecodeError. read() now uses charset-normalizer to
detect the actual encoding, falling back to Latin-1 (never fails)
if detection is inconclusive.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@yannrichet-asnr
yannrichet-asnr merged commit 207dcf9 into main Aug 7, 2026
61 of 66 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant