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.11.0.tar.gz (222.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.11.0-cp314-cp314-win_amd64.whl (873.0 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.11.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.11.0-cp314-cp314-macosx_14_0_arm64.whl (369.8 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.11.0-cp313-cp313-win_amd64.whl (847.8 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.11.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.11.0-cp313-cp313-macosx_14_0_arm64.whl (370.0 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.11.0-cp312-cp312-win_amd64.whl (847.8 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.11.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.11.0-cp312-cp312-macosx_14_0_arm64.whl (369.9 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.11.0-cp311-cp311-win_amd64.whl (843.2 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.11.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.11.0-cp311-cp311-macosx_14_0_arm64.whl (366.2 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.11.0-cp310-cp310-win_amd64.whl (842.6 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.11.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.11.0-cp310-cp310-macosx_14_0_arm64.whl (365.1 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: momwire-0.11.0.tar.gz
  • Upload date:
  • Size: 222.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.11.0.tar.gz
Algorithm Hash digest
SHA256 a18f58af4fa8c5bc698b797674ce5eba4742b23c463bf3276ed230e72e327f25
MD5 a4fbb59d4bdcb976894cf77a0398cbf8
BLAKE2b-256 127cf27d6803eb83906af1bca75ccc46b64b9856709a0e6e37ab5cc6c0657c9d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.11.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 873.0 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.11.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 49cdbd5eceb7259524bd4d8bfb0e49ec97a1373d59ee0885cc844c70afedbf57
MD5 b4cdff7fcfdc827761787ada029e9419
BLAKE2b-256 8f600bbf454490f5d9a15bbbf084e9e1a3706ecd3b0b7a2f9f9d7d7a79686435

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.11.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 46d3435bc794c003eed524741cd7107e2d91848d5781cdfb1f620abbb5c72324
MD5 64d83761e9229e87657406a551a03cb9
BLAKE2b-256 8c1132c690562038f0e7b493e3e5d6a341d335a2499ebbe13408b931ca5fd068

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.11.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a6edf17388bb8c9590c51c6908a8bbafad379f880d91ff89c5361f4479e3ba5b
MD5 955f8f27fbe90ed686f0bbc39efa0b7c
BLAKE2b-256 7ea6e3c2f3e1edeeaf0c7189e6be9224b22348b034c82dbedbccf953decb20ee

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.11.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 847.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.11.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 18c3c4376d8b7aacfe36b4358fcb30b61b211a1b95fbb80568d3b4d15e089d9e
MD5 dab3743ea455245e3671029a6bbd6850
BLAKE2b-256 eed3c3a37c4ed77df9fdc3fd0a2b29ea693a9ace580a33872883d68691b11242

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.11.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 847bd3a522b5b27c42f0eb63e07be4405271ea3ae9b29c04336d22ded46246d7
MD5 94a8ebbd87184755227941944c76bc4d
BLAKE2b-256 ad674c7670e3f3103c04d33ddd3ab6b51f1a7347ed3823a8c8ba430cbf31b963

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.11.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ed130e309d7b6794f9805f17f8526a8240718f3b80eacc6dfb774c7cd96c25e3
MD5 f5ff1bac7d5d92ad2b5ae39026bbb14a
BLAKE2b-256 0764c4ba75ef304c800aec8f1445fc7a3adf23eed9b69e3001dfc776df49cda5

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.11.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 847.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.11.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ea38ba7c90195bc4ffdb53c47ba13825d46368472cf6f47add0849b228aee905
MD5 e81af95caa48b1e018335c7fa44c2b8b
BLAKE2b-256 e57fb8b831d6ad01194230ac57ea0bb8c7f10a251e99fed5778dd8f1924fcb36

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.11.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c8ee017e8c509803838e0162df90f87e5979b33d249b2aa2737b4fcc2d77d8b4
MD5 c072a5974f0c352ac08ae5212805758a
BLAKE2b-256 7a7ceb5f0551733b7aa66034cc2db0225aefece0ce8d45b2ce27af4197782b72

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.11.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 abe002f107fb218d4985af750ee88ed802d9929e046f0b153c4217354a740bdf
MD5 441b69fc7e5c4dbd1a45beaf1d2eaf0a
BLAKE2b-256 71009e93dc64417d030add32e8bedb9f98ddd46b46fd1325f5f7709ed56e10d4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.11.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 843.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.11.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cc0c02c8c2e891c559c8ecfc46082cf8a5464aafe08e701d33b8dfe32d9be1ef
MD5 6385dd6ed51415a8a3cfaa660de3a4de
BLAKE2b-256 6370d0456df08f8cdb9a130082b47a97fc1cd4cf20990388f1d49e67f0ef37ff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.11.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 25e38aa5c8dc7020e010314dce13a77ad7f430bc9961a81ed30d0bffc1db151c
MD5 37b4906e25c5185814de5f45a921a242
BLAKE2b-256 bfbf27b575acac91c0ecf7bab0a9a4fbe9e65ec5fa6dd8f5d54cafa075f08e4c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.11.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b02f67c84d6c626472626393cf64596f0dda25d16cbeddeddebc52a27bbcca88
MD5 f5b99d7f49a11275044f587c6f7e6615
BLAKE2b-256 a9fab26886dcee83e1e0cd27146282daaa87c2a1fcfcdcd26f5bea118aa36651

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.11.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 842.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.11.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0c75e9653166d1424d7167555d943861edf593996abf19de553662f507d978bd
MD5 239eed6c6297629f6aec8365251092c0
BLAKE2b-256 8abecf262af18857a5a07a91ac3662a385a1ead638a6e575f6ba2b61a81b8f27

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.11.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5349288f42848ae8597afec3f648594c21cefb1d5a328b697cc7e22bee84ad2d
MD5 c9041b18bdb2b979c666062b41659c6e
BLAKE2b-256 e74332aedb0dcb0c94f664dd1a0bb82325c96bc1d41ddd75918edb6f167ffad2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.11.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3a30d095a965969e6059b102e5c2b6bbd9277b698b451a0cef37fced63c33960
MD5 637298e0c6d448b7d08891c7497d3eba
BLAKE2b-256 2ee42c5d38d67902ed3a575e4f5903ade366c8f7da2e9f042f573713c6394899

See more details on using hashes here.

Provenance

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

This release

0.11.0 This release

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