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.13.0.tar.gz (241.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.13.0-cp314-cp314-win_amd64.whl (892.7 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.13.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.13.0-cp314-cp314-macosx_14_0_arm64.whl (396.0 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.13.0-cp313-cp313-win_amd64.whl (866.7 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.13.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.13.0-cp313-cp313-macosx_14_0_arm64.whl (396.3 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.13.0-cp312-cp312-win_amd64.whl (866.6 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.13.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.13.0-cp312-cp312-macosx_14_0_arm64.whl (396.2 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.13.0-cp311-cp311-win_amd64.whl (861.6 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.13.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.13.0-cp311-cp311-macosx_14_0_arm64.whl (391.4 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.13.0-cp310-cp310-win_amd64.whl (861.2 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.13.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.13.0-cp310-cp310-macosx_14_0_arm64.whl (390.2 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: momwire-0.13.0.tar.gz
  • Upload date:
  • Size: 241.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.13.0.tar.gz
Algorithm Hash digest
SHA256 0c6ebb6eb56772a1b6f22d1f7ac9cf8ff736cac07391f56bcb4bf968ff0cf905
MD5 3648bdf9194c77a1dd331ddef3b82dd0
BLAKE2b-256 0d149f32818bd2ad6987d0ac5018a912c33ce4967e96122c9814ad180d9da557

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.13.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 892.7 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.13.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 12d289c3383079c09b3e0eaae2190a8dc120730ddc246e47544f9c2ece007087
MD5 26da245a9891a284a376e0b49bf73a51
BLAKE2b-256 f0c83aaa57145b6024e02fbc5d7fb6b0d299363c7ccac625479b33b831daec58

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.13.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3a30ee54b70dcfb91f391b83e9d14ca27bc683a5b44c9e4019780a93b2822d2e
MD5 6e7fe75e2ecf51cff75732e888b6afe5
BLAKE2b-256 d5fd499b1734884ecfb7b3c97291217bb87b033be4cc0b4001f7da8ae33cc96e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.13.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7499f0c33790ac58c69d51b8ddcadc25e4514c09aa9c0be38099540ef72beb65
MD5 799c3923b7728f101e4214f5ba291d9a
BLAKE2b-256 c894b35952bc98291726db5877e0ccb781b82b107d7e3ba6c6e62477fbb93d29

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.13.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 866.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.13.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e508ccecbc14bc741312db892c2d71f526f83f538fcce06384baf833b08bc935
MD5 a50ea0f189de5b6eaa47ccdee48294f0
BLAKE2b-256 285b7b7480dfc3c041babe7f55dee6e722af5c6a93dc5c6592d15bc9b8666158

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.13.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1ae99dc45f67d67f21e15d58008939264eb02548a5ffa57c3be8d44e1234561d
MD5 f3905a2a9c257b62b72008468126bdf3
BLAKE2b-256 38160c795997d460b8acbc57135cb457646d22f9ed0f31183ffff6593da0d1ed

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.13.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 aa0cea07817ec5b7846241a9dbeca196b301959489d68da26cdd6e2f7ec8e957
MD5 aac455bbe591733a2aaad7c856085215
BLAKE2b-256 7eb672272f4a37bbbb372426c622f58ae31a6c2d7619e313cbe7200a52e356e5

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.13.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 866.6 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.13.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 77fd9f3a2335da2b26fe384205a8a742281ebb7e1619cc96ff681f4c58200f19
MD5 ee6cf396514395079bda8b39948c30c9
BLAKE2b-256 5e8175f61e535a4e02d5b26ef904ce3680f5293fdb45bf5f758a6921416b87a2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.13.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6167f1dc047350e0f916d2c170a30e99febd8dbd776a5398abe7e0d9295e8cca
MD5 1dea6710d67e801ea34e1f60290f1e0e
BLAKE2b-256 381f8ca445f950cfd4ac081794c954588a95cdb6596e28c464b5609f115d72eb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.13.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 30500ca3cef5d5c57fb781c70fd2882502b05d00698a778e64dee6a11631a50e
MD5 1adc989b794af609be0a0286bdceac39
BLAKE2b-256 9d2c685ee181222d98fa6eccdb74bfb1a4c84b1bc87d8a146dcd8147e42119b0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.13.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 861.6 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.13.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f706f2b750912546696d1b5fb6290e69ed36f15a417689bd2d97282336d0cbb2
MD5 b2295cb55c45bc484fd101625a79a186
BLAKE2b-256 69db41426103216fc4d7b138ced4ec70597e019266161bafa7cbc4008af90720

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.13.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9fe8eccb9726990d3af3fac42c780470f53ed57343e606687dfd80b9202d0e0d
MD5 25d93f8a66c7d19364c390bc4e0d916f
BLAKE2b-256 12889e3458fb4a42698f39f4eb18b57fb00f8415877527c3665b94b0ee403dca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.13.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d6b86dfe1c5cd5f8b4f1a83653b170b6813b8dc8772911618c3d514da11e41cb
MD5 46f199826fece4c0da7d1f36064a89cc
BLAKE2b-256 d19f5355bd95647c49b6edccb4693944c6f154d5843b0343288d518412e29e96

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.13.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 861.2 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.13.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 901620b996f2504121e4d4ea4e957d3a3d0eb5c6aef1fc62f4925ee863d80b1c
MD5 2a7bf67cb1fbe0942900f295b75de110
BLAKE2b-256 89b85f684bf6c092ba31464819a254dd035c79ec52f13c110c0d433b8b4c5d9e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.13.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d9fa619696bcb70333d99a575198e02d80a81c2838c7ce6cce880cda033dc076
MD5 a134a772c804496eb6f9775541319b71
BLAKE2b-256 ae45efd85364ef84a8056c38418579d029498ac30f9fae70bbfb9356ed60cdb3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.13.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 495daab1306ae97a51daf9fb79a465e4141020ed29ebcc60cc25b16a90ceb72e
MD5 ca2962966d68eafd3222fc7f6fe19dc0
BLAKE2b-256 d92279e564ec3161fdc789b0c4a6c4096f8de08196ca0711704fa640710aa426

See more details on using hashes here.

Provenance

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

This release

0.13.0 This release

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