momwire
A pure-Python method-of-moments antenna simulator with optional C++ accelerators (pybind11).
Extracted from antenna_designer.
Solvers
BSplineSolver (degree-d Galerkin, default d=1/2) is the default solver;
HMatrixSolver and ArrayBlockSolver are structural accelerators built on
top of it. SinusoidalSolver and SinusoidalGalerkinSolver reproduce NEC2's
three-term basis (collocation and Galerkin testing respectively) as
in-codebase NEC comparators. RazorSolver is the NEC-5 formulation twin: a
tent basis with razor-blade (RWG mixed-potential path) testing, transcribed
from the NEC-5 Users Manual rather than NEC2's, free space only. Because its
testing rule — not its basis, which it shares with BSplineSolver(degree=1)
— is NEC-5's own, it reproduces NEC-5's characteristic slow O(1/N) impedance
walk without needing the (licensed) NEC-5 binary; see
docs/razor-solver.md (momwire#309).
Ports
Every solver family exposes the same port surface, and it is the surface to
build on: compute_port_solution() runs one fill and one
factorisation over every port at once, so a multi-port structure costs what a
single-port one costs.
Three kinds of port, declared at construction, and they can be mixed:
| kwarg | what it is | entry |
|---|---|---|
feeds= |
a delta gap at a point along a wire — NEC's EX 0 |
(wire_index, arclength, voltage) |
junction_ports= |
a shunt port on a junction NODE's KCL row: the node drives net inflow (the node's row leaves the constraint set) | (junction_index, voltage), or a bare index for 0 V |
node_gaps= |
a SERIES EMF at a junction node, in series with one named wire end — the apex feed | (wire_index, "start"|"end", voltage) |
Ports are numbered [feeds…, junction_ports…, node_gaps…], and that is the
order every port readout is in.
sol = solver.compute_port_solution() # one fill, one factorisation
sol.y # (n_ports, n_ports) short-circuit Y
sol.coeffs # (n_dof, n_ports) — column j is the
# solution for 1 V at port j
sol.port_currents # the same matrix as `y`, asserted
compute_y_matrix() is compute_port_solution().y, so the two cannot drift.
Any other excitation is coeffs @ V with no second fill — that is the point
of the class. To turn a column into currents on the structure, use the
solver's currents_at_knots(coeffs[:, j]), or element_currents(coeffs[:, j], subdiv=…) for the (mid, moment, nodes, delta) source terms a field
evaluator wants. PortSolution.basis is an opaque per-solve handle — do not
introspect it.
Decks
momwire.deck reads a NEC-2 deck and puts it on a solver. The dialect —
which cards run, which are refused and in exactly what words — is specified
at
momwire.dev/reference/deck-grammar-nec2/;
that page is normative, and the code is tested against its anchors.
from momwire.deck import build_solver, parse
deck = """CM 20 m dipole, 10 m up over average ground
CE
GW 1 21 -5.05 0. 10. 5.05 0. 10. 1.E-3
GE 1
GN 2 0 0 0 13. 0.005
EX 0 1 11 0 1. 0.
FR 0 1 0 0 14.1
XQ
EN
"""
built = build_solver(parse(deck), basis="bspline")
y = built.solver.compute_port_solution().y
port = built.ports.feed_ports[0] # the solver row this EX card drives
print(f"Z = {1.0 / y[port, port]:.1f} ohm") # Z = 67.0-41.1j ohm
parse() returns a dialect-neutral DeckModel; build_solver() maps it onto
one of the seven BASES names (five solver families — "bspline" is the
default, the degree-2 B-spline) and returns the solver together with a
PortPlan. The plan is what makes the solver's ports readable: which row is
which EX or LD card, each load's LoadSpec, and one drive vector per
execute group over a port set that never changes. Stamping a load impedance
is port algebra and stays with the consumer — momwire.deck puts the gap in
the matrix and hands over the spec.
A deck's execute groups are what the model says about running it: one per
execute card, each carrying its own frequency list, kernel flag and
Environment (the ground, its plane and a cliff's second medium). A GN card
arms, so a deck may run once in free space and once over ground and each group
says which; build_solver(model, group=k) builds over group k's, and
frequency_mhz=, extended_kernel= and environment= override it.
Only the operating point moves between those calls, never the geometry, so a swept caller translates once:
from momwire.deck import prepare_mesh
mesh = prepare_mesh(model) # the polylines, the port plan
solvers = [build_solver(model, mesh=mesh, frequency_mhz=f) for f in sweep]
Every solver built from one handle is given the same coordinate arrays, so a prepared solve is bit-equal to an unprepared one.
SimNEC portal
Installing momwire puts momwire-nec2c on your path — a resident NEC
engine speaking the protocol SimNEC uses
to drive nec2c, with momwire's solver behind it. Point SimNEC's NEC portal
dialog at that command and its Smith chart, tuner and sweeps run on momwire.
python -m momwire.portal is the long spelling, and --selftest is the
deployment smoke.
momwire-nec2c -version # NEC2momwire.<major>.<minor>
momwire-nec2c --selftest # PASS / FAIL, no checkout needed
momwire-nec2c --basis sinusoidal < dipole.nec # or run a deck by hand
Setup, the two filename rules SimNEC enforces, --basis, the caching flags
and what refusals look like:
momwire.dev/reference/portal-usage/.
momwire.portal may use the solver API and momwire.deck; nothing else in
momwire may import from it. The SimNEC protocol is the portal's business
alone, and a test enforces that.
Public names
Everything importable from momwire itself. __all__ is the source of
truth — tests/test_public_surface_954.py fails if this list and __all__
disagree in either direction, so a name promoted without a line here (or a
line here for a name that was never exported) is a red test, not a stale doc.
Solvers — see Solvers above for what distinguishes them:
BSplineSolver— degree-d Galerkin, the default.HMatrixSolver,ArrayBlockSolver— structural accelerators over it.SinusoidalSolver,SinusoidalGalerkinSolver— NEC2's three-term basis.RazorSolver— the NEC-5 formulation twin, free space only.PulseSolver,HarringtonSolver— the textbook pair.
Results and control:
PortSolution— a solved port network's currents, voltages and Z.FeedPlacement— where a solver put a feed (or a Razor lumped load): the arclength asked for, the one used, and the offset between them. Returned by every solver'sfeed_placements()(momwire#1059).Capabilities— what a solver class declares it spans.CancelToken,SolveAborted— cooperative cancellation for a long solve.LatticeFFTUnavailable— raised when a lattice deck cannot take the FFT path.accelerated— True iff the C++ accelerator loaded. Assert it rather than discovering a silent fall-back to pure Python by its runtime.accelerator_variant— which build of it loaded:"avx2","sse2","legacy"(the single unsuffixed extension macOS and non-x86 still ship), orNonewhen none did. On x86 the wheel carries the same kernels compiled twice and picks by CPU feature before importing either, because an AVX2 binary on an older CPU does not raise ImportError — it kills the interpreter with an illegal instruction (momwire#1032).
Wire material, for a consumer mirroring the loading into another tool:
wire_internal_impedance,insulation_inductance— the per-metre quantities.equivalent_radius— the coated-wire pair's effective radius.
Answers a consumer must give IDENTICALLY to momwire, exported so it cannot answer them differently:
ground_touch_tol— is this wire end on the plane (a per-wire relative tolerance; an invented absolute one disagrees at the margin).grounded_crossing_exemption— does this in-plane junction earn the crossing exemption.below_reach_refusal— how far a buried structure may span before the below/below remainder stops being tabulated.wire_to_element— the geometry conversion the array-block path uses.SURFACE_HEIGHT_CLASS— the low-stand-off class's measured conditioning, including the validity floor a consumer refuses against.
Capability axes:
axes_for— every axis of one capability row, declared union derived. The single derivation point: a consumer re-derivingground_modelfromgrounds, orwire_positionfromburied/contact, is the drift this exists to prevent.AXIS_VALUES— the declared vocabulary.DERIVED_AXES— which axes are computed rather than declared.
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 distribution is named pynec-accel (the import name stays PyNEC); 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, and macOS (arm64) on CPython 3.10–3.14:
pip install pynec-accel --no-index \
--find-links https://github.com/stevenmburns/python-necpp/releases/expanded_assets/v1.7.6
--no-index ensures pip takes the fork's wheel rather than upstream PyNEC on PyPI (which is broken on current Python and lacks the OpenBLAS/OpenMP work). On macOS the wheel shares Homebrew's libomp (brew install libomp) rather than vendoring its own, so it can coexist with momwire's accelerator in one process. 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.
Release files for momwire 0.55.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| momwire-0.55.0.tar.gz | 3.0 MB | Details |
Built distributions (wheels)
Total release size: 53.8 MB
Release files / momwire-0.55.0.tar.gz
| Download URL | momwire-0.55.0.tar.gz |
|---|---|
| Size | 3.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f2b2f902fb117c4e0dc65686d525eb94ccc03a1aad6ea5379db7e9c7db66db99
|
|
BLAKE2b-256 checksum How to use checksums |
0419c6bbdce62c0e2c0b3db3871105d030175b9dbc03c03864cd475d696879dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp315-cp315-win_amd64.whl
| Download URL | momwire-0.55.0-cp315-cp315-win_amd64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.15 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b2456fdba3e0072132cb0c22dd3f40c9119b8ff44b96b78e80ac7b303ce07251
|
|
BLAKE2b-256 checksum How to use checksums |
5bcde4a953bb9b5376b57b7be9a933bfd2432fb0bc5a09f643b6a98c891f5cd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | momwire-0.55.0-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.15 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b1dcf5323632293e6e87c108d651fb0a8e3f165ce79158c9272109d76e54c096
|
|
BLAKE2b-256 checksum How to use checksums |
ddf15b588e6721165175fa84c093d322b40bf081cae2e615259312fade1a67e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp315-cp315-macosx_14_0_arm64.whl
| Download URL | momwire-0.55.0-cp315-cp315-macosx_14_0_arm64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.15 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
761164fcb1120bee66c371b39a6c0a57843004018ba554ec76acc206243eb484
|
|
BLAKE2b-256 checksum How to use checksums |
ef8a65c7849409d3b7bd8dda005656d7c500f78a6d1c261e2f97229ae1211534
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp314-cp314-win_amd64.whl
| Download URL | momwire-0.55.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
27f90e20dae8d9f88e10f30ae6b441bf01be71affdaace004a4783f494ed880e
|
|
BLAKE2b-256 checksum How to use checksums |
453247fd6169a6dc355561c27ec9a6840cfe17929f7294590299287b927eedfe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | momwire-0.55.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1e4d52fc12d893c7a533eca71ac5a616362047e2787faf3e17438a25e28f933a
|
|
BLAKE2b-256 checksum How to use checksums |
b8a4d418e9f77a7bdbe277093eb25aeb1d027f0ee32ddbdb8417a04dc6b01be2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp314-cp314-macosx_14_0_arm64.whl
| Download URL | momwire-0.55.0-cp314-cp314-macosx_14_0_arm64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.14 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
506e766426f3745fe202e26461f69e963a259ccbcd28b3f8fac5dc2e1f61dbf4
|
|
BLAKE2b-256 checksum How to use checksums |
470b8f82453f64de2e875a1eea44a82df4af7c9329e8a0d24a3a9e6951483b39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp313-cp313-win_amd64.whl
| Download URL | momwire-0.55.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7dc99d13a7b2533ba961a25298a29f70ff97b5da9b370fe487e10c9a44d15a86
|
|
BLAKE2b-256 checksum How to use checksums |
3365baff37cbf3779c514ef6d70604c1ddd3c03517d514d2e68d077ed290c514
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | momwire-0.55.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e81a80a2200dfb30149894f43bacedc4b95aa2c1b29b365112ed6bf67ddbd9c5
|
|
BLAKE2b-256 checksum How to use checksums |
5197b48f6da718381f15f403081095c758e2973d8306226b5ad8c393632237b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp313-cp313-macosx_14_0_arm64.whl
| Download URL | momwire-0.55.0-cp313-cp313-macosx_14_0_arm64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.13 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b9de96740a34fb2a58664ab817c4e3c6c6ad2b61dde5f183483dded6551b092a
|
|
BLAKE2b-256 checksum How to use checksums |
a346de8dbefdbe4c99420d4109566c00444f12dc1c2874a9afcea7696c50c293
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp312-cp312-win_amd64.whl
| Download URL | momwire-0.55.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
00bf76978a2626ac457d94adaedc8f938ac206b8ecd16153ebc878dae6101d1d
|
|
BLAKE2b-256 checksum How to use checksums |
24fa26fb6971af11343ecee1ba27c14a150d59d9209fcab5ca9b9c4285e82eba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | momwire-0.55.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
89c0c22de46ed153e81998d3b38e503cf56325156b9960fa37309a04614dcb3b
|
|
BLAKE2b-256 checksum How to use checksums |
55ea2a87f80fd0306191915b12b6cad5909acb5da7b1d44722ecefc05a8c2ec3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp312-cp312-macosx_14_0_arm64.whl
| Download URL | momwire-0.55.0-cp312-cp312-macosx_14_0_arm64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.12 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1983e4902fe160eae169aaccb208eb0d412e3311ee978cb8981264c544a2dec0
|
|
BLAKE2b-256 checksum How to use checksums |
7e7bde18bf74ff0aa8c528fb41f9c021e35a36f0aa228b60a29bdaf87857102a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp311-cp311-win_amd64.whl
| Download URL | momwire-0.55.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c196425de8f95e5d94696eda5707137f42274dc7be3f9d6ebddf2ba39326951f
|
|
BLAKE2b-256 checksum How to use checksums |
874141e0e29fc4df79163e7f0677ed21475bbe73ad8df63e55a80ff26acd5058
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | momwire-0.55.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
0d321665c9624ee483636a8841ca76a0224beeb3aebb6ee6664b27f16dff4e23
|
|
BLAKE2b-256 checksum How to use checksums |
14ba31029765afc059a2ecbf282be9b122452f693942e6a2a8677044324f3b7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp311-cp311-macosx_14_0_arm64.whl
| Download URL | momwire-0.55.0-cp311-cp311-macosx_14_0_arm64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.11 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6fba7251e3d790c70a53410b287f703462e20d16af37c1903fab7d75253f2797
|
|
BLAKE2b-256 checksum How to use checksums |
46244430b184d14098580caf34a16039c21730c2bcbcbecf019c283bce81a5c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp310-cp310-win_amd64.whl
| Download URL | momwire-0.55.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
097ed327bb3251d909909784c34d8ede46ee07f8b3dc44f0a6be1d2333597bd1
|
|
BLAKE2b-256 checksum How to use checksums |
6ea16c13476ff113a70f5f4c6121dffd2e4276c5093c60d6e05c12f60101d06f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | momwire-0.55.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
bfa7713cfb10e7dec157a08135d1eef1962c6011329c8693926675b542477148
|
|
BLAKE2b-256 checksum How to use checksums |
63ad331ba15a1b479c049aae6601a7a4dd381b0b4724acd8f54fcad700742ed9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / momwire-0.55.0-cp310-cp310-macosx_14_0_arm64.whl
| Download URL | momwire-0.55.0-cp310-cp310-macosx_14_0_arm64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.10 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
fdaf53f0645e239064b9e20bd18abc3f0486bdd122cbfbb395350c63db7c3818
|
|
BLAKE2b-256 checksum How to use checksums |
3afe6e902f435769a7cb8fdbb8310be9885017808c1e56505f2bd4d948efc788
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency log