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.16.0.tar.gz (256.9 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.16.0-cp314-cp314-win_amd64.whl (901.1 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.16.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.16.0-cp314-cp314-macosx_14_0_arm64.whl (404.2 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.16.0-cp313-cp313-win_amd64.whl (875.1 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.16.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.16.0-cp313-cp313-macosx_14_0_arm64.whl (404.5 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.16.0-cp312-cp312-win_amd64.whl (875.1 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.16.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.16.0-cp312-cp312-macosx_14_0_arm64.whl (404.4 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.16.0-cp311-cp311-win_amd64.whl (870.0 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.16.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.16.0-cp311-cp311-macosx_14_0_arm64.whl (399.5 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.16.0-cp310-cp310-win_amd64.whl (869.5 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.16.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.16.0-cp310-cp310-macosx_14_0_arm64.whl (398.2 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for momwire-0.16.0.tar.gz
Algorithm Hash digest
SHA256 f4b60240931a6db8dfada03b32b9c22cad55a713fcd586d5f088b682cbcae00e
MD5 aa57d50926d6c179b0b092284151ef6f
BLAKE2b-256 b85e2b7f117523568fc9ca8251900ae12a25417f214685bee782bb78aaa93790

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.16.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 901.1 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.16.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0f81b4ab86faef229acbfbdf427be134e081c10817edaf86a7f3e9470fb2076c
MD5 fcf28a4a12813522cf361ba9cbfb0715
BLAKE2b-256 8b3b8c3731136834f733ba3ca3124537cc29910cc189a82543fa591a4b99d950

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.16.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cbb019e69c9e367defcdac4d80377d8d5a46788025358f6a8f3d634ef9233217
MD5 ea4a513d4e2a32cd092a9b2bcd0ac8be
BLAKE2b-256 07e22e9a69d2d5cc9faf6f90fda0684c55a23775fde5955ef9dbf17d39bde29a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.16.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 366454e56521757640f41cb70292c61a6f7d2bc648f94d597b3b02e405fec777
MD5 d37c44d7810630c235c21efacd8e59be
BLAKE2b-256 222a074adfc69aa754c4077d476e7880ee07a06392044ce8975f5c839e375b67

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.16.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 875.1 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.16.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 dea6cd078321b92d174d6aa7fcd1755002cb6bc3afc98037be2384cdc90ebb87
MD5 09d601a810f13470e3e26d5444b40de2
BLAKE2b-256 45fa91dfbc89e4ec2e53aa28386fd7bb5b47c894f12c10d0bcfcd7e181f780a1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.16.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 342b81032d6713ba7b1c7ea0f7c35d5e53ae1d9bc2b623ab1da74aff33c48443
MD5 e8d9f33205c70dbe5b8f339158910e11
BLAKE2b-256 a7293a00266e91a1bf6f69ac27596d4193be2e6eb4a69578506be81f06d242ad

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.16.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d475a907b62a421bf09244367d4db7dd8608ed8589122bad485d3fbc1e166817
MD5 61ca920bd077d8ba6d967e81418b45d9
BLAKE2b-256 3d925fde85fe61bc6ac5cba45dfd749b2143ac70f79f65b4c9cac0ea23e1131f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.16.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 875.1 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.16.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 86820e89e800cfbaef25194a0bc9ee70d448781dbe19ab68e6ba31d39a474027
MD5 7ee6feb11063e38c4efa56930bb8edc2
BLAKE2b-256 64545fe0d98c082f203bb38c30e2bfb1733dd501f53808208e4122e24532bdd7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.16.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f0046226fb3bb7f172f01da108cf30612190c6b094e8fa5670119f74ed3f3116
MD5 1f73b6080f1cd7d5fbe4b135be1c0e53
BLAKE2b-256 d72c5d043c6e221f3345520bd1d113e3a6ba3d9792dadd0587cf8d3b3b8800af

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.16.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 edbe3506a57bb2b8f607f1476ea2a12be013fa43fbe19e9e5cc1cd0d30c4bb6d
MD5 a6c0276c798f8ed72eafbf5cdbd049ae
BLAKE2b-256 de3c7bed761520fce17f05214a149d6c9ec1ddc843858045483127f16fedf684

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.16.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 870.0 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.16.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 94b031e7ce15ee7f09cdf011368a26e345468113a11759426d79feffff53d5e7
MD5 fd7217c142b0961253a4cf409168400a
BLAKE2b-256 db59e22b0e88709de7617998e888f81f4bb8a614485b41361a5b8b40fcb65d3d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.16.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4094033d0e70e04006608fe6834874e8c8241c8e9bb57e035e877f51adacc3c9
MD5 6d17555bd81f8ddefe94be98ed874dab
BLAKE2b-256 81557acee13c948fa5092b4de2b7e12fc155c324cbdeab29239f65a66b87ea22

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.16.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3c9b6e91e670ec9f1c1d3a9e034f91c18c1bfdd6cb3ad0f982e7813960d5f162
MD5 6f2e88f9625a910501ee7745bec92d75
BLAKE2b-256 248db5701e7f320e5b09551de3b420e94f47e9ca24a24b905b902795d58cdfc7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.16.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 869.5 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.16.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a6c47cd5859c0b8ab807e612128985e0365795cb3c6e042bf25252349203bdfd
MD5 1a18083476628063e8e84d09387e9366
BLAKE2b-256 c6d217f6384e307544e70372aefa278bf62bfb508929afa74905560d26c0cd9c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.16.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a4d7c66c1bc6b96a88ffb2a93cd2de45bde75ada8193bd251f55dadedfa740a4
MD5 cd8d90c98509647febaaffcd57c0dc0a
BLAKE2b-256 8a5bb39aeb96dfd157d62da2ad60a687ee889829cf417d2e42bda896b82d0268

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.16.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b4cf9a4458cda0f781168b43983891b4253a737bbf0f8d6a0b44d38ae17ce1a6
MD5 72ee9913bce8956384d5400b033ee8eb
BLAKE2b-256 5bdee0f636fd7ab519842723c372e702acb370c0af518bc29fc9b421970a2345

See more details on using hashes here.

Provenance

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

This release

0.16.0 This release

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