Skip to content

[codex] Bootstrap HFSS plugin - #1

Merged
jiweiqi merged 2 commits into
mainfrom
codex/bootstrap-hfss-plugin
May 6, 2026
Merged

[codex] Bootstrap HFSS plugin#1
jiweiqi merged 2 commits into
mainfrom
codex/bootstrap-hfss-plugin

Conversation

@jiweiqi

@jiweiqi jiweiqi commented May 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Bootstrap sim-plugin-hfss as an initial Ansys HFSS 3D plugin for sim-cli, with local AEDT smoke validation completed.

This PR adds an installable plugin package with:

  • sim entry points for driver, bundled skill, and plugin metadata
  • an import-safe HfssDriver with lazy PyAEDT integration
  • layered AEDT discovery through explicit env vars, Ansys env vars, generic launchers on PATH, and conservative default install probes
  • detected install metadata with an explicit launch override when needed
  • a small runtime surface: detect, connect, run snippet/script, inspect, disconnect
  • no-AEDT unit tests plus opt-in real HFSS smoke coverage
  • a manual PyPI release workflow matching the existing plugin release pattern
  • public README, notice, changelog, and CI

Scope

Version 0.1.0 targets HFSS 3D through PyAEDT. It intentionally does not cover HFSS 3D Layout, Maxwell, Icepak, Q3D, Circuit, direct .aedt/.aedtz batch solving, or plugin-index catalogue updates before the public package is live and smoke-tested.

The driver keeps workflow specifics in agent-authored PyAEDT snippets/scripts rather than adding plugin-specific geometry, port, solve, or export methods.

Local Validation

  • uv sync --extra test passed
  • uv lock --check passed
  • uv run pytest -q --basetemp .pytest_basetemp/local passed: 34 passed, 1 skipped
  • uv build passed and produced sdist + wheel
  • uv run sim check hfss detected AEDT 2025.2 through default discovery
  • opt-in real smoke passed: SIM_HFSS_RUN_INTEGRATION=1 uv run pytest tests/test_hfss_real_smoke.py -q --basetemp .pytest_basetemp/hfss-real
  • CLI smoke passed: sim connect --solver hfss --ui-mode no_gui, inspect session.summary, inspect hfss.project.identity, inspect hfss.design.summary, bounded PyAEDT exec, and disconnect --stop-server
  • Tiny HFSS smoke evidence: design SimSmoke, solution type Eigenmode, object SimSmokeBox, setup SimSmokeSetup, setup_created=true, solve_ok=true
  • PyPI availability probe confirmed sim-plugin-hfss 0.1.0 is not already published
  • git diff --check passed

CI

GitHub Actions ci passed on commit 8c4e8cabbc06e03103fd95a6cde483d148038a70:

  • test (3.10): success
  • test (3.12): success

Notes

A PyAEDT 0.26.x startup compatibility shim is included for edition-suffixed AEDT version strings. Detailed environment-specific validation notes are tracked in the internal issue.

Still Gated

  • Merge, tag, and PyPI publish are intentionally held for human approval.
  • Fresh PyPI install smoke and sim-plugin-index addition are deferred until after the PyPI package is live.

@jiweiqi
jiweiqi marked this pull request as ready for review May 6, 2026 03:54
@jiweiqi
jiweiqi force-pushed the codex/bootstrap-hfss-plugin branch 2 times, most recently from 4f97eee to 8c4e8ca Compare May 6, 2026 04:29
@jiweiqi
jiweiqi force-pushed the codex/bootstrap-hfss-plugin branch from 8c4e8ca to eb688d7 Compare May 6, 2026 04:32
@jiweiqi
jiweiqi merged commit cdd7492 into main May 6, 2026
2 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