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.17.0.tar.gz (262.7 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.17.0-cp314-cp314-win_amd64.whl (904.8 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.17.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.17.0-cp314-cp314-macosx_14_0_arm64.whl (407.9 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.17.0-cp313-cp313-win_amd64.whl (878.8 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.17.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.17.0-cp313-cp313-macosx_14_0_arm64.whl (408.2 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.17.0-cp312-cp312-win_amd64.whl (878.8 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.17.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.17.0-cp312-cp312-macosx_14_0_arm64.whl (408.0 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.17.0-cp311-cp311-win_amd64.whl (873.7 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.17.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.17.0-cp311-cp311-macosx_14_0_arm64.whl (403.1 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.17.0-cp310-cp310-win_amd64.whl (873.2 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.17.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.17.0-cp310-cp310-macosx_14_0_arm64.whl (401.9 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for momwire-0.17.0.tar.gz
Algorithm Hash digest
SHA256 9e8c0fe24fd299d2297b9716b5e6ecc1a1e871816759f4cb21813294518f37bd
MD5 d734e401e81250958e1681f7d51d2a41
BLAKE2b-256 c9f4f7b52a285b4b2e6499aa521f645385bcb5cc16a76bbd5de3cedb31ac407a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.17.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 904.8 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for momwire-0.17.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 6cb22d2842f521420ed0493af574c35d14a71566d8c8c5c71a75c7a0df675134
MD5 4c65b55123607b23768340238cc45da0
BLAKE2b-256 c1655d2722b4840595ecc7904de80001b100712d044ce9c2920aa8c253b0ab0b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.17.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 632dc713a3e690249f87aa225a60958990214cacd3a666ce1c5d3c4c48ebcbbd
MD5 69f96b243e120b2dd554b4e645136f0b
BLAKE2b-256 3535cb00481bf1c29a8009bc8785949a5c7552301a0c141b8543d757c2d6dbb5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.17.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e85348bba611bee9a256316a623c3e6e541bb44583d9f886f76fb87ad30b8f30
MD5 e6541b6c187729925d75cb5626ef49ac
BLAKE2b-256 c15ff4ec533ee0fc680c9cea202c712f8918e7c71ae266126b11cc4f56580e3c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.17.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 878.8 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for momwire-0.17.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6acf35df7e25c705ee52211261dd9af4977cb722c3ecd62fdc105197c8953e98
MD5 deb31a8f7511fa4cf182bd40c44816c4
BLAKE2b-256 2cd0cd18263a3f8468d3227e94486bcb2882811289a139632ebb37d86a94432e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.17.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0292c9955397bb63d21bc6f62d2cc79dd39c70b2a79c172bae483947e8e5baa7
MD5 4490f265beffd4fcadc76b21a9ed5435
BLAKE2b-256 507a4943f23f2e3f72a20a15cf730728cfbc6e077727f8f9664f83713f28555e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.17.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 90f47bd252683fd7324c59dcedc0659a5268849023c033147bb36d65db51122b
MD5 d40668e5e8cf6a5cc68bfdaa0f0cb758
BLAKE2b-256 6d46252d4a4037a4b01a78ac6299e98c2896d2f120f31f7a4ead3c71d8564f82

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.17.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 878.8 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for momwire-0.17.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bbf79b33c924d2b821c6ed0fd34d6774de968636ed668ce43d75b9a658242959
MD5 d98b49c27ac9c6a3f2008e6562c03acb
BLAKE2b-256 94152071a3faac7d72cff195a3067939e07110684427414284f504b521456349

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.17.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 041f2b31c1a60b4211da2b598286035bdafbbf27d93861d86d9ce28673489e67
MD5 53c728ef5ab0fd1da099c40a0aba4bcf
BLAKE2b-256 feae943099e6a104653284b9683e6c059e56f6bba8541dc6b64c3b1221e9d8fe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.17.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 cd45e4f5c1b7917e5cc4f8952c222a51f809bc56706070ffb2c98a362791135b
MD5 0102695b12a7e612a16376ab9b7492ba
BLAKE2b-256 b08df3f9b256acf6906e2042b1524b3ff2aa0befd7a19ce7d4585540082e8c01

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.17.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 873.7 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for momwire-0.17.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2b674adba2cfc5a5ee2096ed0f1637c0543de16693803751e0c60ed8dee19e3c
MD5 76c0a51402c88499b52b235109e773e4
BLAKE2b-256 fdf78152712a45ec1a17cdcf84811dfcc6eb8fbbeeafa52d41710894d0f5f681

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.17.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 706555745e0e45539b351623b1521f9301116ae1d77b7d58acb433abd8f95492
MD5 8e0cacfe9771e2aaabc909929929abe7
BLAKE2b-256 98a997741473290ea36c2ef9cbe402a0d00c31c896b79dbc2ae3aedce0ccfa86

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.17.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c829e0a3d2cb4dcde752306f8ab3886199dff6c342413870709ee75b4a38b96c
MD5 9077b19f6f81fa2f0794e77baf5261f7
BLAKE2b-256 3a6508760a46cffb345b564c11d395653667c83bbd2d6bb5a7e94892eb42535e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.17.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 873.2 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for momwire-0.17.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 64d68e353289ab2cf1b155a7887b3440815eaf9c43a2e25fcc8b649e1f2770f4
MD5 91340ebd23438f2ca029652260651eb2
BLAKE2b-256 565bf1167dfa29d89107f938e553b4593f25e23f83779b52bcc04dec76c86abb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.17.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bad0d7bcc281ee4e5fccb90c76d287e9becb225a6de85de7bdbb6138eeca31c9
MD5 0247e4c79fa9805eeec066010ac93d7b
BLAKE2b-256 15214ec3d33bd4d8c65a29b84ab70342d5c6bbf277032845dec0fbae0f9cc7db

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.17.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 107757e6f5970ab4ea0200fd7384926ac564e531640561a92bc56ba7180b70f4
MD5 ac9086cb36a515420aef12243aaac5c0
BLAKE2b-256 e72df20747b76e9e92ba0c047d1fd1daea7f6866c51dedf9e87c9ea8270630de

See more details on using hashes here.

Provenance

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

This release

0.17.0 This release

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