Releases: Funz/fz
Releases · Funz/fz
fz 1.1
CLI argument aliases (README forms now work)
- Input/output paths can be passed positionally:
fzi input.txt -m mymodel. - New flag aliases matching the documented forms:
--variables(=--input_variables),
--calculator(=--calculators, now repeatable),--results(=--results_dir),
--output(=--output_dir). - Inline model definition without
--model:--varprefix,--formulaprefix,--delim,
--commentline,--interpreter, and repeatable--output-cmd NAME=COMMAND. When
combined with--model, the inline flags override the loaded model definition. - All canonical flags and short options are unchanged;
--modelis no longer required
(defaults: varprefix$, formulaprefix@, delim{}, commentline#).
Calculator discovery fixes
fzdwithcalculatorsomitted now auto-discovers installed calculator aliases bound
to the model id, exactly likefzr. Previously it resolved calculators before reading
the model id, producing an emptysh://command and failing every case.fzr(and thus--calculators <alias>on the CLI) now accepts calculator dicts; bare
alias names resolved from.fz/calculators/were previously rejected with a TypeError.fzddocstring corrected:analysis_dirdefaults to"analysis"(the CLI uses
results_fzd).
Directory-tree inputs reach the calculator intact
- Per-case staging now copies subdirectories recursively in both directions
(compiled inputs → run dir, and run outputs → results dir). Previously only top-level
files were copied, so any code whose input is a directory tree (e.g. an OpenFOAM case
withsystem/,constant/,0/) ran without its subdirectories and any output written
into a subdirectory never reached the output parser. Added a regression test that runs a
case with an input subdirectory and an output subdirectory.
fzd CLI execution fix
- The
fzdcommand and thefz designsubcommand were unusable: both passed
results_dir=and the algorithm options as**kwargsto corefzd(), which accepts
analysis_dirandalgorithm_optionsinstead — so every invocation failed immediately
withTypeError: fzd() got an unexpected keyword argument 'results_dir'. Both call
sites now map to the correct parameters. Added regression tests that exercise thefzd
CLI and thefz designsubcommand (only the Python API was covered before, which is why
this shipped).
fzd input-flag aliases (consistency with fzi/fzc/fzr)
fzdandfz designnow accept--input_path(alias of--input_dir) and
--input_variables/--variables(aliases of--input_vars), so the input flags read
the same across all commands. The original--input_dir/--input_varsand-i/-v
still work. (fzdstill has no--format: it prints a convergence summary and writes
the design/analysis under--results_dir.)
CLI hardening for scripting and AI agents
- Log messages (
FZ_LOG_LEVEL) and progress output now go to stderr instead of
stdout, sofzr ... --format json > results.jsonproduces clean, parseable data. - The progress bar/spinner now writes to stderr and is automatically disabled when
stderr is not a TTY (piped or redirected output), in addition to CI environments. fzrnow exits with code 1 when no case succeeded (all caseserror/failed/
interrupted), so shell scripts can detect total failure without parsing output.
Partial success still exits 0; per-case status remains in thestatuscolumn.
Documentation
- Two worked skill examples in
skills/examples/: a Newton-cooling calibration (reuse the
Modelica wrapper + brent algorithm) and an OpenFOAM dam-break random-sampling study
(author the wrapper and the algorithm from scratch). The latter is validated end to end
against OpenFOAM v2412. - Skill guidance hardened from running those examples: model-vs-calculator distinction,
directory-tree (case-based) codes, locale-safe (LC_ALL=C) output parsing, runner-script
invocation gotchas, thefzdflag divergence, and a common-failures table. - New Agent Skill in
skills/fz/for AI coding agents (Claude Code and compatible),
with a condensed API/CLI reference, fzd algorithm guide, and code-wrapper guide
(code-wrapper.md). - The repo is now a Claude Code plugin marketplace (
.claude-plugin/): install the skill
from inside Claude Code with/plugin marketplace add Funz/fz+/plugin install fz@funz. - New
llms.txtdocumentation index andCLAUDE.mdcontributor guide.
fz 1.0
First stable release of funz-fz, the parametric scientific computing framework.
What's new
- Complete parametric study engine:
fzl,fzi,fzc,fzo,fzr,fzd - Iterative Design of Experiments with adaptive algorithms (Brent, BFGS, random sampling, Monte Carlo)
- Smart caching via
cache://calculator - SSH, SLURM, Funz remote calculators
- Full CLI with JSON/CSV/Markdown/HTML output formats
- Jupyter notebook examples (see examples/ or
)
Install
pip install funz-fz
Version 0.9.1
Cleanup-sanitize-doc-andmore (#60) * sanitize code * up version (0.9.1) * some more code sanitize * add fzl and update * update doc , context --------- Co-authored-by: yannrichet <richetyann@gmail.com>
Version 0.9
Merge pull request #37 from Funz/practice-0.9-fixes Practice 0.9 fixes
Version 0.8
0.8.0 ensure no mixing tmp dir in remote calcs