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.7.0.tar.gz (210.1 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.7.0-cp314-cp314-win_amd64.whl (854.7 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.7.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.7 MB view details)

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

momwire-0.7.0-cp314-cp314-macosx_14_0_arm64.whl (348.2 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.7.0-cp313-cp313-win_amd64.whl (829.3 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.7.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.7 MB view details)

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

momwire-0.7.0-cp313-cp313-macosx_14_0_arm64.whl (348.5 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.7.0-cp312-cp312-win_amd64.whl (829.2 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.7.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.7 MB view details)

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

momwire-0.7.0-cp312-cp312-macosx_14_0_arm64.whl (348.5 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.7.0-cp311-cp311-win_amd64.whl (824.7 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.7.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

momwire-0.7.0-cp311-cp311-macosx_14_0_arm64.whl (344.9 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.7.0-cp310-cp310-win_amd64.whl (824.1 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.7.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

momwire-0.7.0-cp310-cp310-macosx_14_0_arm64.whl (343.6 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: momwire-0.7.0.tar.gz
  • Upload date:
  • Size: 210.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for momwire-0.7.0.tar.gz
Algorithm Hash digest
SHA256 c3bc7aae695b5f3fd223989931dca919777b9146fde8790f98a7ae3da0b33f71
MD5 a39d32eb25e408f0e211f3384171555c
BLAKE2b-256 363ee1f3d6406e32abfe95f59d1044e50b346ca8b3405f1cfa5423da201f0d23

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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.7.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: momwire-0.7.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 854.7 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for momwire-0.7.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 44b8b09b373427b85454f4a3040abb1c8d1da0998c2eaef0013bca543c653b90
MD5 9f2f1e51c6622e267a17b93d384e6ced
BLAKE2b-256 4da929f0ed9b014c87ba727eabe31898bbd9fb14edba1dae875863b65b5dfd8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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.7.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for momwire-0.7.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 70a1ee1b5e97ce1a8dc5c45a98e79eaefd669fbcb9424f415c159a8554d0d16e
MD5 bfeca24df09ed2897a1920df42d3172d
BLAKE2b-256 4971217a9b389d22315ce33ca85b9dc7b0da66f961fd77863135067893bf2bd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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.7.0-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for momwire-0.7.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d29691c14faa4abe9aabe572fe154064496b2216c0db1c6f356418a90918ff6f
MD5 04b4e92695d37e0af71878206483054e
BLAKE2b-256 a6d097cabb6a11000cec999d5733f6466758857258da23e8d5ff737f5eca2c47

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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.7.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: momwire-0.7.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 829.3 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for momwire-0.7.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 af9061c002eeae6ec2a6909bb176e423120b868dd6a71009e0e1b1ed1205e30b
MD5 2a14d30677a09e71c567c15934ecac7d
BLAKE2b-256 7a4df539a7f3486dadee8a615ca6b983f93f5837dd01a9898268ab2e21f17a49

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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.7.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for momwire-0.7.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d180882ea4b63b06f492f4a0fa7cbd840da7d63bba55cb6c18fcd941b815f50d
MD5 d796aebb0ff346a7651f840036a463a0
BLAKE2b-256 dce635d83ffdd17db4d971fdfa42c5132a2ef945483a2cfd5f0292a141ec3902

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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.7.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for momwire-0.7.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1925a7c8d2504d22f774771ff9eb7ec044284666ada0bec41938633c4aa475ea
MD5 f2745ff0c65acec5d4c3745919d8a4ef
BLAKE2b-256 729ab04d3f49e47d55f79a30265a1f98288ac9a0123982f7d36b540d2b5d2bc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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.7.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: momwire-0.7.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 829.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for momwire-0.7.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5ba3a647fa4f07481a3ff83c9852aac79071b7ae23e8414413aad5c2ba0c0a8b
MD5 01ff869b143416c67fff1da2ddba49a9
BLAKE2b-256 bd74cf2b77c1167957b17aac6a557424d9643f0ce9f2fdd0b3148b8120ab053a

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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.7.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for momwire-0.7.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b1cdf3967cf48c549ee72c45708aa7327a02fb03e8cc4d2460fdec35e150bba1
MD5 7e5f93ea5ad8584931bf3fae2abb6372
BLAKE2b-256 06d9b44319649002eb61940818b77eeef4ee529ee1b732d1af2093e20184792e

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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.7.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for momwire-0.7.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 20bf9322ed84f8efbf310dd15596b51be502ab4865b09338f0b4bf964eecfb68
MD5 85bf402d4214943eb9b46df00db75fad
BLAKE2b-256 1ceeb7ba65ee9651bed1a78a470518f013d0e89fa2d1f652fb48da6d762452d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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.7.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: momwire-0.7.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 824.7 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for momwire-0.7.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4caefd6e8bad51c345556e5922e3bbf1b775e30037be9cc723a0d48c93be6d36
MD5 d627001afdea73ce0308eaceda53c9f2
BLAKE2b-256 ec100e6bf484430faa7b998953514c184725326c531c3a5026b08b372c9429de

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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.7.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for momwire-0.7.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 944710ef0ee667cbd43f7876903308a363de1b2aa9cf8eb00b19fbf702f2d20d
MD5 2db025bc330abc6fec4c29cc03ff472f
BLAKE2b-256 cd3670aa0c33777740d8286a0be5d388810d17befe74dc412d382692e479b6e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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.7.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for momwire-0.7.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d4671922730fb305632bd061b0234fa99f1ea5c81bcc26077f3ca629e7d50360
MD5 dd3f3620b6a8ce958cc45cdc6acf8763
BLAKE2b-256 b49018832d517801482f3c7c706b7cb57aeb2f681cb73321f7571d86f0df8898

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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.7.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: momwire-0.7.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 824.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for momwire-0.7.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 94ce5a76135b6a9c6c0149630be002455a358f903b1ae3234998c560fc237411
MD5 8c42b2f86bfcf2fa6a55c557fc967571
BLAKE2b-256 1485c55fad42702058c650f855531cb10b8d4470713b68285bcff29e361c755c

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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.7.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for momwire-0.7.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 094605ec07e728082fbb32639915f3caaf8d1c35ce8bbeaaae6799ed1f0999a8
MD5 4def50138746ba70d7c801d3dba0d25c
BLAKE2b-256 92adbfd6c75e2310d791287170a007c4a604942cbb5937abefdf9b9b9f6c9792

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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.7.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for momwire-0.7.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 48d1f720b27e3bb103c07fb635a09f8be70a0d819bfe536236d0277eb5a9c9fd
MD5 b5ddb5aa7a0773eb3bd7d4d579261b13
BLAKE2b-256 642d9e5663a3a970b69e1e662cac8109d036ef1ab04b49a452b2172372a79c59

See more details on using hashes here.

Provenance

The following attestation bundles were made for momwire-0.7.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

0.19.0

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

This release

0.7.0 This release

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