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.1.tar.gz (180.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.4.1-cp314-cp314-win_amd64.whl (822.9 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.4.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

momwire-0.4.1-cp314-cp314-macosx_14_0_arm64.whl (317.3 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.4.1-cp313-cp313-win_amd64.whl (797.8 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.4.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

momwire-0.4.1-cp313-cp313-macosx_14_0_arm64.whl (317.6 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.4.1-cp312-cp312-win_amd64.whl (797.7 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.4.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

momwire-0.4.1-cp312-cp312-macosx_14_0_arm64.whl (317.5 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.4.1-cp311-cp311-win_amd64.whl (793.8 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.4.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

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

momwire-0.4.1-cp311-cp311-macosx_14_0_arm64.whl (313.9 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.4.1-cp310-cp310-win_amd64.whl (793.4 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.4.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

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

momwire-0.4.1-cp310-cp310-macosx_14_0_arm64.whl (312.5 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: momwire-0.4.1.tar.gz
  • Upload date:
  • Size: 180.8 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.1.tar.gz
Algorithm Hash digest
SHA256 af19c2c459f36198cf35306982cd16279a8d0bae434950194aa4aefb8c050740
MD5 192f2d744e5438182c02ed43a4f515d8
BLAKE2b-256 7d9088390c6f61f8f4e820d6bd170cb4042972e42712d7914cc441a6eec440fa

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.4.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 822.9 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.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 beb2249cd7b8c7700a0ed5841702e6171d8c8f3b8a885fa2bbecd5088826db6a
MD5 67f7f8d9d1e29bec7f71d37b33ac6186
BLAKE2b-256 9a9d9fd368c6f465113a3a3dc45240a68084f301cc2f62a9af90be7f48827690

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bb58a88328eae03695436f385d200e911bff91748d2db99e7edec111421edb8d
MD5 e3a3e5ff880d98262ba28c1a580cc6ac
BLAKE2b-256 19b28b8776bf2b9c19d01abe621cb377377baa58bba8c2a4066d64e38136c161

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.1-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 220b7a24cb7d04f42031329d7aa9c3d16e8ef3531b30a19470a16e3daf9482e2
MD5 f66112a64faa33c77569af47b0d1b8dc
BLAKE2b-256 0e4cd2d1f94fdf64e6d45475282dc9a8560cdce02e2014c45fafc18e064436b2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.4.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 797.8 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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0bd7044cfd2875002292833adce3946c4480d7f185f467fd0f8794ed84af5035
MD5 e7dddf56087a5ee4d2b6e54dbd7bafe4
BLAKE2b-256 99f212f729e5402093688451e025dd86d07c23b3b6b2da7562a8dac4d5c22391

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b66b0c43e63cbdadda485d9829af5321817b955f5f4de3b53141ce8ad410d6a9
MD5 fe7b2eaaa1dfbe5057a97a1d4f1a64cf
BLAKE2b-256 402d531534841664f18f7ea4de37527e45df6c3f849c41f53c690a88b0050e5e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.1-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 020343224a606e61f54fbc4a540c3eda2dd975470d80528f4f2b7dbf82a08184
MD5 b844d10ec337b667b304ce9b013dc3ce
BLAKE2b-256 f2c3e4033799112c07c5578690861f5f23cf855bc5036f0ccfaeded7fea06132

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.4.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 797.7 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a87cf730970a1e9ade7aa75422e87f18e1bbc753e29af351832afc074cf57ed5
MD5 01596ded157cd25172d31ca46f572977
BLAKE2b-256 3945b63ba936512182b6baf471d40747ed6d3c97e8a5d9eb40cbb513d7357da1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 58f0cdedd79d9992c731f3a70497af624177e10e54af48b80f2e77453ee597ce
MD5 33ae4d7af7bbd741af056b8debe0a740
BLAKE2b-256 1f2ffee699a23a450056d55134849a8d106b0b40ea574de139903a20892e72b6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 74d9ad31c1516c740abb3ad40369f22bafd143f52aee926837a92b44496fa713
MD5 277010fa65bc078d2fea5c84ad316cb1
BLAKE2b-256 dd283f0523eeaed3835867aa8061eedf08e1fb63a92fded6fc4e9397a25db95f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.4.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 793.8 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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 43dd3755112f49822efb67c1ced64e31a6973e42c24dde38ec31ed0c90697599
MD5 cf5fa7df10b08ace49495e9352a381dc
BLAKE2b-256 0cfa21e9f0169b11ef344d33dab40fa471d57fc9e2175524cf222255b92a80f9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 92427d31fa66aea4eea5e44e8dcff19a778d48f4f6bc147e41cd1bc4c55f3c04
MD5 dc8579ec2b5b23c7281a7442bb56d17b
BLAKE2b-256 22f5e1598f7984e72e7dcf25ca48172219b685610f748f43e06278e43c212a8e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.1-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 bdac9d0b9e5fcbe9d1ecc85438b121c70b1f1299b39e5f45081d0f7ae65c55ed
MD5 31bfe3adfaa69a6797ba7825f79f9b0a
BLAKE2b-256 53520590faa1e718cb4251dc0b717baaae3bcf48c542b814c6bce053767288af

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.4.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 793.4 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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b8bc381dcf0b45a26bcae5bf1b1a97cb5f4389ae5daf8073888d09c06b3048ec
MD5 3fde433c3a06ce183f8b0fba8590ebc4
BLAKE2b-256 c42e51781212ecbd80aba8640da1c2bb9d0fbd0288713a6f901574e874293b0a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1de5c126df9623a0b620fce71ff34ae888e9f908efdd6f8dd8c6963f7d5b174f
MD5 a768f2a53fe1c2628fc601ce1b0cbd0d
BLAKE2b-256 1216d5649413884253a2f6aa9aaf0215a9bf9f45e8df0071c2f50d3448b409ff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.4.1-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6f19be313780e6567301b4ace19c9801cbdb2eb6e974e180512d8635d5925177
MD5 773a2b81e5b7aba5ac753b369785615a
BLAKE2b-256 f46530720e8ccdc4f0759da52c128510600d31dba80a233249e4f5e8e5161c15

See more details on using hashes here.

Provenance

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

This release

0.4.1 This release

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