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
Metadata
Release files for sysml2kit-rf-library 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sysml2kit_rf_library-0.2.1.tar.gz | 28.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sysml2kit_rf_library-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 62.6 kB
Release files / sysml2kit_rf_library-0.2.1.tar.gz
| Download URL | sysml2kit_rf_library-0.2.1.tar.gz |
|---|---|
| Size | 28.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b5eb26961550df8e85f7c98a17237f3d676bd5c4676a5984da3bf367c3a8bc54
|
|
BLAKE2b-256 checksum How to use checksums |
abad938f73c237a515efa8258889a41705512390e9029d6d2f9d87601b76767b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 21, 2026.
Transparency logRelease files / sysml2kit_rf_library-0.2.1-py3-none-any.whl
| Download URL | sysml2kit_rf_library-0.2.1-py3-none-any.whl |
|---|---|
| Size | 34.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8b42a3bfc585317780ef27c233c11419ab63e6e49ed34f0cc96eb97c9b88da20
|
|
BLAKE2b-256 checksum How to use checksums |
976cb91e238dcc79e79b114a61298948a59cde3023aa605c5892bf2885b4c86f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 21, 2026.
Transparency log