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.23.0.tar.gz (389.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.23.0-cp314-cp314-win_amd64.whl (966.1 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.23.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

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

momwire-0.23.0-cp314-cp314-macosx_14_0_arm64.whl (470.1 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.23.0-cp313-cp313-win_amd64.whl (939.9 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.23.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

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

momwire-0.23.0-cp313-cp313-macosx_14_0_arm64.whl (470.3 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.23.0-cp312-cp312-win_amd64.whl (939.9 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.23.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

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

momwire-0.23.0-cp312-cp312-macosx_14_0_arm64.whl (470.3 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.23.0-cp311-cp311-win_amd64.whl (934.8 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.23.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

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

momwire-0.23.0-cp311-cp311-macosx_14_0_arm64.whl (466.2 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.23.0-cp310-cp310-win_amd64.whl (934.2 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.23.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.2 MB view details)

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

momwire-0.23.0-cp310-cp310-macosx_14_0_arm64.whl (464.8 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: momwire-0.23.0.tar.gz
  • Upload date:
  • Size: 389.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.23.0.tar.gz
Algorithm Hash digest
SHA256 1a71b5bd0fa0f903133002e1fa677edf8121303f7536803d81e760bf1db0c012
MD5 2b2bb0703f065bf9c40cd314a8409fec
BLAKE2b-256 59ca27250dc35f73eb539931faa97555bc0d9a6a5c2bf26858c6ece3c9314a41

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.23.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 966.1 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.23.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3c1005d4e83e65b84e8b88005184b4801067ee835f6b907864e2be2965428e0b
MD5 05186847e1f1a01fbb4003c00c2b9df7
BLAKE2b-256 f9f64e7bf9faba574a022fe32f0e143fa04a7304c53dd88a1765ce2135357b2f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.23.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eef49f2580fbc78f9654369a0aa538bcb580fa4fce13acf195dca0c3ff808dbf
MD5 8a35dd6391df0bc70613fe8cba02ec54
BLAKE2b-256 0bee64c1369c2b8d52de87d04e24f472ed544b645298914e5ff44fbc937cacc6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.23.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c69823f7e6c8d8beedd9f084ad47c1022e8b830b87c799b87995656041784144
MD5 9f0118f5a589e0ddd1189350610e266a
BLAKE2b-256 b387f0504e99d6cdffc20e5cdcfe3f662a33ee14fc585d2925e79ae2defb0a89

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.23.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 939.9 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.23.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8919ab1b5336d2d1a6f850fddb20aa1a98c38a5328ca1a891f53ebb83b91a65d
MD5 b443812576d14fbeea219e564c1e0a7c
BLAKE2b-256 25ea951149f6d59f67d19b2f63acae3005cae423bff36cc82f9b02a8c6e31b3a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.23.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0551d045c20c737d5750052c5fd9b7b900d7e208666acbca7300980cabd09f40
MD5 b9dad2d8345a1fe1eec209d4012bf213
BLAKE2b-256 ba2a6456940f3792db47f198a04c7f1ffd660cfd787ede371ea447d9a3461816

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.23.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a20a55be6b5d9294a2dc7c9a5e7f6687c3a78af0a5d0c8375b92b5a2a1e338bd
MD5 716ef82fd9531991351c1d3d001fb3b9
BLAKE2b-256 53ca9b4f4953014fd9df06d121298d575533e04f085b7bd824baf6b6d350de0a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.23.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 939.9 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.23.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2a9c4eb442aeadc71adfbe738df1166b29667cbd4f590ce077ff30d6d339e5d0
MD5 f776357b2923baf617e92e2459c0560c
BLAKE2b-256 7aa6100703711b198fbb1b9ed87cd23eb353596c73ce59eb29335f11135bc69d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.23.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1b094fdd7d5a9a692d0674fa92895d6178ea575b337db79dec0cf1110b6e762b
MD5 32920d62ea17280623bc6559282aa4fa
BLAKE2b-256 9ecb9112e21f0d893c2762f623826ee26a6bd1045272aea58b5cb16cfddc0d28

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.23.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5c34892f797cb12abb3d351d6e7aada73d99bb8992b2555e49950cdfa68af2f7
MD5 5d8b98b26838dfd56b20880dc319923f
BLAKE2b-256 fdf8d871e0b262a32d3de27aad40074816772a606d5fe2315b611087ce998da4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.23.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 934.8 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.23.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b1cd95065222daf3fb38381a6f5bd0a34b462153cb1cdd7108b053da36a0136d
MD5 21edff8ec198df53ac5c71f14a1a30a8
BLAKE2b-256 f652436426de90f5636c3f14cf150824a337a2a14fdefa6940887b8398d02dc2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.23.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 846c062a5b77a58606f3ac867b9bbfb66c403f682a46431e9fc9bfdb585d4ecb
MD5 6586705114fe097c30d6d538fa705d39
BLAKE2b-256 2f6b8bc8b6d80353fb449e546592e4da01d527f4191befbaa58e4878585178f7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.23.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7eb3216e9295cd66c5747ab81ebe40892d48b0fd9ffad788aafc9b04fa4d0687
MD5 93072009ef0fb97697d26ed745fcf568
BLAKE2b-256 3cd64788faa2dd6cbdf82a0238b9f61d59c334a8593c200fd6126f00de31fc54

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.23.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 934.2 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.23.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fd6dbf273ccf498eda1832e94c06ea65c6dbdf1fb7ee442fedd5f8f6fc9b2f29
MD5 820670951571cfd5cbd65e66711f108a
BLAKE2b-256 46d4bfb1af0f03ce97451a8ebfed0f8ba0babc3d929aab7c74b156aaeeacf2f0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.23.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5b79a5ae2d30c0475b859dddfc132d22ef535e5258063fd7cb36775da5435088
MD5 223bcbb838f92fd1a9126851e447f3a0
BLAKE2b-256 f1a6138454fdd9fbf1f87c65c16a225043b7d2184fe01a15ec49478533d51c83

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.23.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 752571e7b716a97918ccbe9e4c5cb38c1db78b85e466f88700b79986bac80f6f
MD5 760e04bcb14d661e232bd1aca4b89a1a
BLAKE2b-256 092de86a29d07b6d39f106a2ce9910ffa0cec7d673e8d192b50505301e85ce48

See more details on using hashes here.

Provenance

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

This release

0.23.0 This release

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

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