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.4.0.tar.gz (176.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.4.0-cp314-cp314-win_amd64.whl (809.4 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.4.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

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

momwire-0.4.0-cp314-cp314-macosx_14_0_arm64.whl (299.2 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.4.0-cp313-cp313-win_amd64.whl (785.1 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.4.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

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

momwire-0.4.0-cp313-cp313-macosx_14_0_arm64.whl (299.3 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.4.0-cp312-cp312-win_amd64.whl (785.0 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.4.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

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

momwire-0.4.0-cp312-cp312-macosx_14_0_arm64.whl (299.4 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.4.0-cp311-cp311-win_amd64.whl (780.3 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.4.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

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

momwire-0.4.0-cp311-cp311-macosx_14_0_arm64.whl (295.3 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.4.0-cp310-cp310-win_amd64.whl (779.8 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.4.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.3 MB view details)

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

momwire-0.4.0-cp310-cp310-macosx_14_0_arm64.whl (294.2 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: momwire-0.4.0.tar.gz
  • Upload date:
  • Size: 176.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.4.0.tar.gz
Algorithm Hash digest
SHA256 5cef877b0bc5f3d6c0d9b7673fe6215993d63c05e30deab46e33e70bfbecdc79
MD5 40a078ff4375ea1723c7b07a07456f21
BLAKE2b-256 478519d7a643309a59ebe7fb5e21feed30279d2c31181c24649a2962e090f932

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.4.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 809.4 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.4.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e5bade182d7eb3dbbaa6f374923d7ed9e00cb62d5263e58eb9ddf8ed8cc22b98
MD5 ab1910e5536e201c31deee3f4371dca9
BLAKE2b-256 fe6a919f1663493ddf6f32a31e52a80ffb18e430463e9fd2784e3b18d22e1b44

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ef492333a8c26a4ae758d1c1af1fc75070d0f6e6e25edfbf63d1b008590dffed
MD5 5176a4ccfb1f293dc18c08f2f1b6e10c
BLAKE2b-256 d59645fa50d5499bc2b555c8e06dbd1c6b48d579055fa00a6572a486647ef63e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 311622e48abe64cbc3d46b0e105ec0804136d0ce1d37a119fd9b1d50ecb0fe56
MD5 f237d0145ef6e63dfae308f3d8978e7b
BLAKE2b-256 e25eb4611617f0558e4deb528b3e10ee5c72a947da882fc7a57105ca01d6a2b0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.4.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 785.1 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.4.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e4b81446c8f0c6d4940ddf46eaa733ee5b9b8a67fceaa9e684b80b6a87807c7d
MD5 df3dd8d62332e3e76842f3692ba9842f
BLAKE2b-256 7ec7f9effb122181e45f7d8f2dcec9346e716cf4ae3f59b573a0cf69120574f4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fc28e7f989959500097078c81275f114b7cef1b507949792afc5395845ded3bd
MD5 86bfc8f960b044eb3b8184d15cd016c0
BLAKE2b-256 c60c4213803376431cc8107224009cb2ef783925be5fa08251215c248885a65d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b504a4ba39dcce3c45f98caecfeaf01f218fec6cb1d38b4a8f875b27734ad699
MD5 4a81f1648889e3f0bb435e023b667af8
BLAKE2b-256 63008986842a177c744895eca833a027f0f79136ed1291044f3c1bab276c4ca3

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.4.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 785.0 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.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 705dbe6dea978f946ca7970c34e20451cfb756b1e6fba04b549831b40dbd137d
MD5 dbaaf1d91758d0e5d5bd907bd35c896b
BLAKE2b-256 8efc8dec8814d5ea368a6be587da10fcb5b759c548df7845da8219ee92ced588

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b205e61fbe8a341274bed17ab89e3545e9b110eebe379d6cf30516cfbc04a58f
MD5 3fc60384edfac7fc1d2fd7cae3f03c2d
BLAKE2b-256 832cba3214d8c5be5d3c3e70c13355f6f665eea193f54d8f3b2cba8127b30682

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 490c3845f96d41c76ecdfbb4ed8aaa14cc9414e5747e33fdc89235fe3a3058d6
MD5 2e3295acb66badd4f268ccb3836b0892
BLAKE2b-256 21d19868e0f27724f49ff265b5b7008101702ef2b1a16bd0a11148f37f6d082e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.4.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 780.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.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 71cd1fb9ae22ed6751e05b44762b1499e6fa8d3056e19e7f56405f0e233d96f8
MD5 97f633b2a58f1ae658afaf445541e068
BLAKE2b-256 23a367fd1e76181efd851c0835f4ee1fc1e503f2562d89c32760c204d1443994

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e7eda2806944a655595acc5110b93f60b356aca22b656d771a4e44afe815d23e
MD5 7fca635add9794b630a9814507e06364
BLAKE2b-256 64673dff21e2a141abd06742b08ec1e376e0ee8ffbd9103bdb927e73ab89da82

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f442daedd70679edcf0d1c8d714dc6aa865e20e273cb14216dbe33892179ce41
MD5 0bef22a2385a4c58a8388aef24321113
BLAKE2b-256 d5399ff7025753b7b260d007458e1ab5e9e0fe7a13715e359e1901ea1a883e83

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.4.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 779.8 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.4.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 68b921f80ec4d381e54f7246c9c074d9d0577e9c04ca6bfce0fecc91d9dcf221
MD5 9051501905748be0a350a923eb4afe84
BLAKE2b-256 70cef61660ea8c74d8f84dde79a561348d138554df02e502f6ba9cc178b35441

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 72ad5b1b69278b207b474a5a9c0b1b191c8113f57dde49bd18e651de28fd648d
MD5 1b2448b58ded9e30a2fb0a4674a1516a
BLAKE2b-256 44580f3829eb51f4f6bd9b1a3d79b5679ca508590be0e83fb08d4cbdf7b168ba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 85563aff051485b3c37393e24f7fe44e0c2c6f12842a8f9abd008976597c0645
MD5 0fceeb132f4c9189c156384166f66620
BLAKE2b-256 3749f641497cadb5dd97aea85a8024dd53c8bac74e8a80859325f774f5af00b5

See more details on using hashes here.

Provenance

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

0.6.0

16 files

0.5.0

16 files

0.4.1

16 files

This release

0.4.0 This release

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