Ansys HFSS driver for sim-cli, distributed as a plugin
Project description
sim-plugin-hfss
Use Codex, Claude Code, or another AI agent to work with Ansys HFSS 3D projects through sim-cli.
sim-plugin-hfss is an initial HFSS 3D driver plugin for sim-cli. It uses
PyAEDT as the Python control layer for Ansys Electronics Desktop (AEDT), keeps
the driver import-safe on machines without AEDT, and bundles an HFSS agent
skill so an agent has solver-specific workflow guidance after installation.
The HFSS/AEDT application is not bundled. See LICENSE-NOTICE.md.
Current maturity
This is an initial alpha release. It has unit coverage, protocol conformance coverage, simulated PyAEDT session coverage, packaging checks, and opt-in real HFSS smoke coverage for hosts with AEDT available.
Use it as an integration starting point, not as proof that a production HFSS workflow has been validated end to end.
Scope
Version 0.1.0 targets HFSS 3D through PyAEDT's ansys.aedt.core.hfss.Hfss
interface.
Out of scope for this first version:
- HFSS 3D Layout
- Maxwell, Icepak, Q3D, Circuit, or generic AEDT workflows
- Direct
.aedtor.aedtzbatch solve without a PyAEDT script - Plugin-index catalogue entry before the package is published and smoke-tested
What an agent can do with HFSS
- Detect PyAEDT Python scripts that instantiate HFSS.
- Check whether AEDT appears to be installed on the host.
- Start a PyAEDT-backed HFSS session in graphical or non-graphical mode when AEDT is available.
- Execute bounded Python snippets against the active
hfssobject. - Inspect session, project, and design summaries before continuing.
- Run complete PyAEDT Python scripts through
sim run --solver hfss.
Install
Install from PyPI:
uv pip install "sim-plugin-hfss==0.1.0"
For source testing against the current main branch:
uv pip install "git+https://github.com/svd-ai-lab/sim-plugin-hfss.git@main"
After installation, sim-cli should auto-discover the driver and bundled skill:
sim check hfss
sim run --solver hfss path/to/script.py
If sim check hfss reports that AEDT itself is unavailable, first confirm the
Python package installed correctly, then fix the local AEDT installation,
environment variables, or runtime prerequisites.
AEDT discovery
The driver looks for AEDT using:
SIM_HFSS_AEDT_ROOTSIM_AEDT_ROOTANSYSEM_ROOT*- AEDT launchers such as
ansysedt,ansysedt.exe, oransysedtsv.exeonPATH - conservative default Windows and Linux install roots
If AEDT is installed in a nonstandard location, set an explicit root:
$env:SIM_HFSS_AEDT_ROOT = 'C:\path\to\AnsysEM'
sim check hfss
You do not need to add AEDT to the global system PATH when default discovery
or one of the explicit environment variables works.
Common agent workflow
-
Run
sim check hfss. -
Choose GUI mode only when visual review is required; otherwise prefer non-graphical mode.
-
Connect and inspect the active project/design before mutating anything:
sim connect --solver hfss --ui-mode no_gui sim inspect session.summary sim inspect hfss.project.identity sim inspect hfss.design.summary
-
Run one bounded PyAEDT snippet at a time.
-
Inspect
last.resultand design state before solving or exporting. -
Validate engineering results from HFSS artifacts and domain criteria, not from process success alone.
Develop
git clone https://github.com/svd-ai-lab/sim-plugin-hfss
cd sim-plugin-hfss
uv sync --extra test
uv run pytest -q
uv build
The test suite is designed to pass on machines without AEDT/HFSS. Real solver smoke testing is opt-in:
SIM_HFSS_RUN_INTEGRATION=1 uv run pytest tests/test_hfss_real_smoke.py -q
On PowerShell:
$env:SIM_HFSS_RUN_INTEGRATION = '1'
uv run pytest tests/test_hfss_real_smoke.py -q
License
Apache-2.0. See LICENSE and LICENSE-NOTICE.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sim_plugin_hfss-0.1.0.tar.gz.
File metadata
- Download URL: sim_plugin_hfss-0.1.0.tar.gz
- Upload date:
- Size: 112.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3332a9305c180d1a27a47494612c3ae76d63947d5b4fd177ded8c882958783d4
|
|
| MD5 |
79e2b76b6fe2aec8e4000fb45d321fef
|
|
| BLAKE2b-256 |
f9d4f96358f8abc2289a410b4adcd33f161a52d89681604ba95af7e55287111b
|
File details
Details for the file sim_plugin_hfss-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sim_plugin_hfss-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f3d0b05bb83aa9c4375ca685c39cbf9bffb657ee891627d23f260332689c04f
|
|
| MD5 |
b9eb0ce0c88bdd4a7a2a3a3a45e5313f
|
|
| BLAKE2b-256 |
d4fb82d7fee9b7fce8a65d3abf851d1aea1c8cd83e16b012380cc43c0070d5c2
|