Skip to main content

momwire

A pure-Python method-of-moments antenna simulator with optional C++ accelerators (pybind11).

Extracted from antenna_designer.

Install

python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -e .

macOS: the C++ accelerator uses Homebrew's OpenMP runtime, so brew install libomp is required — both to compile from source and to run the prebuilt Apple-Silicon wheel. The wheel deliberately does not bundle libomp (it links Homebrew's by absolute path) so that it shares a single OpenMP runtime with pynec-accel; two private copies in one process abort with OMP: Error #15 (or deadlock). Without libomp installed, the accelerator can't load and momwire warns and falls back to the slower pure-Python path. On Linux the system libgomp covers this, so no extra step is needed.

Test

pip install -e ".[test]"   # core + test deps (pytest, matplotlib, scikit-rf)
pytest tests/

The cross-validation against NEC2 (tests/test_pynec_backend.py) additionally needs PyNEC — a test-only dependency installed separately from a wheel (see below). Those tests skip cleanly when it isn't present; everything else runs without it.

Optional: PyNEC backend (test-only)

momwire can be cross-validated against NEC2 via PyNEC (the tests/test_pynec_backend.py suite); NEC2 also delivers ~5–10× faster single-frequency solves. PyNEC is a test-flow-only dependency — momwire's own solver never imports it.

Install the PyNEC wheel

Install PyNEC from the python-necpp fork's release. The wheels are self-contained — OpenBLAS is vendored (via scipy-openblas32), so no system BLAS, SWIG, or build toolchain is needed — and cover Linux + Windows on CPython 3.10–3.14:

pip install PyNEC --no-index \
    --find-links https://github.com/stevenmburns/python-necpp/releases/expanded_assets/v1.7.4-accel.1

--no-index ensures pip takes the fork's wheel rather than upstream PyNEC on PyPI (same version, but its builds are broken on current Python and it lacks the OpenBLAS/OpenMP work). After install, from PyNEC import nec_context works and the cross-validation tests run; without it they're skipped (momwire itself needs no PyNEC).

Runtime thread pinning

The wheel links OpenBLAS and parallelises the NEC2 matrix fill with OpenMP. Pick thread counts up front:

export OMP_NUM_THREADS=$(nproc --all)   # PyNEC matrix fill
export OPENBLAS_NUM_THREADS=1           # muzzle numpy/scipy's idle pool

Pinning OPENBLAS_NUM_THREADS=1 stops numpy/scipy from spinning up their own OpenBLAS thread pool that contends with PyNEC's threads on the same cores. On a 100-director Yagi (2142 segs) this is worth ~8% wall time at NP=4.

Download files

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

Source Distribution

momwire-0.19.0.tar.gz (275.4 kB view details)

Uploaded Source

Built Distributions

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

