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.0.tar.gz (27.6 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.0-py3-none-any.whl (34.0 kB view details)

Uploaded Python 3

File details

Details for the file sysml2kit_rf_library-0.2.0.tar.gz.

File metadata

  • Download URL: sysml2kit_rf_library-0.2.0.tar.gz
  • Upload date:
  • Size: 27.6 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.0.tar.gz
Algorithm Hash digest
SHA256 4172873977f3ff24a926eaa6a615f9c4835f8e5b6cd6959f3ec69f806b4bb074
MD5 83a2a1a3c34846812d5ef974d1749f6a
BLAKE2b-256 00775f1957076a7fc9044a796a861b291aba474cc9fa15458abfa7899aa4ed9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for sysml2kit_rf_library-0.2.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sysml2kit_rf_library-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f9a5fb19814bbfb46c82727a4fe20651bd13583ae2fe7997c076c0ee647ef550
MD5 340867c40abc7f6b8b62987e28f228bb
BLAKE2b-256 6bc33d1b4ac6c22279d1516f341571e787be4bc809c3ea3cb81966c5dca60f6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sysml2kit_rf_library-0.2.0-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

0.2.1

2 files

This release

0.2.0 This release

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