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.21.0.tar.gz (356.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.21.0-cp314-cp314-win_amd64.whl (953.7 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.21.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

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

momwire-0.21.0-cp314-cp314-macosx_14_0_arm64.whl (457.5 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.21.0-cp313-cp313-win_amd64.whl (927.8 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.21.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

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

momwire-0.21.0-cp313-cp313-macosx_14_0_arm64.whl (457.7 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.21.0-cp312-cp312-win_amd64.whl (927.7 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.21.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

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

momwire-0.21.0-cp312-cp312-macosx_14_0_arm64.whl (457.6 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.21.0-cp311-cp311-win_amd64.whl (922.6 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.21.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.2 MB view details)

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

momwire-0.21.0-cp311-cp311-macosx_14_0_arm64.whl (453.5 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.21.0-cp310-cp310-win_amd64.whl (922.0 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.21.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.2 MB view details)

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

momwire-0.21.0-cp310-cp310-macosx_14_0_arm64.whl (452.2 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for momwire-0.21.0.tar.gz
Algorithm Hash digest
SHA256 62381c920a6c0211b2d630a36b13f8668e7b84faed831b18bd461848c6a97c76
MD5 b17aa4fc386ba252f984769f4d458bb5
BLAKE2b-256 f76b14813ed9480d07feb6e94c096c03fba92e8f84a506f4969d3260549b36e4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.21.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 953.7 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.21.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c739f18b203b6d723e8147a9d20d20d225bb7c402edb991dc6a3f82d88b03043
MD5 af881dab18b1c4590836e5b37d6123c2
BLAKE2b-256 8f1a85c01322b3f6c0bea65014b89308553314162d3ca5a64676d95232ca276e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.21.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 180d51115c1ed90c083ce2c7f5c028ed285897bce64a453df6944b965a44b9ba
MD5 f8760c90e91c93205775e5a6b6457227
BLAKE2b-256 06aa822fbddffb17eae6d900e2a522406563cbf4af56443fd9b7b9404a6e5ddd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.21.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 703e53a8c509113bc7b5cf6f97ebcdaa6e5fbccc8f5e42dfab4158ef1e66d557
MD5 3a5c78497aa5c1cce86b4283ddbd418f
BLAKE2b-256 fb33572784f32d4ed443241040fdf2234f7b5c4f09188d365006754902383988

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.21.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 927.8 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.21.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 879b0d5e1a8d37b2511c31d8c28c6e624f02f82234e19140d5ad697639b27e5a
MD5 b50064fef8f4b955ce42ca7428172727
BLAKE2b-256 972dc7d39f23939f0011a6f471a8075922532884de4505a7213a5af6bb9d9e2b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.21.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b278c02337121e390161ad203c0e097c99969c53bd36cac35c9135e0e4157224
MD5 8d336139f6b15554678f43177dcce58b
BLAKE2b-256 6167405851ad459570d9d4b69b7208b48077322f1246c223a67728c48ddc1d64

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.21.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6070c7b0baf5a44f458e604331a704e10ae2abe88e936da834c7eec8e4d5ac00
MD5 b9618d54a2563fe2225decb161b19364
BLAKE2b-256 f009d707ba6bfdf07ab6b4300e7b4fd4bfa59343b90f85a8698cfdfff83492f2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.21.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 927.7 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.21.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 01843db41f6831376428dacb15238d18e1b21683fc4ba51b1f1868df149febc2
MD5 3b51d76617d69f3b9359ac5f8ff93f36
BLAKE2b-256 5765f070808fd776235d66cbad04a6c2c6fa0c797fb8649bf53f0381922e6bea

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.21.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a01747ee2a8e75fcc0fc58890122d744b1b04b50fe338f805deab99de1964ada
MD5 3a26ede4bfb998fd5155789b5cbd93c1
BLAKE2b-256 3ff5cf835470bca8c4db11c7c6df9da6d82aca2f0fd34dec2aa22fbde00c5e56

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.21.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 de87065fb27ee37243898773e72492dea8f4a02f1fdddd614901a3b35594bf94
MD5 5089bc7830f7c7430f6724b622278f63
BLAKE2b-256 d9292b35b1c91ac6507cf21ab5ca557b593750332d8566d43f8ff6a07116d099

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.21.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 922.6 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.21.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4f797fd01eb3dcf5f15c777a7178e00618426a812638cfbac1a573f2a4eabde1
MD5 eb27a235df922d436aa9ce5139aa40ee
BLAKE2b-256 ac6c18e2384caa315c59a1822b997e0119ad0d4f12cf19ff84366f6f84ba733e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.21.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8054b2518562ce10f3a98c72a459a1c9f231eaff50a5571fd849b63c5784d0d9
MD5 95b52b930c1b7194b30359ef02593f14
BLAKE2b-256 e38aabdadc8000e985b6cfbe1bbc29c946f77a2512bbe2ab348063cc9828cc1b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.21.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 48db4b68b854c207cda6923cd34ea8a49817de90904c7726f4ffd1ef7e7ce47f
MD5 ae341a558f622b162c7ec75cefd61f6b
BLAKE2b-256 3728b94549407c826bcbdff5c974baea3b8bef3a7db07f5d6f522a6e2360a14f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.21.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 922.0 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.21.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a28a7308882bbaa534bd6aee0cd1cff326110e468841438ddadebea341087bca
MD5 49eebf2270d556968707ef739a3d727e
BLAKE2b-256 85bdad5003efe771ea949438c43d86be91dad5d585390dcb0f5d1867bd2bfc42

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.21.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5b4419f304f67865099e8c4c6620435c80225d3a87270a254e849c4d958915be
MD5 36f4933116bcf5ce934f3f1fb7fc5742
BLAKE2b-256 6578f06bb35dcc6be0435585601a6a55664d3274ca2cacc44863fcf3f589be41

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.21.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1d48a4c839311a05141697c7a5f64022b3fd0cbcabbcba1fa0645a838340f571
MD5 752fc31e7aa5d24835404438c39c97f4
BLAKE2b-256 79093404a1a679902fa4caca307bbc079290fa0257736d3ec2d4b7a93d8f3769

See more details on using hashes here.

Provenance

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

This release

0.21.0 This release

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

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