momwire-0.19.0-cp314-cp314-win_amd64.whl (912.9 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.19.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

momwire-0.19.0-cp314-cp314-macosx_14_0_arm64.whl (415.9 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.19.0-cp313-cp313-win_amd64.whl (886.9 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.19.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

momwire-0.19.0-cp313-cp313-macosx_14_0_arm64.whl (416.2 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.19.0-cp312-cp312-win_amd64.whl (886.8 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.19.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

momwire-0.19.0-cp312-cp312-macosx_14_0_arm64.whl (416.1 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.19.0-cp311-cp311-win_amd64.whl (881.8 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.19.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

momwire-0.19.0-cp311-cp311-macosx_14_0_arm64.whl (411.2 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.19.0-cp310-cp310-win_amd64.whl (881.3 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.19.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

momwire-0.19.0-cp310-cp310-macosx_14_0_arm64.whl (409.9 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

Details for the file momwire-0.19.0.tar.gz.

File metadata

  • Download URL: momwire-0.19.0.tar.gz
  • Upload date:
  • Size: 275.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for momwire-0.19.0.tar.gz
Algorithm Hash digest
SHA256 b4fdbe17649e0c7d5eb5200f596755f45faccec7128b7a28d1a5d935b42ceaff
MD5 1d3881103a7b8aa5e6705bc185db5221
BLAKE2b-256 f6ed8520efcf0888b5af85ca43a4b7ae7d82f4de398e309b638ac5bc9bca416c

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0.tar.gz:

Publisher: wheels.yml on stevenmburns/momwire

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

File details

Details for the file momwire-0.19.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: momwire-0.19.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 912.9 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for momwire-0.19.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 4b97d867b09023104fbd8a83e97a7ace819b8af0325f5abf404923070c440c9e
MD5 129fe55e53559c237a3c3b85b03cc8b9
BLAKE2b-256 ca519ca4bcd64b1f2ad7d9732053d77745208c85fae2a7e6c810f8486f3c52fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0-cp314-cp314-win_amd64.whl:

Publisher: wheels.yml on stevenmburns/momwire

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

File details

Details for the file momwire-0.19.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for momwire-0.19.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6366c1c0158ac622d410c3516da015d8d521dcf1bbcd769a6fed8828f8442840
MD5 294c17231d4abf7b5c3e2e36b5c207cc
BLAKE2b-256 632f8931d9b854b7dbf793ccdcd01d7dd19ac9649eb4c91e50df1831281f9e40

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on stevenmburns/momwire

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

File details

Details for the file momwire-0.19.0-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for momwire-0.19.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 abc571cd1f7835a55598e315dc148a43e75e5f87ccffc30cad6f75543f0b2d7a
MD5 11eb2c2bb59f11aca191350aa09f86a4
BLAKE2b-256 961e8282ebcc7e02f147aae4b61316a09ac8091981c93244b9e2f0017ad984bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0-cp314-cp314-macosx_14_0_arm64.whl:

Publisher: wheels.yml on stevenmburns/momwire

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

File details

Details for the file momwire-0.19.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: momwire-0.19.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 886.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for momwire-0.19.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1848865fda9d2db9648cfefb6fee8fb8c80ea26ada5202e98713f6d66a0f4211
MD5 d2454b0728e175a9ac1b6d643ad1d868
BLAKE2b-256 aec0e51c426e3fcf5e278744eb4e82ae34250bfd0887551a2cd2f3bf0697a179

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on stevenmburns/momwire

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

File details

Details for the file momwire-0.19.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for momwire-0.19.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 be751cf4720ca56d6ff529fc7061b59bea5ec70fbc4371fcefbc6811231868fe
MD5 d4746bd78e02c4f8a27304298f7c9eab
BLAKE2b-256 2093a09f030b00817ae464a51b386e9f40a783be58dda862311163582a10dd29

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on stevenmburns/momwire

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

File details

Details for the file momwire-0.19.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for momwire-0.19.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 19ebfdb43cacaf5947890e31dc5553bc72dc9d24a266f90ac4a63ef152b88139
MD5 885928fd2e8826a575e192287c41f567
BLAKE2b-256 19d678896ff131c37aed53ca60b72ab7c3afe1b70c1a53538d1b5d4023960d97

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: wheels.yml on stevenmburns/momwire

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

File details

Details for the file momwire-0.19.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: momwire-0.19.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 886.8 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for momwire-0.19.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 248214bd9035f272d552a8576ce47f7b3b0ef0cdcd730943423750c969ba85ed
MD5 35cd048473623bccf0a481e22d9fdefa
BLAKE2b-256 133ffb704ff9f47c3cee78b61049de4600c1aa216325deef3e69f10263ec4fcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on stevenmburns/momwire

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

File details

Details for the file momwire-0.19.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for momwire-0.19.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 44c66ecb480bcf5ada647337dd52d17f97b53060c2e4e2d030b90a316a294d3e
MD5 ba5820f188218a39312b6ec54f41bf44
BLAKE2b-256 081ad634271e6a23ee29420e46a9acd8f668347425b53e6a85cbaedb4a6badb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on stevenmburns/momwire

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

File details

Details for the file momwire-0.19.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for momwire-0.19.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a5a56c5fcc86fa8f1722c7c4d4fce8776640ece5b91703e8a78c8a049805a175
MD5 1e88ba6d079127ecbfb474d81b53b7d3
BLAKE2b-256 8c434582e2d4d0aee3a8c7491904e5347b86366156e7b136cea27e36bf765232

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: wheels.yml on stevenmburns/momwire

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

File details

Details for the file momwire-0.19.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: momwire-0.19.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 881.8 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for momwire-0.19.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 99b678a27a36d1ab7a77ec145bfe51f53d741d9464638941b3e89d4ee1958056
MD5 4f734a15d88b48b49f16397733ee3cec
BLAKE2b-256 86bd1c58322bf7d3e173359a52cdca665ed3d59b81a37878702994f78f64e764

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on stevenmburns/momwire

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

File details

Details for the file momwire-0.19.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for momwire-0.19.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f16deba10613a7c853db615e97e89788a1f4516b9d3c8fbc90c573115a7ea72f
MD5 5f50a9c1003ad3d62c7f48ae50425d4c
BLAKE2b-256 def58d96ecf8cda82db4a68294f3a26186a0bcae494eb1fe06650cab4cc0a564

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on stevenmburns/momwire

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

File details

Details for the file momwire-0.19.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for momwire-0.19.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ab754bebf5fbadeb8e005ffe7250526a8afc6f878087c75e3c19061cb2da0a5b
MD5 8f149f42c658759ed52f789142a38c82
BLAKE2b-256 12bad588d156dee95a1eb11012ef63ac1fdeb7c75fde967ee42efb47b046bbbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: wheels.yml on stevenmburns/momwire

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

File details

Details for the file momwire-0.19.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: momwire-0.19.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 881.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for momwire-0.19.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 24b6a30f5e8aff4462ae44be17660b96e460750b0e732186c4c28a06fa2c0db0
MD5 6952388a17fd7b0dea6e666e6e211aa5
BLAKE2b-256 db7435a63d3172b074e073f65b8c6a7dc930aea28ad7961a9c3a01accfe21d79

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on stevenmburns/momwire

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

File details

Details for the file momwire-0.19.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for momwire-0.19.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d8ed04634a80d19a78f33bfb3ab0bc81787a0ecc63e6af41b8ac3cd34069d637
MD5 1a9810053dbb1f71d5109d823348dc3f
BLAKE2b-256 ceb6a22d2f3cafb1b79468a7a4665ad034cbe0f001bc058c6f89e4ede0d421bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on stevenmburns/momwire

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

File details

Details for the file momwire-0.19.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for momwire-0.19.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f6a9f0e983eaad0c113bc954b222d20a7b4c9a8ed53483852be3796f22fa00d5
MD5 f578b42681ec2456d8c27c0a9ea14bba
BLAKE2b-256 55ceb721ed8b21d599a6427306bb97d76a062d34e0ce6d4f25de5fab8ce94fc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.19.0-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: wheels.yml on stevenmburns/momwire

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.50.0

19 files

0.49.0

19 files

0.48.0

19 files

0.47.0

19 files

0.46.0

16 files

0.45.0

16 files

0.44.0

16 files

0.43.0

16 files

0.42.0

16 files

0.41.0

16 files

0.40.0

16 files

0.39.0

16 files

0.38.0

16 files

0.37.0

16 files

0.36.1

16 files

0.36.0

16 files

0.35.1

16 files

0.35.0

16 files

0.34.0

16 files

0.33.0

16 files

0.32.0

16 files

0.31.0

16 files

0.30.0

16 files

0.29.0

16 files

0.28.1

16 files

0.28.0

16 files

0.27.0

16 files

0.26.0

16 files

0.25.0

16 files

0.24.0

16 files

0.23.0

16 files

0.22.0

16 files

0.21.0

16 files

0.20.0

16 files

This release

0.19.0 This release

16 files

0.18.0

16 files

0.17.0

16 files

0.16.0

16 files

0.15.0

16 files

0.14.0

16 files

0.13.0

16 files

0.12.0

16 files

0.11.0

16 files

0.10.0

16 files

0.9.0

16 files

0.8.0

16 files

0.7.0

16 files

0.6.0

16 files

0.5.0

16 files

0.4.1

16 files

0.4.0

16 files

0.3.0

16 files

0.2.3

16 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