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.18.0.tar.gz (267.2 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.18.0-cp314-cp314-win_amd64.whl (906.6 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.18.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.18.0-cp314-cp314-macosx_14_0_arm64.whl (409.7 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.18.0-cp313-cp313-win_amd64.whl (880.7 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.18.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.18.0-cp313-cp313-macosx_14_0_arm64.whl (410.0 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.18.0-cp312-cp312-win_amd64.whl (880.6 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.18.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.18.0-cp312-cp312-macosx_14_0_arm64.whl (409.9 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.18.0-cp311-cp311-win_amd64.whl (875.5 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.18.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.18.0-cp311-cp311-macosx_14_0_arm64.whl (405.0 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.18.0-cp310-cp310-win_amd64.whl (875.1 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.18.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.18.0-cp310-cp310-macosx_14_0_arm64.whl (403.7 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for momwire-0.18.0.tar.gz
Algorithm Hash digest
SHA256 9135e06675151b6d3d681e6a924eb6bcb59f650efa5454f3e11b9aafdbd97deb
MD5 847a1cbe97c760a9dcd57d47a4c67621
BLAKE2b-256 239bf8df8fc653e88e0d40fc56a715dde0ef400044db4ec13bb097daa6239abb

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.18.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 906.6 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.18.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d732791e958b88823a0a1d73951b9ab2446f6529272fcac6637bee74063abdf7
MD5 ae0606c896c44a481de49e5725a9839f
BLAKE2b-256 227b2dbceaf564f04166f7f0ee68b6eb81a2186b131da3dc9951c90bb7309906

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.18.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 53dfd6838031f601fb94fd82519e6c56013dac222b30e4ef15aa2be9da5aacd2
MD5 7dfa7e6c98c9027e29b5d5e7a6b08faf
BLAKE2b-256 49a2f72d884fa3c2985f76f76b4c9d0bba4c131bd8f6a5e5e829a78bb4ab9c33

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.18.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 20afd7ea27182cb963912b144a2921c35b95dab9974dc956787ab9bce4542c9e
MD5 dcf9eb9754b1d93098dc2be5c098d24a
BLAKE2b-256 1ea1849c67e3dd96a46490df928e3eb6af8a44e22cc99fcd195dc377aa7258ba

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.18.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 880.7 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.18.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d8defea28da49af0540a3967763b98cecdea1aba587b7de7a36926de954a1619
MD5 cb6b8911cb827a8bf4eaa3e998e52c6e
BLAKE2b-256 ccef3221d84b226bec9c8b7c92509df714b01b64dbf6a9963e0b74750e083f66

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.18.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f64bf04b70c3527125c43e4ae5298c1eae0d02c8e5399d21d373e4545dd1dba5
MD5 f411d989f0860e24344ebd0075bbbdc9
BLAKE2b-256 b8e63bc73383db43f6c824a4e981f404372ceee4d07e56ba25f5435f0afb44eb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.18.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 33cade2357d68fe5b7e553912e56ee0da6fc047ae0a3288374a59e74fb734c31
MD5 31206d05af1ca77940320a6cdca1f1f4
BLAKE2b-256 bfebf5cb16511adfd1e72d027e7d3849f050adc789caad01519b1dbe891e0eb5

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.18.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 880.6 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.18.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7bb5c3eeb77e1ea801eee49c872e68d4cfa95fcda590684c586c60a16a133af9
MD5 8c45b728f4da676804e61f1aa3a90cb4
BLAKE2b-256 9e0c3870590ea8d82b29417f18e4d60912d6b320d58d14709ebe28388f970d13

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.18.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 723a5aa56738f941056defae44291cbda58a7a68f662d5a97ef6cf908252b710
MD5 49beb661f4ec788202d4cc28165a764f
BLAKE2b-256 cd08af9c057ce97c83d97dbbcc575ed325486560986efe90e7a80e6a6d6ee03d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.18.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 975f8c8b924292aa625950b6774fb4df9e093483d3df8451db5e948eab8e3797
MD5 40299e912f6e8c9fdc7ee3b0fd35c700
BLAKE2b-256 eed9595b3ee402e78bff08fc61a029d7aaa941e6c9148108bd5e5563bdab05fd

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.18.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 875.5 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.18.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 851b7ea04261b792efbb5e380289e2d0b4c584a73a74465269712213c19f139c
MD5 171ea19c1c3505d46932e310f8c22925
BLAKE2b-256 b114fbc91bad293975c1c17db342ad97bdde02557b0625597642f651208e805c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.18.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9c06d9bbfbe5dcfe1393800e3d64165e6772054c0d8cf212f7caaec34e0b8424
MD5 c8fb4d399f7d496f03a9114d070615d4
BLAKE2b-256 455f3c62d05cbf5a5a3a4f56b6c679e3d3f70acaa5ebb8f0ade649987bee7d75

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.18.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 db27b41df546305e018ac0ea3539150054414e98d668128a3cb2262a7f14e895
MD5 f9cc9bb2db4e0b8c735323368ed25aec
BLAKE2b-256 d580c08c5034ce3354df747bef5d7575e1adf71a672e2f95e89e8e974548f106

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.18.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 875.1 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.18.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a0ee3d8998c738fa0396fdc4b53c11da81fbf84e84c9947a7a7a685cf40f49c2
MD5 5b4a26210ae124e169cf2a034680857d
BLAKE2b-256 e1dd103f5f1b0f6f67d21e948a18a478495da22f4a2b285b3eac2bec0af198a8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.18.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9e2baa150556b03de88212e1f4de0646edd0b737709075e379012029c09d731c
MD5 e25f92bfa8b5baa9e51f30d9f8806375
BLAKE2b-256 1e17adcc1a9d1b970c8cac4ccd5f8304b50dcb275d8f5a06f2efba381687709a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.18.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7bf3112d3d9e163b0e547f2efe9555aea4af1c143407a1f916bdad0817347c6f
MD5 2ed7bbd7f04b7943eb26d1e27fece373
BLAKE2b-256 73a19c0a81e9ed9a84281815795952ca47e10b42cc76ebe5779703b906d75056

See more details on using hashes here.

Provenance

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

This release

0.18.0 This release

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