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.15.0.tar.gz (254.8 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.15.0-cp314-cp314-win_amd64.whl (900.4 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.15.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.15.0-cp314-cp314-macosx_14_0_arm64.whl (403.5 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.15.0-cp313-cp313-win_amd64.whl (874.5 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.15.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.15.0-cp313-cp313-macosx_14_0_arm64.whl (403.8 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.15.0-cp312-cp312-win_amd64.whl (874.5 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.15.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.15.0-cp312-cp312-macosx_14_0_arm64.whl (403.7 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.15.0-cp311-cp311-win_amd64.whl (869.4 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.15.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.15.0-cp311-cp311-macosx_14_0_arm64.whl (398.8 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.15.0-cp310-cp310-win_amd64.whl (868.9 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.15.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.15.0-cp310-cp310-macosx_14_0_arm64.whl (397.6 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for momwire-0.15.0.tar.gz
Algorithm Hash digest
SHA256 aa847d40663bc1f1d5ad1ded643b9378f7a8c7949f7938325528a1157965bfe2
MD5 27c0dd5e84538970d912005f2ae0277d
BLAKE2b-256 b8211461f0fe04b01575a90103d20373af124e5ded5a9f74a98010b66790cb8d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.15.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 900.4 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.15.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5d7d5d0fc62d22168466d4dc44d01b62792957c465ab38162e80d54f11d67e39
MD5 8f467c8c35c0e4249c25d17d769e5b4d
BLAKE2b-256 afc41516809aabc40a9221bef8bbc6f5d4b67e525c21751abf5b431a368cde42

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.15.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dac4665e3cb993bcaf94249820d9c9fff9498bd2aeb0a53ec5ffd043ce660a69
MD5 43f96a505871c67e22c11040c5a82db8
BLAKE2b-256 5ff307b9fb155a8d57b80bc5af818a615d45ea8dec6ddcf8acb0d54bf9737b06

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.15.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 89556a4bdac7eb8f1c8a158d79768f4416f39acb47990a5db6ae9d5062b94a6d
MD5 e30ad6721dd925f558b0aaff07ad573c
BLAKE2b-256 eb0374255ff0d17d13a6f142a6a4049ce636ba3b104a2abb2644098108bd0743

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.15.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 874.5 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.15.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b0d94746478c0d1eb04d32141adffbed33c85c1de4336000bf3595bad39358d8
MD5 2d55db410f61e5e2efb4cc9bf4305b4b
BLAKE2b-256 0a2da27a085d8347f439f35c022b7778da757c548c587f3d7bcbb8599a01790a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.15.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 41fbc94db409108bda61277cf51adc6fd8161f4464844ec05f235ade7a27c6b0
MD5 a9cf8ee738f95d2a29fe543b53d8a1e2
BLAKE2b-256 d003300c386e3ab4ad3382446907b7c003f5537a3899bf62669b64b3f80d3f9e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.15.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d82840572563a9ae3b6996b42e4a5181e67d5710ce1875b63057d9bfc22c93bb
MD5 28cba408c75bcf52bbc95550eaff0204
BLAKE2b-256 b96717e8dbfa2381b48753249169edd0d0b9c5e5bff45b3a19b82557e23b65f4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.15.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 874.5 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.15.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 043e45a3373690d9b760ec014b4ec4264ee257f155641c8f0b6e3a8db247e426
MD5 9a6d41ff85828090d7f9fe23ce6f4e00
BLAKE2b-256 3f2ce5d54455ee99ca7c843082d4c3815682dd9e0e053ef09a40444dd0c57e6d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.15.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 16a2e7d14d96c4d1f174b99f3aebabee332acd0b082e720bb98ae349fc8bd6e4
MD5 698fe0b89f0dfd88d6bc6bec7d8db2fa
BLAKE2b-256 f998f72931faeb7a47403f87bf12b56b562c0a812b64baf03c2c683366d4ea64

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.15.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e9767608c5418a4ab66917c641d5987039108a7faa9a0897077130802ed285a7
MD5 2486772e5f4fc875ea2bbff48a8ef232
BLAKE2b-256 8ce107c2a72b3d36da8ff947b3a0291876d9389a30b4c1e937a868266c7ac838

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.15.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 869.4 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.15.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2e89e2941cfd91ac04dc08c73f377651d49ed42eb1cb13d31acd4ea59f212c49
MD5 7e45065be992be3664ac6c685c7d92a5
BLAKE2b-256 f17e08d5a9599dbab26b1f956cd2b27cdcee90f77d89eee539ff233f6ce81189

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.15.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7d2137033b2e8e859e2f7ab02012b98fc0f559145dc9e6ba4c7d3c1a284b8e84
MD5 34985163d93a373a7a6ac45a46c2e0d6
BLAKE2b-256 d6bc7026acfb7c8b24585d6de69f79df5458c517fe915cb3848db9f186a1fd12

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.15.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 23d450ea2756fe8733e64b929b704629fc00a6a894a86cbfd8f983f10e9f3014
MD5 57ddab5f87de59f8ea5d0ab1d98f7f8d
BLAKE2b-256 0636be0027d0d50fa8a9e5192398d043001a88f225f7064c1c48c9a3f6549c5b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.15.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 868.9 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.15.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 db7584de9e9666d08a97e4831faca6eaebe5a3687ad208463b4ec8bf5648ee6b
MD5 1185b5ce1f42f2b5149a41a901431df8
BLAKE2b-256 65daea3316da0bf291c7eacb87b3c3bcc716118d62e51405e8474ee4fea980c5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.15.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1c6af4474ce0b6d6bd66fd8cf89015dd8c00cc17773175cb0bd86f9853399a5a
MD5 25bb6a0d25758bccde7863104fd9b911
BLAKE2b-256 e1ae25165db35b68b70171edd54f0183ddd5f3e77fd606860d959285fe4ddc7d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.15.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 af530993903131328b18cc56f9a1d4fdf7a8fa7ef863a6b27e9852a15d5497e2
MD5 5ec6ff9b4e7237251c9e37d44b5b2aa6
BLAKE2b-256 22dd7f1ee8f2636ed5b576b17cc7181c42efa46bfc6de11cc3b131e467d77d42

See more details on using hashes here.

Provenance

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

This release

0.15.0 This release

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