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.14.0.tar.gz (246.9 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.14.0-cp314-cp314-win_amd64.whl (896.1 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.14.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.14.0-cp314-cp314-macosx_14_0_arm64.whl (399.5 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.14.0-cp313-cp313-win_amd64.whl (870.1 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.14.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.14.0-cp313-cp313-macosx_14_0_arm64.whl (399.7 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.14.0-cp312-cp312-win_amd64.whl (870.1 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.14.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.14.0-cp312-cp312-macosx_14_0_arm64.whl (399.7 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.14.0-cp311-cp311-win_amd64.whl (865.1 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.14.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.14.0-cp311-cp311-macosx_14_0_arm64.whl (394.8 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.14.0-cp310-cp310-win_amd64.whl (864.6 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.14.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.14.0-cp310-cp310-macosx_14_0_arm64.whl (393.6 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for momwire-0.14.0.tar.gz
Algorithm Hash digest
SHA256 8c1d3777070236838dca0147b34265fd893e7fcd8bf31cd3e404d36ff998c5bc
MD5 c063a781f60deb14f3b9f413cdfff2fb
BLAKE2b-256 7e36663b802aaf0e85c36fd4319d1450e90f1e4c5f9aa267e040438fc56b49ac

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.14.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 896.1 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.14.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0f606d1cf754e5926fada632625b5e2d27fd9ffc614154fd64b5a6e4b76bc9db
MD5 b2a7df3545b2adddb433f3c653b400ae
BLAKE2b-256 30e8fed9572881745ec912afca36abf05b1d576d7c2119795515faacf50fcd72

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.14.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8d1da997b33ff9f3fd340aa5d22078f53c42787b48a6163a3594efa275241cf3
MD5 fc136069743cb206f35aa0bf758b5881
BLAKE2b-256 e7f3342a68d6c21c4405c03686e299169d1096a934f837ff5617e303891930df

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.14.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a9ce1f79f59fc151bc0a68f9b0ae3bbe7b2723bf2f1da833eaa35cf8aaaa9465
MD5 4d2adf168a03452e20869774e9d4c446
BLAKE2b-256 2ab9a29461ffbc01cccc54aeeb93856bfd2b22ebfe442998b8bfa9aa537d1def

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.14.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 870.1 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.14.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 903cfc4330b0e32cf5adcce6e4c594e42dbd2018c658457750534638043a9e23
MD5 1639461381ccbc02c842c89b4b8f18a4
BLAKE2b-256 fd0d7379790fcb9af1102d75500d6bed275d8e160b16dafab205bafaced068ed

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.14.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3538a6be0045ebf7d49e18c87c9ef94f7916caa149d23af6475a9fc54e329300
MD5 d97b9023b269d7abfa3b62ce958f95b5
BLAKE2b-256 bcb9a8b4961bc3f300b0e399a4a45dd82d9e7830a6ab6aa13a362554a52328be

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.14.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 bd36e966fa619430a6994b1fe1d6cdb65a9ab0038723d245724d76e5df823292
MD5 55e75b2dee004fbc1d25756b48fbcac7
BLAKE2b-256 a612bd205753e1743d56f88379ac51bb5c2ab046cd88e09529c14e56c60ec37f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.14.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 870.1 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.14.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c0c25e2917e0d00287c471f33af9ff58ae506f3e5c278b36869f57fe4f52e5ba
MD5 27053b4388ee9c560ac9ab73eea39a60
BLAKE2b-256 973356d33a99ddfc834bf19fee4d85a2ae75842ea6146db72bab46d30287648a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.14.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 32aa73f0b4959cdff017e487e9612a3b2cdce45658cff397701f2150e4aae4db
MD5 64d647f5216dcd3a7af7c2162a6db1a2
BLAKE2b-256 907755a9977aee4d5b966ed56614359186ee14bf452e4a75f455951fe0f44be5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.14.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ea0450c66dde51ba2fdb8b77ce3a9e261b58ed4ff1a174f35bb7c9f2a744e55f
MD5 fe48d0f4408233ad6b096993c02e28e6
BLAKE2b-256 175b610b4af0ba4377bfd392b717ccb2fe98405a794f778f807c2817ed10dc5e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.14.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 865.1 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.14.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cab605c9da87b2c30aba97a4b6e1b5f054bbe011051ec75498a740d7efb4d4c7
MD5 69262e2cc79c51663ae05a1d04037bf0
BLAKE2b-256 b500e4acaaea5cfc5450139b4f375c7c5ba197ad3883a4a81c62ee5cab333c10

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.14.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b3ce74e9c5a7b94860270c460bcb8548031e08df0bea9bcab0cc12d6fc73124c
MD5 1914cb60b1aa43c86c801e53b391e393
BLAKE2b-256 2acb51c03a88229c256bb034e4f05f85ca0eb7ee9af24265412452ac324a6cc2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.14.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6f05f4d32affada66f89cd34ffca4615ce29271ac5fb32ca563693654bd35e82
MD5 178a40febafcdc11056f653d056b8406
BLAKE2b-256 0039c8e153b4bf4665ebe7f80853bd86253ae40b2e849c7a12ef08051e5733e5

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.14.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 864.6 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.14.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 df55eb75b045ce593ca4f3236bc3a578b402c6cbb147b7e845e7ec3ba48715c2
MD5 4b9c015ef8070b1bab94fc7fb5e4adca
BLAKE2b-256 ecc7a28cecc3165a94017c92cc09e56f7447cab6240baa7807efcfde33165657

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.14.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4fc751a4806a61c9cb0e6c2288974733e52cdc0fcdb853c47ec15d711635f24d
MD5 5cd9c5a90c6a28e31de1a6c3a1c2e647
BLAKE2b-256 e262b614fba7cf939c60218b0f1a0093848f765aef74f7ff103aa2cf52491a90

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.14.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1c1116d52726ded49e7c39ace26b2719e629d133796ae79a1d9d6557b8cf2b9e
MD5 298dbcd89efedc1a8268fa1c82547738
BLAKE2b-256 874fb86f8f941cdccc120821e7f2fcc9377d3ae26eb7660400f124fe13fcc765

See more details on using hashes here.

Provenance

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

This release

0.14.0 This release

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