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.9.0.tar.gz (211.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.9.0-cp314-cp314-win_amd64.whl (865.1 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.9.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.0 MB view details)

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

momwire-0.9.0-cp314-cp314-macosx_14_0_arm64.whl (361.9 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.9.0-cp313-cp313-win_amd64.whl (839.8 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.9.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.0 MB view details)

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

momwire-0.9.0-cp313-cp313-macosx_14_0_arm64.whl (362.1 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.9.0-cp312-cp312-win_amd64.whl (839.8 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.9.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.0 MB view details)

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

momwire-0.9.0-cp312-cp312-macosx_14_0_arm64.whl (362.0 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.9.0-cp311-cp311-win_amd64.whl (835.2 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.9.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.9 MB view details)

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

momwire-0.9.0-cp311-cp311-macosx_14_0_arm64.whl (358.3 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.9.0-cp310-cp310-win_amd64.whl (834.7 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.9.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.9 MB view details)

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

momwire-0.9.0-cp310-cp310-macosx_14_0_arm64.whl (357.2 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: momwire-0.9.0.tar.gz
  • Upload date:
  • Size: 211.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.9.0.tar.gz
Algorithm Hash digest
SHA256 da9e610abddef2d13926c956b77a1e124ad89d1cd5c6e57e0b46bb50df6d69ea
MD5 c3ea294387721fc3f39b6de5b5886391
BLAKE2b-256 a785ab082f7956c742ab1cf71ec18755946ce136106a54b52025885610b71c39

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.9.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 865.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.9.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 7c8d030a71ab9f23efe1dd8cb6770342b9111bbc905ca7c3a45f5fc8cbf3a7eb
MD5 6c192ef1ec0e42f673767b4df65881c2
BLAKE2b-256 9dfb8363e78380327c0553ec4b749c1b7e7961b8b2a876ad193c420604ca13d2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.9.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 04a6dac75ad7f23b19b084b3b009efe7bcf23b12b5750d3b2c3f1651281b6ee7
MD5 2c2bc31b7ff2e1f1fbadecfeb64cdc87
BLAKE2b-256 eb08136e1467d531e8ef9b6b0efe71f0422ad27c4e76ca790b734ef29cfeff52

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.9.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7c6029183ae07de8c41b1c60ee38543b90232a666135e73c0f4ebb753a6c2589
MD5 a846761759f344cd0344b57ed3f9232e
BLAKE2b-256 87b9bffa6f849d809752595d66bf3785f09b4b20155f5c37a7f670c1b248d4fd

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.9.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 839.8 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.9.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fdb62478b1f5e9e14b27173cbacabfc486dfd36d249059ecf27d99bf3618c7fe
MD5 a44a79c10d8e61ea1fd67de9f2855d86
BLAKE2b-256 2af4be8c54088a417d7ef20ed32ceb4f84bc81a1facc94b9c7eae29ef70c9d04

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.9.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9bf83d03b78cd7b6f4c4012ad76a1b155189de9ab0760b8f4c40b1fe0c0c098f
MD5 c9487273395d53838736a82b986ec873
BLAKE2b-256 974491c20cdd17eac8ee5779724cc1a3f37f5d1890bf4059971390aaf0af986b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.9.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7008fbbbc489d28ea7887bfcfc0e018781c231dc5bfd0f1cb4b115226a96e039
MD5 435eaf317edb5776c38d1f9a897b0de4
BLAKE2b-256 aa5f6035d2635601cdadae0c8d2812fd43edf9d9c52d95810b182cc0399a1bf9

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.9.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 839.8 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.9.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9ab6484453efa9178ea116b89447716f0cefeb29da35341099e5dd376888657c
MD5 f0549134c58bf665c66e8093f1912036
BLAKE2b-256 946e7392c4971a5c53d367446a41d2311d05b8837defcbb95e424a0f08dba6dc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.9.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c3c16624411bb9781964658c19420bca0c543e0e80e21e74a70d6323710c6ba3
MD5 b887cd321a7df556fb427bb598e44111
BLAKE2b-256 33a3849728b8e3b4354b2617a0dcf49301e9930396f3b23ea057a1b67ce734c4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.9.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4e21a83dc580395d2b05cda4d6e994d1d8a6bd50055d08c432617938f3b7b744
MD5 2d2c059582245790a2909224968ae2a4
BLAKE2b-256 ec649af17168cbd37f9f0c484a745e213242b6a49735e296fb2babc473e653c0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.9.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 835.2 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.9.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9d613778bf9d0bd4f889ff2cca48ffc53aa872fc37d3869417678ebbac8dec8e
MD5 44eab1a6b43c6b8d79efb9b67c7373fa
BLAKE2b-256 aa85586923c52cf69b0fad6354d4f732b370dc2385616305cbd896f68212a665

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.9.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b1ce6cafaac71b14903f89b9415d3ed813bfa53d7a139f57b0fcb32cf5841dca
MD5 58c9e34cbf3c07e00e56c32b48526d39
BLAKE2b-256 7408d97c9913f3150d54d8848e971a820266f9c1b647a5bb36ee3ee9f25a41bb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.9.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b4208d62d7db9135073faec3d58544923b03a118619f8fb64d9483f1133aaead
MD5 c1b87a13e0949a61f2e352710a070ab8
BLAKE2b-256 9bc0abbe2eea3068f862d2bb1889386f971dbf06f9601c9f2d5ac0c8fa6c4e5d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.9.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 834.7 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.9.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2b3e30096605a18decbd7386a3ce6058ae0f1cc33e70f104ec4f6257eab97987
MD5 0b094cf365405ab5cde9bdaed8ca273f
BLAKE2b-256 5a31b5fb30b63c9b3be90e41b838f84f41307ca5b6f3f9037017d4ff1de64b42

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.9.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f2d1421a76137cd2ad81d18760fa7aeb62a0f86397d64409986972b7247bc8ae
MD5 4f157acfac1a2ed45ee0a5c53dc39d0a
BLAKE2b-256 6cd067e91ed6e408f83e435344504a911cd5b15f0b9520c6566ca15052726ffa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.9.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3eaf68b58b314f285be216566c274e2478a271b52a602277032cc6b3e8a6c2ef
MD5 e582f103f3864fcd20cb1624df4301ee
BLAKE2b-256 c7f80f42bba4aea2c92bab54390339be052326b877e30c6d1d4ac7b42a856057

See more details on using hashes here.

Provenance

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

This release

0.9.0 This release

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