LEAM
LEAM is an open-source research toolkit for LLM-enabled antenna modeling. It is
the public codebase accompanying the paper
Large Language Model-Based Intelligent Antenna Design System
and focuses on the workflow layer between antenna intent and simulator-facing
artifacts for CST and HFSS.
LEAM provides:
- CST-oriented prompt and VBA generation tools
- HFSS-oriented prompt and PyAEDT script generation tools
- A Windows desktop workflow UI for step-by-step, human-in-the-loop modeling
LEAM is designed for research demonstration, transparent workflow inspection, and practical antenna engineering support. It does not bundle CST, HFSS, or AEDT, and it does not replace simulator validation or engineering review.
Quick Start
LEAM Desktop currently targets Windows with Python 3.11.
You need:
- Windows
- Python 3.11
- an OpenAI API key
- at least one local simulator install:
- CST Studio Suite for CST workflows
- Ansys Electronics Desktop for HFSS workflows
Normal desktop path:
- no virtual environment
- no separate
leam-configurestep - no manual CST/HFSS path setup unless auto-detection fails
Open PowerShell and run:
pip install leam
$env:OPENAI_API_KEY = "your_api_key_here"
leam-desktop
pip install leam now includes the desktop UI and the HFSS Python dependency
in the base package.
If you prefer the shortest mental model, the setup is:
- Install
leam - Set
OPENAI_API_KEY - Start
leam-desktop
If your machine has multiple Python versions installed, use:
py -3.11 -m pip install leam
If leam-desktop is not on your PATH yet, use:
py -3.11 -m leam.desktop
If you add OPENAI_API_KEY through the Windows "Environment Variables"
settings instead, close and reopen PowerShell and LEAM Desktop so the new value
is picked up.
What LEAM Checks On Startup
When leam-desktop starts, LEAM:
- reads configuration from
LEAM_CONFIG, if set, otherwise from the default user config file, typically~/.leam/config.json - auto-detects local CST and HFSS installs and saves detected paths when needed
- does not create an empty config file when no local simulator install is detected
- bootstraps the CST Python libraries automatically from the resolved local CST install
- checks whether HFSS Python support is available through
ansys.aedt.core - keeps local simulator execution disabled by default through
allow_unsafe_execution: false
You do not need to run leam-configure before the first desktop launch.
If Launch Is Blocked
LEAM Desktop requires at least one usable local backend before you can create or open a workspace.
If startup is blocked:
-
Confirm that CST Studio Suite or Ansys Electronics Desktop is installed locally.
-
If HFSS is installed but Python support is missing, rerun:
pip install leam
-
Restart LEAM Desktop.
-
If your simulator is installed in a non-standard location, pin the exact CST/HFSS path in
~/.leam/config.jsonor useleam-configureas an advanced fallback.
Desktop Workflow
LEAM Desktop is a workspace-based tool:
- workspaces are stored under the user LEAM workspace root, typically
~/.leam/workspaces - recent-workspace metadata is stored under the user LEAM data directory,
typically
~/.leam - missing backends are disabled in the UI
- if neither backend is available, the launchpad blocks entry into the workspace flow
- new workspaces and built-in examples include the execution branch by default, but actual CST/HFSS execution stays blocked unless you explicitly enable unsafe execution
Runtime execution remains intentionally separate from generation. LEAM can generate CST VBA or HFSS Python artifacts without running them locally.
To enable local execution for one PowerShell session:
$env:LEAM_ALLOW_UNSAFE_EXECUTION=1
Keep execution enabled only when you trust the prompts, attachments, and generated artifacts involved in the run.
Advanced Setup
Most users can skip this section.
leam-configure is still available for advanced and troubleshooting workflows.
Use it only when normal desktop startup still cannot detect the simulator you
already installed, or when you want to manage multiple config files
explicitly.
Helpful commands:
leam-configure --dry-run
leam-configure --print-example
For pinned-version workflows, manual config editing, and multi-config setups, see the advanced setup sections in Getting Started.
Documentation
- Desktop onboarding: https://github.com/TaoWu974/LEAM/blob/main/docs/getting_started.md
- Workflow reference: https://github.com/TaoWu974/LEAM/blob/main/docs/workflow_reference.md
- Python API: https://github.com/TaoWu974/LEAM/blob/main/docs/python_api.md
Python API
If you want to use LEAM as a Python library instead of the desktop app, start with the Python API documentation.
Built-in Examples
LEAM Desktop ships built-in example presets, but not every preset is available in every installation.
- presets that only need text remain available in wheel installs
- presets that depend on repository-only assets are shown as unavailable unless those assets exist locally
If you want every example, including asset-backed ones such as the monopole demo, use the source repository checkout.
Links
- Homepage: https://github.com/TaoWu974/LEAM
- Paper: https://arxiv.org/abs/2504.18271
- Repository: https://github.com/TaoWu974/LEAM
- Documentation: https://taowu974.github.io/LEAM/
License
MIT. See LICENSE.
Citation
@inproceedings{wu2025large,
title={Large Language Model-Based Intelligent Antenna Design System},
author={Wu, Tao and Fu, Kexue and Hua, Qiang and Liu, Xinxin and Liu, Bo},
booktitle={20th European Conference on Antennas and Propagation},
year={2025},
organization={IEEE}
}
Metadata
Release files for leam 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| leam-0.3.0.tar.gz | 164.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| leam-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 334.5 kB
Release files / leam-0.3.0.tar.gz
| Download URL | leam-0.3.0.tar.gz |
|---|---|
| Size | 164.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f12fe42c0a67087ada262ce37d582c1556d091e8ca728eb412c6f7531bfced61
|
|
BLAKE2b-256 checksum How to use checksums |
9086be3974dc8dcd2b654ab7500cae2a01cc398c5514a7d6ad46720498c34141
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 17, 2026.
Transparency logRelease files / leam-0.3.0-py3-none-any.whl
| Download URL | leam-0.3.0-py3-none-any.whl |
|---|---|
| Size | 170.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
438e44a61e746a1cec86ac0d4393419f8cb91c0843caa1db09349448b966cfad
|
|
BLAKE2b-256 checksum How to use checksums |
f015a6abd9d9c18cbbd4dde83831e4e33e4c06a5a87b2c1ea0b95eaa9d658751
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 17, 2026.
Transparency log