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.10.0.tar.gz (219.5 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.10.0-cp314-cp314-win_amd64.whl (870.9 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.10.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.10.0-cp314-cp314-macosx_14_0_arm64.whl (367.7 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.10.0-cp313-cp313-win_amd64.whl (845.7 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.10.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.10.0-cp313-cp313-macosx_14_0_arm64.whl (367.9 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.10.0-cp312-cp312-win_amd64.whl (845.7 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.10.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.10.0-cp312-cp312-macosx_14_0_arm64.whl (367.8 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.10.0-cp311-cp311-win_amd64.whl (841.1 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.10.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.10.0-cp311-cp311-macosx_14_0_arm64.whl (364.1 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.10.0-cp310-cp310-win_amd64.whl (840.6 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.10.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.10.0-cp310-cp310-macosx_14_0_arm64.whl (363.1 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for momwire-0.10.0.tar.gz
Algorithm Hash digest
SHA256 af7289d226ebccb0d71b13548957cc469345766c0768ff1b39a01f2329d529a1
MD5 59ba030147f515113a710cbbf922b4db
BLAKE2b-256 789bec28742fc812a9326d2f4728cd0963442b8a189c2947787e1ae2360e5fca

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.10.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 870.9 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.10.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ea678740a7c4cafa0beff7429a83f81b0a6970116c92190c2619060f296723e5
MD5 d0a91de788c5b57e8be7016a08fc596d
BLAKE2b-256 2f19e61de5a7b9d97959d86522e9273f5149ea8fa00d607b91c68a447f436cba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.10.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 242729caef0704774e3611bd828578a79cae0cc86023d5b961030bf08b696622
MD5 fe074ea187d20539564a3c6fd103d10a
BLAKE2b-256 6d8c3be045f2fccf2c935c6f2f384d9f16ce0260c9b053527cdd5c729d9db9db

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.10.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4ebcbbc53b57653a2eb37d65c66ac5ab50f83fa581749992aee73902d24e7236
MD5 fcd363a3259b451d4ae4b65fac290a3d
BLAKE2b-256 f98ae718199b04236c04319f709930aac498cd60515346c1d9a77cddca3f943b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.10.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 845.7 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.10.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1aa381e009bf9e0e60fceaa59541f8e15924027996599c15d75080329951a781
MD5 c5c5b26b5ae9e0d91d78fd12f311ce60
BLAKE2b-256 1fac69e8e7bb5bfbcd13e0641ff07766abb4c90b22a7b2da38824dfb488f3989

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.10.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 28f140c6cd98a8b1334d9c2b7ad0078755f188a6a1b731ebc62b3c2e85d1dd5e
MD5 f4b718be6184b84562180e97e9e7e2ca
BLAKE2b-256 db18216a29f71778db145e2a01afee5ed870fe0f71adab0ccb5fbb0c6a2376d1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.10.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7e432937f89d0280f3bcdffeda3b8f8cab525a8024defc61b074eab981f472d7
MD5 89708b0bc4990a439b3f9a82c5b2e130
BLAKE2b-256 a675dde4128f9dc75fb366e9ccacfe2fb86bbc0fba39eadfa01eb7c6434700cc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.10.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 845.7 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.10.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 97a17744117c53c980835e33263d531706323285d3789836ce0ddde9aae83685
MD5 00b6b45bfbcd583a173b7dd25e78d90e
BLAKE2b-256 44dc7dfca5de88aa15e86aa09b33561d052413d6baf5e883bc072b93090d22c0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.10.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bd5b51dacbaa76c8ed3017cc8925611bbc09e0da6bd3383ee384a3d4bf5abfdb
MD5 0cb1c5455d29de2678dd446f347fb578
BLAKE2b-256 f39ab40becea9e6703ee214c88cae1cb356d84b9309e8963f556c2019c40fb47

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.10.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 cc67f1c223e30ea393fcb19701cf48a4f27bd7a410c54c47ff77bbc6b6761a96
MD5 187200f1493cb199fbed85b9138ef101
BLAKE2b-256 5d0230672ed7fa36b9358b887bc1b62ebfb9cd0b9b98edaea6ca99482afe136b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.10.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 841.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.10.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 860827c064f0ac83dbe207a959830b33c3a141f32a4f0c672bfe2331a4d7dc75
MD5 e4d7e4bb84e3fd1c35eb36aceeabe983
BLAKE2b-256 8a4ea22833bc1d54da64485089a1905d4666ba95a7d511bdd5b1fcf46c127247

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.10.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1655f6679e155f599751cc5e23f6ceb7ac6b5daac9b6c88488b36e256bb5ea2e
MD5 5f91f6e920b6c9ed95f2d224b9be9fe8
BLAKE2b-256 14adff1d1ba83d6c7d56e5cac5d681023f97ad3b8625b7449fe23bbf56609aca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.10.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 69ab41590349ea7f6e8ea682b3a93769f5a4e5631049c1eb472202ae6371b9a0
MD5 ec4c523f7d2cda99a7f639a9a31a7cc8
BLAKE2b-256 aae7738d55256936733624ca39a95c9e5685fcec3d858065be9241cb536c0c5b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.10.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 840.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.10.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 da33cf6fe77486900e261a1ac20095d3ec69aa97b717f3d785bc13f9748edd80
MD5 850fe31748cf4200367120566a855350
BLAKE2b-256 4f7ff2047df021592aec9f99999f992efc3a8302cbd1cb150228dcc6aacae7fb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.10.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 193bb0472ce6897f39b96a83ff9bba4f63814d7a2467647d91858fa62972b0a7
MD5 aa3ac3fd411c9b6d6bbe0b31e24d798c
BLAKE2b-256 672c916d61131f7a9fd6b26b8a37dd803a8831acc0015aa4a5d96c92a70c6170

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.10.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b2fd32cdf1d441b0d55e38e3f84754244dac3d7c94bbf236ccf97a11027e8858
MD5 2f8d2c741926e90a5781529b24f33177
BLAKE2b-256 8a1f5f0ad0231fa7f7d8804800e98fd6f673f5a7d7082814d829ab28c5984c39

See more details on using hashes here.

Provenance

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

This release

0.10.0 This release

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