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.8.0.tar.gz (216.7 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.8.0-cp314-cp314-win_amd64.whl (859.8 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.8.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.8.0-cp314-cp314-macosx_14_0_arm64.whl (353.3 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.8.0-cp313-cp313-win_amd64.whl (834.4 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.8.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.8.0-cp313-cp313-macosx_14_0_arm64.whl (353.6 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.8.0-cp312-cp312-win_amd64.whl (834.3 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.8.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.8.0-cp312-cp312-macosx_14_0_arm64.whl (353.6 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.8.0-cp311-cp311-win_amd64.whl (829.7 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.8.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.8.0-cp311-cp311-macosx_14_0_arm64.whl (350.0 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.8.0-cp310-cp310-win_amd64.whl (829.2 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.8.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.8.0-cp310-cp310-macosx_14_0_arm64.whl (348.7 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for momwire-0.8.0.tar.gz
Algorithm Hash digest
SHA256 dcb69154e7f213203bb284af6592d2938914a5d9c02592d05c86c7f4f3b3201f
MD5 d3affdc2266df2c44dd01605de8e4741
BLAKE2b-256 fef209971374c617d88abec1bb45393a7979e1b4742dd15e06e27616b147a5d4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.8.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 859.8 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.8.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 6a12ed95bcb74b91a55b0bd8f3824c86244c4383430b074a2a25821cb8cc09fb
MD5 b71a45e865bf7442f900e846e0736463
BLAKE2b-256 cc448822ccf59923cbc945f29a90422a1286d922117d248bf8e1b703fa8aa60e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.8.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6b614bb6553c8cbb060a43b5623b392e6684dfe67be6766b8e9f681fb0377262
MD5 4d4cf509dcaccb303aa6c483c2e3ab50
BLAKE2b-256 55902c44f70f8c3e3f2597d4141d76faaf6debdc02518d518c9b73da17b52d52

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.8.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e28f78609fbf781cf24bbbb4bab0f40000d10728a481c4976ff15536e526e0b2
MD5 c99bd50d3d74aab6a996ecd333330c53
BLAKE2b-256 7c855c5b9a417ddf58076096f6f7ffef959a24222120fd07b6c0e9a9d7b87861

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.8.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 834.4 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.8.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 45e92ea9fecf543325fadcfdc082a91dbb39ce82e59e8ef08b5fd0d33f41c489
MD5 2ffd2311dca965fa30c2c7afb5799ad1
BLAKE2b-256 a919c1f0c60adea941e30b0189a005e3b7142d9c68f847c71b866b660ca8bfbf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.8.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4fce8808be80374768eabc7e1555c9cbc5ae6f2eb496ace02ca207e640811672
MD5 ec329fd346f233501fde709f5d71ada0
BLAKE2b-256 d3c33cdbca24596e831958c7f5fbd7645d8815191eed86e34b916547c101f554

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.8.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 42009a2c2346166de7da46f62e5fabb1dcdc7208fdc0e66cf09ec54e8ebd0c50
MD5 f9847fa079355f8fa8be6613a438bb82
BLAKE2b-256 d3e56bdc4eff6f239f20853e7947fed72082a65d0ac5c9928e3f94b332770f75

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.8.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 834.3 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.8.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 78a76f530559569bd4d75b69e6f738bca35285a1f52a91c121b35eea12e03f33
MD5 1e2b0dd7446e43af6bfaea617569563f
BLAKE2b-256 9fddb008633b44a4b40eed80e219e6e6528ff3c386561451e460502309518dbe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.8.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 75e5074a1f08ce144c633bfbf4029b028d953bfa881dc0b43846cc9f3ff80547
MD5 415dc44dbee39fc9d6db0b5b81dfc143
BLAKE2b-256 770998d5341e7e0fe63c977748e0da94127e9777b1c342f4beb90761ef3b16b8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.8.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 9d6c175ab0b5256e43ba66c2efd0c10a0d75f7d86f0826c4d2970c43040552bf
MD5 e67d4cd13fa77562c61f23d6969d5465
BLAKE2b-256 9248f179a1794e2108637274000513ca83160950cdda46553bd450545dc5a5fa

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.8.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 829.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.8.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6d35e60c97f0ec0b761818aadeabeff664707a04b9c600aada4c1eabf2a5a452
MD5 b0500437a8c04a8a64c9b096a57422e8
BLAKE2b-256 e4b52601ca56145777e2ea548b2152f315a66aa202d5435854a95106f2a5cf0c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.8.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3b9749128a95a84db44ab2968f13ed85d192c35910afcb1857723f85a6502b38
MD5 126a1aa7b65f8ca1f39b179f747c24a1
BLAKE2b-256 1e1a329e449ec6990a9cbe60c3dbbdc448e3c90493232719ed3f47cf0f513800

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.8.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ccaa6a06267136f157de38ddbe5abf3c8ec7aeccdaebab41aa406bd56c958c6a
MD5 b9c72ee1605017d3ea588c7f997a87ac
BLAKE2b-256 cacf9d05c20dd2bee07e098b55bf7606f402259d270c1d433ecabfeb6104f96b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.8.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 829.2 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.8.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c8659193b2b7e7fa89226a7df5572b7502fb2b7c8515d12b3555d72da5b43a04
MD5 ea48afa0b7bab2914eb19dfde4b69194
BLAKE2b-256 22fce16152742e395eeb2213dd2a792469b5ad75e2ee00752c1524dca99b1156

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.8.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4c40e6cc9685eec7c08dd9bfac98724830b8f10a22a4827bbbb39775c8062c38
MD5 f05844790bae32ca88f613ea9d78baf6
BLAKE2b-256 8adc8c35deb3173376d2ef79ce64db610b9fcc2bdfbdc21c730ad1afa88f6f23

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.8.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6d3f18df34c70961997c7b6c9e9dd2742106d8dbb2ccd0cb56ebc517feaad288
MD5 1c8ff1db772fec2d2fde1c1253fe3868
BLAKE2b-256 518d256cf6d42cac51d8c726e67f4e6ce90b1e9947952061ff2b792011f53a55

See more details on using hashes here.

Provenance

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

This release

0.8.0 This release

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