Skip to main content

ledfx-senders

Native packet senders for Python applications, maintained by the LedFx organization. The distribution contains its Rust engine, Python buffer normalization and E1.31 setup codec. It has no LedFx application imports or dependency. NumPy is its only runtime dependency.

from ledfx_senders import E131Sender, Frame
from ledfx_senders.e131 import ChannelLayout

sender = E131Sender(ChannelLayout(300), destination="127.0.0.1", source_name="example")
frame: Frame = bytes(300)
try:
    sender.send(frame)
finally:
    sender.close()

Frame is the shared input type for all protocols: bytes, bytearray, memoryview, or numpy.typing.NDArray[numpy.generic]. Each protocol keeps its own shape, numeric validation and conversion rules.

Import sender classes from the package root: ArtNetSender, DDPSender, E131Sender, NanoleafSender, OPCSender, OSCSender, and UDPRealtimeSender. Each implementation lives in its protocol module: artnet, ddp, e131, nanoleaf, opc, osc, or udp_realtime. Shared frame typing lives in frames; private helpers hold shared sender mechanics and scalar validation. The former packet_senders module retains compatibility exports for its five sender classes. Import E1.31 ChannelLayout from ledfx_senders.e131; e131_buffer contains the low-level packet banks and normalization helpers.

ChannelLayout counts channels, not RGB pixels. send owns a snapshot before native conversion and submission. Callers must not mutate an input while its snapshot is being taken. Call service regularly for idle refresh and discovery. close is idempotent and sends protocol termination for used universes.

