27.1.0 package release - #86
Open
sankalps0549 wants to merge 13 commits into
Open
Conversation
* Add CLI tools and tests: cherry-pick CLI changes from njokuo/IM-11079 onto internal/release/27 Includes: src/moldflow_cli, describe/list/invoke features, JSON I/O flags, tests, and docs. * docs(cli): document --params-json, --params-json-file, --json-output and --json-file-output for invoke; note BOM leniency * chore(cli): address lint findings (imports, JSON flags, exception narrowing) and tidy tests imports * chore(cli): silence lint warnings in CLI and tests * fix(cli): ensure cli extras parsed with spaces in setup.cfg.in * fix(cli): avoid exec in tests and install wheel extras via local path * refactor(cli): split command handlers and fix docstring * fix(cli): restore invoke command body and describe registration * test(cli): register cli pytest marker * bug fixes * fixes * fixes * fix(cli): harden target resolution and structured describe output Prevent describe from silently accepting invalid chained targets, handle uninspectable signatures in JSON/YAML output without crashing, and block non-public invoke target/argument segments before Synergy instantiation. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(cli): harden chained invoke argument routing and errors Reject ambiguous repeated-step chains, accept case-insensitive multi-step prefixes, and convert nested/chained attribute failures into actionable BadParameter messages with regression tests. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(cli): harden structured output contracts and invoke routing Normalize JSON/YAML emission with consistent CLI validation errors, ensure UTF-8 stdio configuration at entrypoint, and harden invoke target/arg handling with added regression coverage for multiline JSON, case-insensitive method segments, and markup-safe structured output. Co-authored-by: Cursor <cursoragent@cursor.com> * cli hardening * cli improvements * improvements * codacy * refactor invoke * cleanliness * fixes * better correctness * improvements * hardening * improvements * improvements * improvements * improvements * refactor(cli): split invoke pipeline and harden output contracts Fix NoneType detection, guard single-step JSON wrapper unwrapping with signature awareness, remove dead introspection resolver paths, and split CLI logic into focused invoke/output modules. Add schema_version to structured describe/invoke output, reorganize CLI unit tests into focused files, update docs, and add Jenkins CLI smoke coverage. Co-authored-by: Cursor <cursoragent@cursor.com> * lint * cleaner * improvements * improvements * improvements * bug fix * improvements * coverage fixes * fix(cli): harden describe validation and invoke param normalization Convert unresolved describe targets into clean CLI validation errors and normalize invoke parameter names case-insensitively before conflict checks so duplicate mixed-case args are rejected consistently. Co-authored-by: Cursor <cursoragent@cursor.com> * lint * more improvements * cli improvements * cleaner pr * improvements * automation improvements * localisation for cli errors * fix help * fixes for cli * wrong locale directory * locale fixes * codacy * lint * better ux * format * lint * better ux * better ux * improve ux * improve ux * hide innapropriate commands * ux * dry run ux * fix cli localisation * full translations * fixes * console safety * update packages * maintainability refactor * ai review * locale * codestyle * prod changes * final * fixes * final ux cleanup * better changelog * new unit test * fix bugs * comprehensive test * lint * codacy * codacy * ascii * refactor: update cli_hidden decorator to use CLI_HIDDEN_REASON_TRANSIENT_WRAPPER_FACTORY * Refactor CLI input metadata constants and update usage across modules - Introduced new constants in `constants.py` for CLI field values, kinds, and modes to improve code readability and maintainability. - Replaced hardcoded strings with the new constants in various modules including `boundary_list.py`, `double_array.py`, `ent_list.py`, `integer_array.py`, `string_array.py`, `vector.py`, `vector_array.py`, `commands.py`, `introspection.py`, `invoke_binding.py`, `invoke_output.py`, `invoke_planning.py`, `invoke_resolution.py`, `invoke_runtime.py`, `invoke_templates.py`, `invoke_terminal.py`, and `target_resolution.py`. - Updated tests in `test_cli_basics.py` and `test_cli_describe.py` to reflect changes in error messages and outputs. * chore: add SPDX license headers to test modules and update sys.path for ROOT_DIR * feat: add next_command to structured output and enhance list command with describe metadata * feat: add max-results option to list command and enhance structured output handling refactor: improve exception handling in attribute access methods refactor: optimize public class iteration with caching test: add unit test for max-results functionality in list command chore: compile locale translations for testing * feat: update max-results validation to allow zero and reject negative values in list command * feat: implement listing functionality with filtering and human-readable output for CLI commands * Localize updated CLI help text Sync the CLI help string catalog entries with the new onboarding and structured-output wording, regenerate compiled locale assets, and keep the validated test/help polish changes ready for merge. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * refactor: improve code formatting and consistency in factories.py * Refresh CLI docs wording Update README and cli.rst so the documented discovery flow and list/describe option wording match the current CLI help and behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Translate updated CLI help strings Add updated non-English catalog translations for the revised CLI onboarding and help text so the locale catalogs stay aligned with the new English wording. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: update _is_none_annotation to use NoneType for clarity --------- Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address PR 113 follow-up comments Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address Beacode PR concerns Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add missing Python EOF newlines Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Refine static member lookup for Codacy Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address latest Beacode review comments Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Enhance CLI documentation and tests for grouped JSON parameters in chained invokes * Remove redundant case addition for probe plot JSON in moldflow-cli-eval script * Refactor Invoke-MoldflowCliCommand to use native PowerShell argument handling and simplify JSON conversion * Add new case for retrieving probe plot line data in project_live group * Enhance Moldflow CLI script to wait for result files after analysis completion and add new cases for probe plot management --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Localization fix for moldflow-cli * Linting * Review Comments * Lint fix
* Add interactive REPL shell for moldflow CLI * Tab completion fcor subcommands * Documentation updates * Review comments * Codacy mccabe fix * Beacode comment * Localization strings * Reset synergy fixes * Chorus try-except-pass fix
…#130) * [IM-9583] Add transparent_background property Made-with: Cursor * [IM-9583] Clarify PNG-only constraint in docstring Made-with: Cursor * [IM-9583] Fix black formatting Made-with: Cursor * [IM-9583] Update CHANGELOG Made-with: Cursor * [IM-9583] Trim :default: field in docstring Made-with: Cursor * [IM-9583] Revert version bump per review Made-with: Cursor
Co-authored-by: Cursor <cursoragent@cursor.com>
Bump version to 27.1.0, update CHANGELOG, and add v27.0.1 and v27.1.0 to the docs version switcher. Co-authored-by: Cursor <cursoragent@cursor.com>
Drop internal ticket links and the CLI localization fix entry, since localization ships with the new CLI in this release. Co-authored-by: Cursor <cursoragent@cursor.com>
Add missing CLI help strings to all locales, remove orphaned emit JSON entries, and fix es-ES Error translation. Co-authored-by: Cursor <cursoragent@cursor.com>
Disable ANSI styling in CLI test invocations and isolate the Windows locale fallback test from registry lookups so CI passes reliably.
Typer still emits styled help on CI even with --no-color, so compare plain text when matching option names and placeholders.
Fix import order in conftest after adding strip_ansi so pylint stays clean.
Older coverage.py releases corrupt trace data on Python 3.14, causing the coverage report to fail the 93% threshold even when all tests pass. Co-authored-by: Cursor <cursoragent@cursor.com>
sankalps0549
marked this pull request as ready for review
August 14, 2026 12:37
osinjoku
approved these changes
Aug 14, 2026
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.
Description
Public 27.1.0 release for Moldflow API on GitHub. Cherry-picks the feature commits from internal
release/27(Moldflow CLI, interactive REPL, CLI localization,transparent_backgroundonImageExportOptions) and adds release packaging updates: version bump, CHANGELOG, docs switcher, locale gap fixes, CI test fixes for colored terminal output, and coverage upgrade for Python 3.14.Fixes # (issue)
Type of change
Please delete options that are not relevant.
Checklist
Please delete options that are not relevant.
Testing
Please describe the tests that you ran to verify your changes.
Ran the full CI-equivalent suite locally on Python 3.10:
python run.py test --skip-build --keep-files --quietResults: 866 core tests and 12,776 unit tests passed; package coverage 93.38% (threshold 93%). Also verified
python run.py lint --skip-buildand localization/SPDX check scripts.CI fixes included in this branch: CLI help assertions with ANSI stripping, Windows locale fallback test mock, and
coverage==7.15.4for Python 3.14 matrix support.Additional Notes
Add any other context about the pull request here.
release/27→ Head:release-27.1.0src/moldflow_cli/, CLI unit tests, localization.pofiles,CHANGELOG.md,version.json,docs/source/_static/switcher.json,requirements.txt(coverage bump)