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.20.0.tar.gz (350.0 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.20.0-cp314-cp314-win_amd64.whl (941.5 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.20.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.2 MB view details)

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

momwire-0.20.0-cp314-cp314-macosx_14_0_arm64.whl (444.1 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.20.0-cp313-cp313-win_amd64.whl (915.3 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.20.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.2 MB view details)

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

momwire-0.20.0-cp313-cp313-macosx_14_0_arm64.whl (444.4 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.20.0-cp312-cp312-win_amd64.whl (915.3 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.20.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.2 MB view details)

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

momwire-0.20.0-cp312-cp312-macosx_14_0_arm64.whl (444.3 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.20.0-cp311-cp311-win_amd64.whl (910.2 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.20.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

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

momwire-0.20.0-cp311-cp311-macosx_14_0_arm64.whl (439.4 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.20.0-cp310-cp310-win_amd64.whl (909.7 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.20.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

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

momwire-0.20.0-cp310-cp310-macosx_14_0_arm64.whl (438.2 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for momwire-0.20.0.tar.gz
Algorithm Hash digest
SHA256 b27a7b5b9724e9f2a9ece3ceb7773203fda3029ed1434f72d779890725ea5b95
MD5 c7dac55a96b5a2fe6166ed7bab866e9b
BLAKE2b-256 9309a40d4010df34ce17b362222c7d2cc6776bb5f273f2fd082fe9c8496b833b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.20.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 941.5 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.20.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5aaf21d9094c43b494e6d8a4cc0c7bb138159ddd99a988db73cc8cec505e5d5e
MD5 b4012c10c6ad8a846920e822cae0c81e
BLAKE2b-256 eedff1e05b13321041b801c67a6f0f7471a1979fc96d7177e1c84f0a38214024

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.20.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f94ca9ae206133ae131088e7f99a3c8e5fd2800a5d44df114ad44d9059da3887
MD5 9bd2e5e4dd2aff79cbac4208dbae3625
BLAKE2b-256 6910e25a051f7c430ca04d4861516e520eec06c3637f09df643329a49570e1ab

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.20.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a5c57d55eeb3e4f0d9314d5a7dc4bf15a940d9d47125533106a26e95ed079dbc
MD5 dcbe2dce3f7f4fb99fe7844e6c6e8aa1
BLAKE2b-256 a15e5321fcb0f036a11b1907c4e49e2e23f683f7c450f6351c143cd8bea9bdbc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.20.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 915.3 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.20.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d05890989d61639b43a6d76254afc0469799c2e9dfb80f54b7df5740eac30ec7
MD5 0931b7a47346352674b3c69ae3768d0b
BLAKE2b-256 999a02d53b980944f1d2b3fc634c972d1a0e887663f1ab1761b9a6454d272e45

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.20.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 503142fc6ec8afcfa995baf7fd110fdb6abd1be5b7955cacb83f712fba3b594b
MD5 cf04d2f03ef44feb50f776dd8b457ea3
BLAKE2b-256 cacb468cc6cf78b48e47b935d774f44aad54f3cf81014269fc4f825899126bd9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.20.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 fe8eb14f12350e754b82740d34365ceb800cdbc1eabde2e947474f233b07d6f7
MD5 912e1471015ffa1a75729a58a3d727eb
BLAKE2b-256 31cd9ef6ccc879a9e5ca9f61d50c62cbb6c78406178a84f2cb7c866c3502174d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.20.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 915.3 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.20.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 23e33400cc9c1872e0a718f0bb7023e026f24d7c26287e30ee8eb39c703780ef
MD5 5f0bca9b884529fe57326051d8faf142
BLAKE2b-256 463f7413f98ead95ee6e33df7f1f9166e0435ba20d75ad2eea860928b43baa7c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.20.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9244eb50311c27538fc6ffcb91a4b3c415e3f4aa6b7df2a08944173f2b3f3e13
MD5 8dabf7f85e591f885b8e2eae5b8187a4
BLAKE2b-256 c34ed4fdc8430d3ede1ecb73ce596b62f503996e7fdc9267cfa30796891c3762

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.20.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0e9daf8232f2dcb564fb8d18fec5d3ded3ff1bce4b2eab33f87ec9b3d4607b69
MD5 ff779627e701142e22927dc03a74c5a6
BLAKE2b-256 1fc52e6aa0c67e894c257689bf9569fe5d26a12078885c679353fd2c559c785a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.20.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 910.2 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.20.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e0aee8b1d4a583781e42d5a04965c657d1319128a4806826791cdf3ebebbf195
MD5 5ee223be3109cf1777867b6fa699780c
BLAKE2b-256 235eca78020b0f2c81f43864446e2c921cd4a9435cea1b7185484e44f4176446

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.20.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 005eb3f786de4ed80fccfbe0a3e5b8274b013ae27e2bf2ea7baffdfb9825366b
MD5 a7ac62d4d2f274f24ef3c30a2101a8b4
BLAKE2b-256 1df6247ae4fa1fd31cb5c001dfbea5458f6ed579c82c53e7f6f7aba78f5efcde

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.20.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 af2136f2d520323be6262584a22118073c3678550fc302795bdce7bcbcd5d657
MD5 5db4d414f278b2db68843071bab4c2c5
BLAKE2b-256 f893a31fab76559d673913a11f7c3ed351b943ba11734dd885725017f0f686f7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.20.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 909.7 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.20.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cfc9cdfa803a7d93251e16bd1a566f796fd9f29b7448286b24e1339581db9e27
MD5 5235bbc89ea35d086027701412272fe1
BLAKE2b-256 00bace4b8e858690e3eb46118f8df617106bf4175fbdfbc55c1f5655b2548e3b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.20.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 274725ce4bbbc55c2a675f10763a7fe20dd9d8c7525c33b89dbd1f150c1c1965
MD5 a96bffede78a560d41a764e14796fc2b
BLAKE2b-256 48baeb62eba8880b071868c36656f02196e33d2fd3e3783cda419d5dfd9e27ff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.20.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0cdc1de3e1c83681d591618cee36ab79864a5f29d257f308a9d3594a876b8c96
MD5 830fd4d5a28d95c38a45c3c316dd8b7a
BLAKE2b-256 7e9119b3a8c739a218657f54efb17ef2649c27d2086c2bd7d4cecd2f7ba2e51c

See more details on using hashes here.

Provenance

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

This release

0.20.0 This release

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