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.3.0.tar.gz (168.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.3.0-cp314-cp314-win_amd64.whl (799.4 kB view details)

Uploaded CPython 3.14Windows x86-64

momwire-0.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

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

momwire-0.3.0-cp314-cp314-macosx_14_0_arm64.whl (286.9 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

momwire-0.3.0-cp313-cp313-win_amd64.whl (775.5 kB view details)

Uploaded CPython 3.13Windows x86-64

momwire-0.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

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

momwire-0.3.0-cp313-cp313-macosx_14_0_arm64.whl (287.0 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

momwire-0.3.0-cp312-cp312-win_amd64.whl (775.4 kB view details)

Uploaded CPython 3.12Windows x86-64

momwire-0.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

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

momwire-0.3.0-cp312-cp312-macosx_14_0_arm64.whl (286.9 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

momwire-0.3.0-cp311-cp311-win_amd64.whl (770.7 kB view details)

Uploaded CPython 3.11Windows x86-64

momwire-0.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.3 MB view details)

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

momwire-0.3.0-cp311-cp311-macosx_14_0_arm64.whl (283.4 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

momwire-0.3.0-cp310-cp310-win_amd64.whl (770.2 kB view details)

Uploaded CPython 3.10Windows x86-64

momwire-0.3.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.3 MB view details)

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

momwire-0.3.0-cp310-cp310-macosx_14_0_arm64.whl (282.2 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: momwire-0.3.0.tar.gz
  • Upload date:
  • Size: 168.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.3.0.tar.gz
Algorithm Hash digest
SHA256 a2c158b2e0c12665526b3ec92f8be60c3fd4bc1f728d4827141515860970745a
MD5 c4bf33524263b0db5dd7d865fc711012
BLAKE2b-256 86dc1af46dc52f739d0d3336b4454db69a928b7cde9ca39945d3028bdf7aef50

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.3.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 799.4 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.3.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 1046408add7a0aef72043f38671fd1d9b7bb2dd23c0e6912e4fbb6e714102ab1
MD5 335cb281f058056c0ea07abb8926669a
BLAKE2b-256 f9d7bd331044abb35d895d7cdcda2fab8f10b193943beade06371ded0b5053b0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8ef2e8abfeb568b6a1d996ac95b1929ecd963d631cac6c6cd09d6d9008687e76
MD5 4e044beb157d48d42420ceb3997e165a
BLAKE2b-256 b53a1b47839a731834045db3ae8d3992576b682bfc5a9daafc2fc3f97240b8c1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.3.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 cae19a2bfbb24baa2a833aeb7b66dec611f780d1051aa1d916087c9670838990
MD5 8ef5d9f839b62aacb92b16b4e89ff5e2
BLAKE2b-256 38491d31f04092e2b7c49055c47f9d385228506b3fea2e63a4d09cc2017a8416

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.3.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 775.5 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.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e4a9e1753da6cdcb5364ed32a3ba75fbb5f6d6378cbca807cbbfd136c3ccd750
MD5 2f2d8b3f3b39fbfee3eb5827a44c1051
BLAKE2b-256 83b55c4da80da332588fb374917a4279d6c7ba6c1b93f6daba339870837eb717

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 aad2027009403a27782b191df0e9ac0003baab510b939bdb3e7e13b840bfc5a9
MD5 21ab475e5a137861e20ff1e99c4bfdc8
BLAKE2b-256 b9872820674e8a6d5d754084abc4611bdcfc48008b27a6b8cb4e6ce241189732

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.3.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 19136dd8a894cbf67aa34e0d209de91300ff9f9713792d423d9e3c197f91603e
MD5 9e920b83783c5ba5e15bccf9c9af5b6a
BLAKE2b-256 c3c5e30ffcc4b4fa99b5ad8eb712f35bb847a1377b2c390e7d97cbccf9784657

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 775.4 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.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 def47690a8f17f68f1fdc2573c8c86bab26bfd8c5d6628118885f7bfd009f8a5
MD5 b028a68de55f7ce0e80d828f40d1e602
BLAKE2b-256 2c3c6796a77319791bd6a4d3d32a7df4a5873c22c31667f0f4cfc48045124e25

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 809ef8c31fef7465663cb697293f640951051de3a2e7b554fe2c8ccd2cb6b03a
MD5 06730c03f331d25ec0b36a46bd50f1ea
BLAKE2b-256 7488fd1d497c95c4a207a21952af55d6475445243eb10167dfdddb3c18d7ce58

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.3.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 02e708c7626e1c6ca4c617a67cdd7036f0a4ca7ad1e7cf6e5cfd608a6d428e05
MD5 a56065383bcdbe7a933ccb1e77dca572
BLAKE2b-256 7989e0239d6eb2cc40113b4d3d75e0f680ed8e9d002050e6d9de41c02a7d6305

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 770.7 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.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5ad17c0580d4cb27212569ce8211515b2efb51b1520bebb8c17cf8bbae7d9df8
MD5 d24cff0854aff4ce4b047b2271f285bb
BLAKE2b-256 9e477d672ab50f92ba1289bb3a0d7e65d0885138f7570d6df3c73cc8bf4023bd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7fa07856aabd69e121a44de76a4cdf10b6d9c02fc3ff53586580131284bb898d
MD5 aa247ce2335acb575b865a1a4282dfd1
BLAKE2b-256 581717c0ea211b021b7be76965866809e6f4e2a5089dbe1749f6eb619e51157b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.3.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2fe76f2b861b166d6f41e90ae28457b1d592ebc943c9628c39090210c3857b42
MD5 7ef77f86a972d4445705f317b2fac58e
BLAKE2b-256 42c8bd986ef30fc4790d0527bec1cbb1fca46df95412250a67075c6327ad5b52

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: momwire-0.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 770.2 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.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ee6d9f5994e6b9024ad7eee9eb4fa8fe2fa7f9fa5fc0bdff179f34ae7a3d8361
MD5 aa903e0a4b5f0b5fce727730f18b7b33
BLAKE2b-256 b4401aab73f3ced321bf341c3a38d7966d23ac1cf22899206f574781365161ed

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.3.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0d8d7d21e33ee9d484b2413538143eed5d64d3004d5eeef6824c676acb6778fb
MD5 fa01ad4d2df9482a737fcf935d296fed
BLAKE2b-256 08c135b8e310196e5e25c9396ceeb26714e92e1e84f1197eea541b4f2d110148

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for momwire-0.3.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4409a942229c24ceb41cc2df40027c6f17d169aaf7b3fbde521c6665d0a903f8
MD5 2f19d37d075609e9b9dbaf25a3b1f859
BLAKE2b-256 634c572c8457f08b775c75f936d721e5de1f75ae1740a38a795a576318352ebc

See more details on using hashes here.

Provenance

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

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

This release

0.3.0 This release

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