Skip to main content

sysml2kit-rf-library

CI PyPI License Docs

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 metricKey convention, so sysml2kit.interop.extract_requirements hands 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-001 benchmark: 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 verificationBinding so sysml2kit verify runs 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

Apache-2.0. See LICENSE and NOTICE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sysml2kit_rf_library-0.2.1.tar.gz (28.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sysml2kit_rf_library-0.2.1-py3-none-any.whl (34.1 kB view details)

Uploaded Python 3

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

Hashes for sysml2kit_rf_library-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b5eb26961550df8e85f7c98a17237f3d676bd5c4676a5984da3bf367c3a8bc54
MD5 f0ab7653f184dae5138238af628b93d0
BLAKE2b-256 abad938f73c237a515efa8258889a41705512390e9029d6d2f9d87601b76767b

See more details on using hashes here.

Provenance

The following attestation bundles were made for sysml2kit_rf_library-0.2.1.tar.gz:

Publisher: release.yml on jman4162/sysml2kit-rf-library

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sysml2kit_rf_library-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for sysml2kit_rf_library-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8b42a3bfc585317780ef27c233c11419ab63e6e49ed34f0cc96eb97c9b88da20
MD5 3a379e454b621aecf18626c36e16e962
BLAKE2b-256 976cb91e238dcc79e79b114a61298948a59cde3023aa605c5892bf2885b4c86f

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page