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.6.0.tar.gz (201.4 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.6.0-cp314-cp314-win_amd64.whl (837.6 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.6.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

momwire-0.6.0-cp314-cp314-macosx_14_0_arm64.whl (331.7 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.6.0-cp313-cp313-win_amd64.whl (812.3 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.6.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

momwire-0.6.0-cp313-cp313-macosx_14_0_arm64.whl (332.0 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.6.0-cp312-cp312-win_amd64.whl (812.2 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

momwire-0.6.0-cp312-cp312-macosx_14_0_arm64.whl (331.9 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.6.0-cp311-cp311-win_amd64.whl (808.3 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.6.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

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

momwire-0.6.0-cp311-cp311-macosx_14_0_arm64.whl (328.3 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.6.0-cp310-cp310-win_amd64.whl (807.9 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.6.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

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

momwire-0.6.0-cp310-cp310-macosx_14_0_arm64.whl (326.9 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for momwire-0.6.0.tar.gz
Algorithm Hash digest
SHA256 c42cea2f8a2d6ab8d7af83a7f37fb53116bda3c50fcf677976eef49c78ede24e
MD5 ff3a2a5448c4cf98844f0f327ee92e04
BLAKE2b-256 036af1dc657ff06e2b4efdcffb18eb9a7c71a5bc820b6a1178fea7caec498548

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.6.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 837.6 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.6.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c8ff83247a2ca0764aec77bc3b1f08b8e4992c18b1494128bafd84e136bdd5c2
MD5 9c1f8a9ddb434ba36cf502d2c3aa5ce9
BLAKE2b-256 08c05c321f8869b5ecd4f3ffcc23cdf6517c979776aa6712c1d9ad3ce80ece42

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.6.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ba25c9ce71c6e925f3008f632656144100006fa80873cb6cad6c21f088c927aa
MD5 441c24d74730f1ba96cafd3b0a184472
BLAKE2b-256 cf2580d0ca441b087830df5a96b3133ced5b98f963a6a532284c22c0b345fe3e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.6.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6fca554eef5c62349dd797f762f3d84f820ed155a68e826eeb3644f525d91c78
MD5 04d144c1c565062f49be955cc63f6097
BLAKE2b-256 586c7dd782137156167bf84c24f2d15847d30fc9ac53877882187f3a3551a46b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.6.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 812.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.6.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d910fba9984b400833d8a7d82fee315dbfe06516441a251f072db1edcca7beff
MD5 e76b07a0a41d0c1fb7f7cf8547c1d1c6
BLAKE2b-256 e7481c1e7803c80a758d11b3e1a6a4964dd79af8cf55c42cf1de58e688cb71f1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.6.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9ad190815d9321c14683d1a1f92be69185eb88374470a2662042ca4b406aa2dd
MD5 ba38c96b006829c81b827c403e87415b
BLAKE2b-256 820ad2618fac8a2d6b48e7d47f84915f1106de81aff01e6ab54d7076f69e1ad6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.6.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4072c36246bbb469f2b4df64c9cfa3c1ae288d8264b604c76d994451353d787f
MD5 0b3f35e96d8900508e03ec2cbacac51c
BLAKE2b-256 82a0006971d18906fd3af31a8a0a710f915e9f4d788a0a9fca710719591a0ad5

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.6.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 812.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.6.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 370942b5c0c37fd40382ec356d44dbb4b541dde55be15db6706ed49eb1ebfb78
MD5 8885b77b7d4eb65013a9f566b7ee857f
BLAKE2b-256 7153ffefc630ed185800df09a333d70cf8b13315ab2854a8cb11ff3bc9a6d534

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9aad23d7c62ba2b7f0bddd8f1bb95f18b624e461df8b1f67aaadcd7caa3fbff2
MD5 e666dba89c439e1d9cfaeb65ec2a0f49
BLAKE2b-256 c0401bbafb27760ba3abe4701fa693f2d1a09ed0d9394ecdb1bcb6941dd0aa27

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.6.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 df3e65eff5e79481520a12ede56534d442f71051d4b07777956a602f74d2ca13
MD5 026cabc9c4bdf8f6158450b3d0e038f0
BLAKE2b-256 0c19b0c8b3794ca25664f00e64385993733a60c178c12655ed3a2d8d9b22c4ac

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.6.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 808.3 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.6.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 71ce9fc4c4271a4e4e4f58fd583203daff57411b184d88299e0e62832efbfe79
MD5 a780aaaf549a04465d5644ade7abd22d
BLAKE2b-256 60d9a79fdb1da634c7ea401ddf1f9a66a8cba667471e0a8dc593a458b497258a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.6.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2be98b12fecb66e99827cfabb7ab8eeb6ff537250581d0c3a8d5ec56687630ce
MD5 b98f8031f3d8319a0f988652a087518d
BLAKE2b-256 697adf40c4a25171b4801f2493270417c476f7c0483bb649267b09acf09837dc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.6.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d28f39713a6444a175831233d328105c392e7f072cc341419130f1a35665353d
MD5 d541ea666bfd6873a80e586256330834
BLAKE2b-256 abbc730409056dd06166295ab8ecee40afa9cdd5082935cfe6ce812e16f38e14

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.6.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 807.9 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.6.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 becc40d4ac0456b3d84c96623af3fb1b195e23b6c65658f692c773a8ae66331e
MD5 49e7f61334ea86b28c3c393a20e52490
BLAKE2b-256 148c2367db211f983276c24f31abadf70a394cf7a34922c699d32c5514c49744

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.6.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 59d6365a158ea8a7fd1f1b9fa16cddac25a31460252395a90539759b0fc87f1c
MD5 c7d4630ff2e8ccab06995c420a361276
BLAKE2b-256 b91f4e6f363b94ddd5eb14fc459764656c1e14c61ca5c762f944f7c6f1a933db

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.6.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ba43a30948650dcee8ab4d95e705258115a666cb5972f947f4c2efa321822ffb
MD5 f3c9c6b9749c7d34015d74201f2efa87
BLAKE2b-256 08d3485b5fa16741ce8e3f8d037fad885b8362a11cc69dac3b801904767dce7f

See more details on using hashes here.

Provenance

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

0.7.0

16 files

This release

0.6.0 This release

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