The wheel matrix targets CPython 3.11–3.15 and free-threaded 3.14t–3.15t. Free-threaded 3.13t is unsupported by PyO3 0.29; its build guard is preserved. See the PyO3 changelog (#5865). The build matrix verifies the library independently; it does not assert that the LedFx application's other dependencies support every interpreter. The private _native binding and _test_* methods are implementation and diagnostic APIs.

Installation and development

Applications consume the separately published Python package. To require a compatible wheel and prevent a fallback Rust source build:

python -m pip install --only-binary=ledfx-senders ledfx-senders

This command requires a published version with a wheel for your interpreter and platform. Release configuration does not itself mean a release exists; check PyPI for availability. Application repositories do not need Rust, a source checkout, or a build bootstrap script.

The supported wheel targets are Linux x86-64 and AArch64 (glibc), Windows x86-64, and macOS Intel and ARM64. There are no Windows ARM64, 32-bit ARM/x86, or musl wheel targets. A wheel must match both the Python ABI and platform; free-threaded Python uses its separate t ABI. Wheels include py.typed and _native.pyi for type checkers, and installed-wheel tests check that both files are distributed.

Contributors building this repository need Rust 1.94.0 (pinned in rust-toolchain.toml) and a host C linker/toolchain. Builds use PDM's setuptools hook with setuptools-rust and locked Cargo dependencies, not a workspace in the LedFx application. From the repository:

rustup toolchain install 1.94.0 --profile minimal
uv sync --locked --group dev
uv run --locked --group dev python -m pytest tests ci
uv run --frozen --only-group dev --python 3.12 python ci/check_types.py
uv run --frozen --only-group dev ruff check .
uv run --frozen --only-group dev ruff format --check .
uv run --frozen --only-group dev prek run --all-files
uv build

The sdist contains the Rust sources, locked Cargo dependencies, build hook, independent protocol fixtures, tests and CI scripts. It builds outside a LedFx checkout. ci/native_wheel_smoke.py runs with isolated Python against an installed wheel and restricts network tests to loopback. Benchmark scripts are development tools, not installed public APIs; their measurements are not release gates.

Repository automation

The independent CI builds 35 portable wheel combinations: seven CPython variants (3.11–3.15, 3.14t and 3.15t) across Linux x86_64/ARM64, Windows AMD64, and macOS Intel/ARM64. Installed tests require the native engine, block LedFx imports and restrict network traffic to loopback. Free-threaded variants assert that NumPy and the binding leave the GIL disabled, including concurrent sender operations. The source distribution is rebuilt and tested outside a source checkout. The CI run for the release-workflow checkpoint passed the complete portable matrix. Each new commit must pass its own applicable checks; the workflow definition alone is not evidence that a build passed.

Strict Pyrefly checks every maintained Python file and stub, including package source, tests, CI scripts, the PDM build hook and receiver checks, without a baseline or suppressions: uv run --frozen --only-group dev --python 3.12 python ci/check_types.py. Recursive project globs include future directories; generated, hidden and virtual environment directories use the checker defaults. Ruff enables the complete ANN rule family to require parameter and return annotations and reject explicit Any. A regression inserts untyped files across those directories and verifies that both gates reject them. These are static-checking guarantees, not a measured percentage of expression-level type coverage. NumPy and setuptools-rust are in the dev group so the gate resolves array and build-hook types without compiling the native library. Installed runtime jobs create their environments and run under the runner temp directory, while referring to scripts and fixtures by absolute checkout paths.

Renovate inherits LedFx/renovate-config; versions are locked for development. Release Please maintains Python, Rust and lockfile versions together on canonical main, using the existing automation App to create the release PR, version tag and draft release. Merging its release PR is the release action: the tag push runs .github/workflows/ci.yml. An early guard requires the tag, project, Python package, Rust package, lockfiles and release manifest versions to agree. All five platform builds, 35 installed-wheel variants and source/native checks must pass before publishing the same run's sender-dist artifact to PyPI. One queued publication job calls the SHA-pinned shared release transaction, using the exact generated native wheel plan and existing pyproject.toml metadata. It validates archive metadata, tag/source identity and matching remote hashes before upload, verifies GitHub provenance against this repository's ci.yml, then finalizes the existing draft by immutable ID last. Publication never rebuilds packages. PR, branch and manual validation cannot publish, even when manually validating a tag.

PyPI trusted publisher identity remains owner LedFx, repository ledfx-senders, workflow ci.yml, environment pypi. OIDC id-token: write is scoped to that caller job; the shared composite does not move publication into another workflow. The scoped automation App token permits GitHub contents/attestation writes. No package API token or hidden enable variable is required.

Matching partial uploads can resume from the original run after SHA-256 checks; conflicts, missing drafts and unexpected assets fail without clobber or fallback release creation. Higher stable drafts/public releases block latest promotion; an abandoned newer draft can delay latest while older version publication remains possible. Retained snapshots and attestation bundles support inspection/retry. Use the shared recovery guide and rerun failed jobs from the original run rather than rebuilding a version. If the failure requires changing a pinned action or workflow, publish a new patch version from the repaired workflow instead; a rerun retains the original source and action pins. Leave the failed version's tag and draft unchanged. This migration does not retroactively attest earlier releases. Source provenance records the original repository and benchmark evidence.

macOS wheel deployment targets account for both Rust and Python: Intel starts at 10.12 for CPython 3.11, 10.13 for 3.12–3.13, and 10.15 for 3.14+; ARM64 starts at 11.0. These are build targets, not claims that every optional application or NumPy version runs on every older OS. Cibuildwheel repair and installed tests must pass before a platform is considered validated.

The private _TestLockGate and Engine._test_hold_lock diagnostics let tests hold the real engine mutex with a five-second native deadline. Python controls a separate release signal; send/service/close still use their normal lock acquisition paths. This verifies GIL cooperation under mutex contention, not a throughput claim or a scheduler-dependent number of heartbeat ticks. Production frame processing never consults the gate. The helper drops its guard before reattaching to Python, including on timeout.

DDP and OPC

from ledfx_senders import DDPSender, OPCSender

sender = DDPSender(300, destination="192.0.2.10", destination_id=1)
sender.send(bytes(300))
sender.close()

opc = OPCSender(100, destination="192.0.2.10", channel=0)
opc.send(bytes(300))
opc.close()

Each sender owns its UDP socket and synchronously sends a complete frame under a single 200 ms socket deadline. DDP uses 1440-byte payload chunks, a final PUSH, and sequences starting at 2 and wrapping through 1–15. OPC sends one datagram; its maximum is 21,834 RGB pixels (65,506 bytes including the header).

Both accept unsigned-byte buffers and NumPy arrays, including strided arrays. Byte buffers are channel bytes, not pixels. OPC arrays must have shape (pixel_count, 3); finite values clamp to 0–255 and truncate. DDP truncates finite floating values in [-2**31, 2**31) toward zero then takes modulo 256; finite floating values outside that interval produce zero. Integer inputs use exact modulo 256. This policy is identical across input formats and supported processors, preserving original precision at the cutoff (including longdouble). Compatibility correction: historical NumPy float-to-uint8 casts outside the byte range had platform-dependent undefined results; these are now deterministic, not promised to match those historical casts. Normal 0–255 channel conversion remains unchanged. Nonfinite values are rejected before packet or sequence mutation. Inputs are copied into owned native storage before detached work; callers must not mutate a frame during its input copy. Close is serialized with send and is idempotent. A closed sender rejects sends. DDP advances its sequence once per validated send attempt, including a socket failure before any packet is accepted. Invalid input does not advance it, and a failed payload does not replace the committed frame. Do not assume sequence rollback semantics are identical across protocols.

Float conversion for DDP, E1.31 and OPC validates every value while using AVX512F/DQ/BW/VL or AVX2 on supported x86-64 CPUs, SSE2 on other x86-64 CPUs, or NEON on AArch64 (including Apple Silicon). AArch64 uses measured policy/dtype choices: explicit NEON for DDP and E1.31 float64, compiler-vectorized loops for E1.31/OPC float32, and a compiler-optimized OPC float64 loop with SIMD validation and scalar conversion. Runtime feature checks guard each specialized kernel. Other targets retain a portable scalar implementation; ARM32 is not a supported wheel target and has no promised SIMD float64 path. The compile-time policy specializations preserve DDP wrapping, E1.31 strict (-1,256) rejection, OPC clamp/truncate, nonfinite rejection and whole-frame atomicity. There is no public unchecked input option.

Manual SIMD validation and measurements runs native kernel equivalence tests and matched scalar/SIMD conversion measurements on Linux x86-64/ARM64, macOS Intel/ARM64 and Windows x86-64. It neither publishes nor releases anything. It reports separate conversion-only kernels and public-facade whole-call pairs. Kernel timings exclude the owning snapshot, packet packing and Python boundary; whole-call timings include them. Neither is network or physical-device throughput. See native/bench/receiver/README.md for independent delivered-frame measurement.

Stateful OSC and UDP realtime

OSCSender supports One_Argument, Three_Arguments, Three_Addresses and All_To_One, with Python path.format(address=...) expansion at construction and starting_addr. Call send(frame, now=time.monotonic()) and close(). UDPRealtimeSender supports DRGB, WARLS, DRGBW, DNRGB, adaptive and raw RGB modes; its keepalive_interval accepts the application's configured refresh threshold. The default interval is half the timeout. Eligibility uses strict elapsed-time comparison and all chunks of a DNRGB refresh are sent together.

Both senders own their snapshots and UDP sockets. Callers must not mutate input during send. Input is an RGB ndarray of the configured shape or contiguous unsigned byte buffer. There are no retained caller aliases or channel objects. Unsuccessful submissions retain the previous successful suppression state; accepted datagram counters still include the prefix accepted by the socket. Every frame shares the existing 200 ms socket-work budget. Close sends no protocol termination traffic and releases the socket synchronously.

Original values determine equality and WARLS deltas before quantization. Equal numeric values across dtypes, including positive and negative zero, compare equal. Extended floating precision is retained. Comparison is exact, so uint64(2**64-1) differs from float64(2**64) even though NumPy's mixed comparison may round the integer. This deliberately corrects lossy historical suppression. First valid frames are always sent.

OSC uses a portable signed 64-bit domain: finite floating originals in [-2**63, 2**63), and integers within signed 64-bit bounds. It truncates toward zero, converts the integer to float64, divides by 255, then writes big-endian float32. It does not clip to RGB byte bounds. Nonfinite/out-of-domain values raise ValueError before persistent wire buffers, counters or datagrams change. This explicitly replaces platform-dependent historical NumPy integer casts. Realtime encoding follows the documented deterministic DDP conversion contract; that encoding does not change original-value comparisons.

OSC validates every formatted path and UDP's 65507-byte payload ceiling during construction. Realtime limits remain DRGB490, WARLS255, DRGBW367 and raw500; unsupported configured sizes fall back to DRGB or DNRGB. DNRGB admits at most 65536 pixels, with 489 pixels per chunk, and adaptive ties choose DRGB.

On x86_64, measured f64 OSC conversion uses runtime-guarded AVX512F/DQ/BW/VL, then AVX, with portable compiler code on older CPUs. Original f64 delta masks use measured AVX2 or compiler code; the mask preserves three-channel pixel boundaries and signed-zero equality. Realtime reuses the existing DDP SIMD policies. No global host CPU build flags are used. Native Linux AArch64 paired measurements select NEON OSC conversion; Apple Silicon retains its faster compiler route. A NEON original-mask candidate is measured independently before production selection. Other dtypes and mixed/extended precision have exact portable implementations. Hosted SIMD jobs test and measure candidates without silently enabling an unmeasured architecture path.

For OSC, an owned common typed snapshot equal to the last successfully validated snapshot of the same dtype can suppress before repeating normalization. Shape and closed-state checks still happen first. Rare and cross-dtype inputs retain full validation before comparison; realtime refresh also retains conversion so failed attempts cannot contaminate a later keepalive. Static OSC can still cost more than the former borrowed-array equality check because snapshots are owned.

Art-Net

ledfx_senders.ArtNetSender owns a synchronous IPv4 UDP socket and caches the complete ArtDmx layout. Its keyword configuration is destination, port, universe, packet_size, even_packet_size, dmx_start_address (one based), pixel_count, pixels_per_device, pre_amble and post_amble (bytes), rgb_order, white_mode, and broadcast. send(frame) accepts the configured RGB shape or an unsigned-byte buffer. All six RGB permutations and None/Zero/Brighter/Accurate white modes are supported.

The logical universe stride remains packet_size (1–512). Wire payloads have a minimum of two bytes and round up to even when requested; added bytes are zero, never borrowed from the next logical universe. This repairs the former size-1 and odd-plus-even cases that silently submitted mismatched buffers to the legacy library. Odd payload lengths with even_packet_size=False and the original 0–255 packet sequence cycle remain compatibility modes, not a claim of strict Art-Net conformance. Addresses cover the full 15-bit range; the entire span must fit. Start offset precedes the whole layout, ambles repeat per complete device group, and an incomplete final group is omitted. All input channels are validated.

White extraction/subtraction precedes byte conversion at original precision. Integers preserve exact minimum and original-width subtraction's low byte, including signed overflow. Floats truncate modulo 256 in [-2**31, 2**31); other finite values become zero. Nonfinite input or arithmetic output rejects atomically. This defines previously platform-dependent out-of-range NumPy casts. Bool Accurate subtraction raises TypeError. Common formats use native arithmetic; float16 and longdouble use bulk NumPy arithmetic at original precision followed by deterministic byte normalization. Byte order conversion preserves float width.

A send has one 200ms transport deadline. Accepted packets advance sequence; unsent packets do not, and only a complete frame replaces committed state. close(blackout=True) waits for any current frame, then uses a separate 200ms cleanup budget to clear every configured universe, including ambles and padding. It always closes after partial/failed cleanup; diagnostics are retained. Repeated close is harmless and subsequent sends fail. Waiting for an in-flight send plus cleanup can therefore exceed 200ms. close(False) omits blackout.

Vendor encoders and Nanoleaf

ledfx_senders.encoders provides encode_adalight(frame, color_order), encode_openrgb(frame, device_id), encode_hue(frame, entertainment_id, channel_ids, sequence), and encode_govee(frame, stretch). Each returns owned bytes; the caller keeps its serial, OpenRGB v3 TCP, Hue DTLS or Govee shared socket session. RGBGather(permutation).encode(frame) caches an immutable RGB permutation for SDK-owned streaming; it does not implement SDK transport.

For example, encoding bytes does not open or negotiate a device session:

from ledfx_senders.encoders import RGBGather, encode_adalight, encode_openrgb

frame = bytes([255, 0, 0, 0, 128, 255])  # two RGB pixels
serial_packet = encode_adalight(frame, "RGB")
openrgb_packet = encode_openrgb(frame, device_id=0)
reordered_rgb = RGBGather((1, 0)).encode(frame)

Callers negotiate OpenRGB protocol v3 and write the result to their own session. All encoders take an owned snapshot; callers must not mutate input while the snapshot is taken. Hue accepts 1..256 channels and RGBGather accepts 1..1,000,000 pixels with a complete immutable permutation.

Inputs are RGB ndarrays of shape (N, 3) or contiguous unsigned byte buffers. Strided arrays are normalized; complex/object/structured arrays are rejected. Adalight, OpenRGB, Govee and RGBGather preserve integer low bytes. Finite floats in [-2**31, 2**31) truncate toward zero then wrap modulo 256; finite values outside this domain become zero. This explicit exceptional-float policy replaces platform-dependent NumPy casts. Nonfinite values fail before output. Hue instead requires integers 0..255 or floats strictly between -1 and 256. Its first nonfinite channel retains Python int exception precedence: NaN -> ValueError, infinity -> OverflowError, even after an earlier finite out-of-range channel. Hue IDs are a 36-character ASCII UUID and unique u8 channel IDs. The application keeps its existing sequence policy; this encoder accepts any u8 sequence.

Adalight supports 1..65536 pixels and writes N-1 in its count field, as decoded by Adafruit's original receiver. This corrects LedFx's former N header. OpenRGB supports 1..65535 pixels and u32 device IDs. Explicit little-endian UPDATELEDS fields match the current v3 session and supported little-endian fleet; upstream native memcpy does not establish a cross-endian protocol guarantee. Govee supports 1..255 segments with LedFx's existing reverse-engineered BB00FAB0/XOR/base64/JSON representation. Encode speed is not serial baud rate, encrypted-session throughput or physical-device FPS.

ledfx_senders.NanoleafSender(destination=..., port=..., version=..., panel_ids=(...)) owns UDP output and provides send(frame) and close(). Panel IDs must be unique and frame size must match the immutable layout. V1 allows 1..255 panels with u8 IDs; v2 allows 1..8188 with u16 IDs, limited by the 65507-byte IPv4 UDP payload ceiling. Values clamp to 0..255 and truncate; nonfinite input rejects atomically. Large finite values clamp rather than relying on a signed-integer cast overflowing. V1 emits the documented nFrames=1 byte, correcting LedFx's former zero, with white=0 and transition=1. V2 retains white=0 and transition=0. REST activation and HTTP animation remain with callers. The manufacturer's API documentation (version 8, 2026-07-08) recommends streaming no faster than 10 Hz; benchmark CPU capacity is not a firmware or hardware-rate claim. Large datagrams are tested for encoding bounds separately from small loopback delivery.

The encoders reuse the validated float-conversion dispatch. Accepted portable packing routes use preallocated output at 128+ pixels for non-identity Adalight orders on tested Linux/Windows/macOS x86-64 and Linux/macOS ARM64, and for OpenRGB except macOS x86-64. Adalight's RGB order uses a generic identity copy, avoiding an unnecessary permutation. Art-Net caches a short-copy route for groups of at most 32 channel bytes on those x86-64 platforms. Ordinary/long spans, ARM64 Art-Net, small vendor frames and unmeasured architectures retain reference packing. These are compiler loops, not new explicit ISA intrinsics.

The calibrated five-platform whole-call run retained paired distributions and unchanged controls. It supports those conservative categories, not an optimal 128-pixel crossover or a win in every cell. Small differences within shared-runner variation remain inconclusive; losing and near-equal observations are retained. Hosted Adalight permutation measurements used BRG; subsequent RGB cases are labeled separately. No 32-bit ARM execution or performance validation is claimed.

Owning snapshots, shape/numeric validation and conversion have a cost. A brief matched LedFx default-RGB check at 50,000 pixels found uint8 near parity after the identity-copy repair, but float64 throughput remained about 0.38 times the historical NumPy encoder. This is a retained regression, not a sustained whole-application result. The compared contracts differ in validation and ownership; individual cost shares were not isolated. No blanket speedup is claimed for every dtype, frame size or caller.

The benchmark-only ledfx-receiver ddp-structural <pixels> <portable|batched> <loopback-address> receives arbitrary RGB effect data without modifying it. Its stdin accepts snapshot and stop; each stdout JSON snapshot contains cumulative packet/byte/push/structurally-complete/invalid counters, monotonic elapsed seconds, CPU time where available, and kernel socket drops where available. Rates use the difference between the receiver's two snapshot times. Assembly state persists across snapshots, so a completion can include a frame started just before the interval. The 4-bit DDP sequence cannot establish unique frame identity across wraps or reordered traffic. Incomplete-assembly and gap counts are events, not uniquely identified lost frames. Final stop counts any remaining pending assembly once as an incomplete event. The original golden fixture receiver remains available for exact byte/identity validation.

Hosted route measurements freeze both wheels, measured Rust executables, loaded facades/extension, source archives and SHA-256 manifests before measurement and verify them afterward. Public-facade whole-call pairs compare an immutable 12d9030 control with this candidate, including tiny/cutover/ordinary layout controls; these are distinct from sustained application transport measurements.

Wheel support is maintained in [tool.cibuildwheel]; platform rows live in [[tool.release-ci.targets]] in pyproject.toml. Update the single wheel-build cibuildwheel dependency pin and uv.lock together. Planning and builds use that locked tool and configuration; publication rejects missing platform coverage.

Metadata

Release files for ledfx-senders 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ledfx-senders 0.3.1
File Size Uploaded
ledfx_senders-0.3.1.tar.gz 152.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for ledfx-senders 0.3.1
File
ledfx_senders-0.3.1-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details
ledfx_senders-0.3.1-cp315-cp315t-manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64 Details
ledfx_senders-0.3.1-cp315-cp315t-manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ ARM64 Details
ledfx_senders-0.3.1-cp315-cp315t-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64 Details
ledfx_senders-0.3.1-cp315-cp315t-macosx_10_15_x86_64.whl CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64 Details
ledfx_senders-0.3.1-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details
ledfx_senders-0.3.1-cp315-cp315-manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ x86-64 Details
ledfx_senders-0.3.1-cp315-cp315-manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ ARM64 Details
ledfx_senders-0.3.1-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details
ledfx_senders-0.3.1-cp315-cp315-macosx_10_15_x86_64.whl CPython 3.15 CPython 3.15 macOS 10.15+ x86-64 Details
ledfx_senders-0.3.1-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
ledfx_senders-0.3.1-cp314-cp314t-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Details
ledfx_senders-0.3.1-cp314-cp314t-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64 Details
ledfx_senders-0.3.1-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
ledfx_senders-0.3.1-cp314-cp314t-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64 Details
ledfx_senders-0.3.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
ledfx_senders-0.3.1-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
ledfx_senders-0.3.1-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
ledfx_senders-0.3.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
ledfx_senders-0.3.1-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
ledfx_senders-0.3.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
ledfx_senders-0.3.1-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
ledfx_senders-0.3.1-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
ledfx_senders-0.3.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
ledfx_senders-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
ledfx_senders-0.3.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
ledfx_senders-0.3.1-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
ledfx_senders-0.3.1-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
ledfx_senders-0.3.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
ledfx_senders-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
ledfx_senders-0.3.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
ledfx_senders-0.3.1-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
ledfx_senders-0.3.1-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
ledfx_senders-0.3.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
ledfx_senders-0.3.1-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details

Total release size: 38.1 MB

Release files / ledfx_senders-0.3.1.tar.gz

Download URL ledfx_senders-0.3.1.tar.gz
Size 152.2 kB
Tags Source
SHA-256 checksum
How to use checksums
75264aa351b4003439b1275bedbaf8a25d06f1c05dde27fde094c83b730dbbd6
BLAKE2b-256 checksum
How to use checksums
0a37a988d3f931af2e9403625504648f87969f98fe96b254f0c4a96da72f94fb
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp315-cp315t-win_amd64.whl

Download URL ledfx_senders-0.3.1-cp315-cp315t-win_amd64.whl
Size 293.6 kB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
b7b66c3228c6251ff9e305b9ddb6f30e84cc29a38e5f8a735e514413567d1836
BLAKE2b-256 checksum
How to use checksums
a49d5b6935075cbcdb7074784dceb81148536cf5793c1658ecf7941b56e5bc5c
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp315-cp315t-manylinux_2_28_x86_64.whl

Download URL ledfx_senders-0.3.1-cp315-cp315t-manylinux_2_28_x86_64.whl
Size 2.3 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
60c80d887a2576b7fd406632e787a2cde660b591f773410a6bc411e09d41289c
BLAKE2b-256 checksum
How to use checksums
710fd0f569f2a2ea07a7e8ddd35ed4a6542143f3ceedad269da06300762b9862
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp315-cp315t-manylinux_2_28_aarch64.whl

Download URL ledfx_senders-0.3.1-cp315-cp315t-manylinux_2_28_aarch64.whl
Size 2.0 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
81523cf5bbe0c58973d3397f04b575f1a11001b6c8ae32a9b2abc86e021a666c
BLAKE2b-256 checksum
How to use checksums
83345112e324d2e8999e9d4c92573be75640f0aad60e905bf3cd6d5d60b53d9d
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp315-cp315t-macosx_11_0_arm64.whl

Download URL ledfx_senders-0.3.1-cp315-cp315t-macosx_11_0_arm64.whl
Size 408.5 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
50f7ed7f96dfbf2217943e3690fd81189096f174be707dc8aff348fe7370c8e2
BLAKE2b-256 checksum
How to use checksums
f62ab4a7b62450f76b5de87895444b55ef721bec46e7387ddf47b2ad1f078dcf
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp315-cp315t-macosx_10_15_x86_64.whl

Download URL ledfx_senders-0.3.1-cp315-cp315t-macosx_10_15_x86_64.whl
Size 419.5 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
2d911fd8dca1cf6556d89b091aa654f33909b206a5cf0ffd2f1e7a157ba97754
BLAKE2b-256 checksum
How to use checksums
ff805837d869b0e021be861529f3d7fe330c2c13395c8aa3bbc3ffcb89e3bf60
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp315-cp315-win_amd64.whl

Download URL ledfx_senders-0.3.1-cp315-cp315-win_amd64.whl
Size 290.4 kB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
db1df02199781c34a306325d9e57c506aa11635ec79171cb8d85bbbec90c49bf
BLAKE2b-256 checksum
How to use checksums
c302c8dd01965574550a76c1f77f694d90bc972fdfdc89482954437efa938eb2
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp315-cp315-manylinux_2_28_x86_64.whl

Download URL ledfx_senders-0.3.1-cp315-cp315-manylinux_2_28_x86_64.whl
Size 2.3 MB
Tags CPython 3.15 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1d1628da1f1979bd5a05daa095ddcd6b9e434e736a65ec31af0c6b026a18f62e
BLAKE2b-256 checksum
How to use checksums
c45e5b3ea5d2386750a845db7e04ca5bcf38bd20a3f16ff1685728b250390139
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp315-cp315-manylinux_2_28_aarch64.whl

Download URL ledfx_senders-0.3.1-cp315-cp315-manylinux_2_28_aarch64.whl
Size 2.0 MB
Tags CPython 3.15 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
43a8d3c53475b95e90904eff729b235623faed07508596bf150165cbbe644794
BLAKE2b-256 checksum
How to use checksums
d4d9dc8e47631aac4ff3a348e7e7425545b67c3e96eb34c1e9e2fd9e572ab677
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp315-cp315-macosx_11_0_arm64.whl

Download URL ledfx_senders-0.3.1-cp315-cp315-macosx_11_0_arm64.whl
Size 409.6 kB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f01a5aa33a1170d9af1200af21526b4cea384e1c36014e662c450174b707d1e4
BLAKE2b-256 checksum
How to use checksums
b2879ab8aa95cb88f53da14a6aad2faceb54fcd4c4a936077cd3b3cdcc5f925a
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp315-cp315-macosx_10_15_x86_64.whl

Download URL ledfx_senders-0.3.1-cp315-cp315-macosx_10_15_x86_64.whl
Size 422.6 kB
Tags CPython 3.15 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
d38ad2af48c0dcdb047da0d014fd4c7b2d3be4f8ee9aa86b47fdff882f512708
BLAKE2b-256 checksum
How to use checksums
865888d7c920133062efcccbf3c635521111edd7ca4b78ca2b38ace10e7141c0
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp314-cp314t-win_amd64.whl

Download URL ledfx_senders-0.3.1-cp314-cp314t-win_amd64.whl
Size 293.4 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
96d37a1c027455c8c2ec07dbd6f51ad63c7d270621d42b9700a5e88da74f4e22
BLAKE2b-256 checksum
How to use checksums
7d9add8d90de80ac640f98ed3a1d15cd4903f7f5f8ce01025317474c1a88d103
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL ledfx_senders-0.3.1-cp314-cp314t-manylinux_2_28_x86_64.whl
Size 2.3 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
91a2b8711fb1a0aaf53d738363815e70c09a083788a98c6d5dfa3554453881b6
BLAKE2b-256 checksum
How to use checksums
e9968337e3f6722b289575b80fe03f4e83da4245d5011eb46461346e91a6367b
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp314-cp314t-manylinux_2_28_aarch64.whl

Download URL ledfx_senders-0.3.1-cp314-cp314t-manylinux_2_28_aarch64.whl
Size 2.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0f4e2592c6da5728c74a76615f3783a2975e961ac4b02a952080bbb95d696d1c
BLAKE2b-256 checksum
How to use checksums
99d20b86085c9d208af31882b2e265a99b0b1431c8e8144942f13aa5d72cfba9
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp314-cp314t-macosx_11_0_arm64.whl

Download URL ledfx_senders-0.3.1-cp314-cp314t-macosx_11_0_arm64.whl
Size 408.3 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1343e30328ed9357f294c8a89216686bd4aed861ec752f6bfd18158b2b45c7ab
BLAKE2b-256 checksum
How to use checksums
a1d27292d604f667106caaecfc334e6189ef761f1daa382a90dd72fee9dfba50
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL ledfx_senders-0.3.1-cp314-cp314t-macosx_10_15_x86_64.whl
Size 419.2 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
23ffb0e598d214d66953f78e64ea59eb5af4ceb09aaadf0bd41f0795f79d801c
BLAKE2b-256 checksum
How to use checksums
7e4de758e2a9239e9c0b9799cad74f5df937dae32986220292b6ae49efec286f
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp314-cp314-win_amd64.whl

Download URL ledfx_senders-0.3.1-cp314-cp314-win_amd64.whl
Size 290.2 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
ca6bda8069f08b838e6609bae967d5f8054c278a1c5d8abe61997a905fe82b11
BLAKE2b-256 checksum
How to use checksums
8a30e02c2f6c2d79ba79e224628f9939d549e33accd69d321b30f20d224f50bd
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL ledfx_senders-0.3.1-cp314-cp314-manylinux_2_28_x86_64.whl
Size 2.3 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8663a635c14e3928285d3d326e41bb949b202e7df48b737eec6a043e3686a1e8
BLAKE2b-256 checksum
How to use checksums
85ab0a778c5e5648ae49ed8882473082a42d8393fbf5d9fdff8e759044fdd344
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL ledfx_senders-0.3.1-cp314-cp314-manylinux_2_28_aarch64.whl
Size 2.0 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2f2501a7a463db98c7c0a71d72f040e1c0e04b6605425f35ece4c88e73f3a2f0
BLAKE2b-256 checksum
How to use checksums
78fe5d0e3af3c05f3d39130314064b3a5414d6027095a7b8095cd89ab44de6b7
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL ledfx_senders-0.3.1-cp314-cp314-macosx_11_0_arm64.whl
Size 409.9 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a3e2f755d554de619fec6c9db4cc6406f32641d482ba316a6ec9620616094a8b
BLAKE2b-256 checksum
How to use checksums
055a11d318d3031e62b846df1c798f14e22b7ef2f9c63f41f92f11df3298d51b
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp314-cp314-macosx_10_15_x86_64.whl

Download URL ledfx_senders-0.3.1-cp314-cp314-macosx_10_15_x86_64.whl
Size 422.0 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
52b0efd44fa339c077b4e15467ca4743ad49b516f95018b5076b0edb1ce1234d
BLAKE2b-256 checksum
How to use checksums
5dabdb3c3ef2374e57d56feb168366ebc4c226d9bad24cbfa433d547c9a9142e
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp313-cp313-win_amd64.whl

Download URL ledfx_senders-0.3.1-cp313-cp313-win_amd64.whl
Size 281.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
4b421508bba70ef077318d6730c286bea053547b50b17279faa5719a3da56088
BLAKE2b-256 checksum
How to use checksums
774fa519887391f6fe2ef4bfdc7ce075b5afbc73a1364b4ac9e9ea3fcd1b4dcd
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL ledfx_senders-0.3.1-cp313-cp313-manylinux_2_28_x86_64.whl
Size 2.3 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f3561a0121e9d24b35825b5012ae086e8640eee6d3b54b87e3f98e60382566ca
BLAKE2b-256 checksum
How to use checksums
35c959fe915cee1bf93ceb075f0ca4aa1558b76adcadee47a06b76b3da75121f
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL ledfx_senders-0.3.1-cp313-cp313-manylinux_2_28_aarch64.whl
Size 2.0 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
79bff8df06fdebff581ae34b5bcf1980440ad5f719fe120f32201a20aefc0cd7
BLAKE2b-256 checksum
How to use checksums
815213549e975e0a5aab0051746a52163dbc09511f85d55d02a7d1385fef4a2c
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL ledfx_senders-0.3.1-cp313-cp313-macosx_11_0_arm64.whl
Size 407.8 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e8e6edc057508623b9297fa7c893ff99910555d5d38d702fcb3098ec11d934d7
BLAKE2b-256 checksum
How to use checksums
5aeef0401086bafecf022955f7e9f22e5ad6292aea1cc13d2a09d18da2ba0861
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl

Download URL ledfx_senders-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl
Size 419.3 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
116be5d1fae68091e7feab71a00238c1d48e9978a1243d2963332f01e7b2d8c5
BLAKE2b-256 checksum
How to use checksums
60612497562396bb622b52afbde43713eb16d92848a810c15619395405af3c92
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp312-cp312-win_amd64.whl

Download URL ledfx_senders-0.3.1-cp312-cp312-win_amd64.whl
Size 281.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
8eb6ac4974ae83865741c55e6d2c4e7c4bf1314b06314914e1c291d6e63a820d
BLAKE2b-256 checksum
How to use checksums
cb4616fbf9c999151aa10f0a49220bf69f367adc33a5f39c2b609445576f6718
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL ledfx_senders-0.3.1-cp312-cp312-manylinux_2_28_x86_64.whl
Size 2.3 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
430712f9827660ad66f3bc4c8ecfeb099001503f7bff012780b34eea05d8950a
BLAKE2b-256 checksum
How to use checksums
e6d10a53458d1652f503eec13a394ddceec4e2235020cf73b1c1baa2a8dc5729
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL ledfx_senders-0.3.1-cp312-cp312-manylinux_2_28_aarch64.whl
Size 2.0 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b43cdf2dcb33d46f899abc5681a362fb6e16b62ddee74e4be3f04e6084dfe08e
BLAKE2b-256 checksum
How to use checksums
e3eaad0e06b8dc9aa2a6cdd9219b91cccd9337c39a1d5f78a92ecd162dbb1b5a
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL ledfx_senders-0.3.1-cp312-cp312-macosx_11_0_arm64.whl
Size 407.6 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1d94551901a62879755be0bdc939511976f88be6be17113444b71c18d94cef16
BLAKE2b-256 checksum
How to use checksums
50518a5ed47480247b500d469d342cee8240ace36e6fdf247d1d1d0f8c47b4bc
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl

Download URL ledfx_senders-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl
Size 419.6 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
103017bb8a0adcffc10f3740fba4394ad0eabf550e3e01f13ed24b596978bc20
BLAKE2b-256 checksum
How to use checksums
0a1304f16f6e5f9dbae312a3a3973ebc483bca4696a74cf70b9f574b62e5f1e1
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp311-cp311-win_amd64.whl

Download URL ledfx_senders-0.3.1-cp311-cp311-win_amd64.whl
Size 286.9 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
20ce036998c88e7512c52c44cad17dd4be5d968e824a5fb399509d5e43bb6f9f
BLAKE2b-256 checksum
How to use checksums
6c44e7e80f876d171952e3fa6f85f802cf170bbe4c076202b4f326943159741e
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL ledfx_senders-0.3.1-cp311-cp311-manylinux_2_28_x86_64.whl
Size 2.3 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
52fadf7958705659d0bce974637dd4bef7295c8e8d59de00b5d8c20a2d121aa9
BLAKE2b-256 checksum
How to use checksums
d5c5f4ef287586a65b00e222a16643136a31f427a23a8a76790d83277b71360e
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL ledfx_senders-0.3.1-cp311-cp311-manylinux_2_28_aarch64.whl
Size 2.0 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a396be7c9ac5d4871a40b395fb03c324aa17c5a0a6ee1836009e4636aef3e519
BLAKE2b-256 checksum
How to use checksums
4b82bd6bc926f9f4c523ca95026773f83c1f7678ace507420e4ff9a232b5d528
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL ledfx_senders-0.3.1-cp311-cp311-macosx_11_0_arm64.whl
Size 418.6 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b82bd2531b48de2dd0994689b4ea6b5f125ecba0bedd8085ac45cbfe19e82da0
BLAKE2b-256 checksum
How to use checksums
644509e394331309f1fb1951dd6006c797e1c106997a1d5317e0af8eaddc2b3e
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 Oct 5, 2026.

Transparency log

Release files / ledfx_senders-0.3.1-cp311-cp311-macosx_10_12_x86_64.whl

Download URL ledfx_senders-0.3.1-cp311-cp311-macosx_10_12_x86_64.whl
Size 422.5 kB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
6ca289805d82315c0c1567ed10d547c24812821d0633d5602d2754915b06298d
BLAKE2b-256 checksum
How to use checksums
92102ba68fba6535f18a00cd8ccbb3403c0cc3bae42199f00b90eb5fd1c65177
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 Oct 5, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.0

36 release files

This release

0.3.1 This release

36 release 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