sysml2kit-rf-library
A SysML v2 model library for antenna/RF systems engineering, consumed through sysml2kit.
The kit stays domain-general; this library carries the RF vocabulary:
- RFVocabulary — quantity kinds with canonical units (Frequency_GHz, Gain_dBi, EIRP_dBW, GOverT_dBK, SidelobeLevel_dB, ScanLoss_dB, LinkMargin_dB, PrimePower_W, ...).
- RFParts — part/port definitions: AntennaElement, RadiatingAperture, TRModule, Beamformer, PhasedArrayAntenna, RFFrontEnd, Modem, SatcomTerminal.
- RFRequirements — requirement definitions carrying the
metricKeyconvention, sosysml2kit.interop.extract_requirementshands them to a requirements engine (phased-array-systems, aedl) mechanically. - RFAnalyses — analysis case definitions (link budget, pattern integration, scan performance, SWaP-C rollup) that verify links point at.
- SatcomTerminal28GHz — a worked example mirroring the aedl
t3-001benchmark: a 28 GHz LEO uplink phased-array ground terminal with its full requirement set (worst-case link margin, sidelobes, independent link crosscheck, power and cost ceilings, grating-lobe margin), each satisfied by a part and verified by an analysis. - SatcomTerminalPAS — the executable example: five requirements keyed to
metrics phased-array-systems emits, with a
verificationBindingsosysml2kit verifyruns a real study and every requirement passes with margin.
Both bridges into the stack are merged: phased_array_systems.interop.sysml
(requirement sets, and the phased-array-systems verification engine) and
aedl.interop (bound-form benchmark requirements). Agents load these models
through sysml2kit's library_load MCP tool.
Install and load
pip install sysml2kit-rf-library
from sysml2kit_rf_library import load_model
from sysml2kit.interop import extract_requirements
from sysml2kit.query import trace_matrix
model = load_model("satcom-terminal-t3001")
print(trace_matrix(model).render())
for spec in extract_requirements(model):
print(spec.id, spec.metric_key, spec.op, spec.value, spec.units)
Or from the command line (paths via models_dir(), which works for pip
installs, not just a checkout):
MODELS=$(python -c 'import sysml2kit_rf_library as m; print(m.models_dir())')
sysml2kit show "$MODELS/interchange/satcom_terminal_t3001.json" --traceability
sysml2kit verify "$MODELS/interchange/satcom_terminal_pas.json" --report run.json
How the repo is organized
src/sysml2kit_rf_library/_build.py is the authoritative source: it
constructs the models with the sysml2kit builder, keeping attribute values,
units, and relationship kinds exact. The committed artifacts under
src/sysml2kit_rf_library/models/ — one .sysml file per package for humans
and other tools, plus interchange JSON with stable UUIDv5 ids — are generated
by scripts/regenerate.py, and CI fails if they drift from the build.
All content is authored fresh under Apache-2.0; nothing is copied from the EPL-2.0 OMG model libraries.
Citation
@software{hodge2026sysml2kitrflibrary,
author = {Hodge, John},
title = {sysml2kit-rf-library: SysML v2 models for antenna/RF systems engineering},
year = {2026},
url = {https://github.com/jman4162/sysml2kit-rf-library},
license = {Apache-2.0}
}
License
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 sysml2kit_rf_library-0.2.1.tar.gz.
File metadata
- Download URL: sysml2kit_rf_library-0.2.1.tar.gz
- Upload date:
- Size: 28.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5eb26961550df8e85f7c98a17237f3d676bd5c4676a5984da3bf367c3a8bc54
|
|
| MD5 |
f0ab7653f184dae5138238af628b93d0
|
|
| BLAKE2b-256 |
abad938f73c237a515efa8258889a41705512390e9029d6d2f9d87601b76767b
|
Provenance
The following attestation bundles were made for sysml2kit_rf_library-0.2.1.tar.gz:
Publisher:
release.yml on jman4162/sysml2kit-rf-library
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sysml2kit_rf_library-0.2.1.tar.gz -
Subject digest:
b5eb26961550df8e85f7c98a17237f3d676bd5c4676a5984da3bf367c3a8bc54 - Sigstore transparency entry: 2553585235
- Sigstore integration time:
-
Permalink:
jman4162/sysml2kit-rf-library@3c6bd5e00f800fef69338debd923402d05aebea9 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/jman4162
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3c6bd5e00f800fef69338debd923402d05aebea9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file sysml2kit_rf_library-0.2.1-py3-none-any.whl.
File metadata
- Download URL: sysml2kit_rf_library-0.2.1-py3-none-any.whl
- Upload date:
- Size: 34.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b42a3bfc585317780ef27c233c11419ab63e6e49ed34f0cc96eb97c9b88da20
|
|
| MD5 |
3a379e454b621aecf18626c36e16e962
|
|
| BLAKE2b-256 |
976cb91e238dcc79e79b114a61298948a59cde3023aa605c5892bf2885b4c86f
|
Provenance
The following attestation bundles were made for sysml2kit_rf_library-0.2.1-py3-none-any.whl:
Publisher:
release.yml on jman4162/sysml2kit-rf-library
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sysml2kit_rf_library-0.2.1-py3-none-any.whl -
Subject digest:
8b42a3bfc585317780ef27c233c11419ab63e6e49ed34f0cc96eb97c9b88da20 - Sigstore transparency entry: 2553585308
- Sigstore integration time:
-
Permalink:
jman4162/sysml2kit-rf-library@3c6bd5e00f800fef69338debd923402d05aebea9 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/jman4162
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3c6bd5e00f800fef69338debd923402d05aebea9 -
Trigger Event:
push
-
Statement type: