Skip to main content

FT8 and FT4 amateur-radio digital mode encoder/decoder (Python port of WSJT-X)

Project description

ft8lib

FT8, FT4 and WSPR amateur-radio digital modes in Python.

ft8lib is a Python port of the FT8/FT4 protocol implementation from WSJT-X: message packing (77-bit), CRC-14, LDPC(174,91) forward error correction, GFSK waveform synthesis, and a full receive chain (candidate sync search, downconversion, fine time/frequency sync, noncoherent multi-symbol soft demodulation, belief-propagation decoding). It also includes a WSPR encoder and a port of the wsprd decoder (sync, noncoherent demodulation, Fano sequential decoding, signal subtraction).

Installation

pip install .

The only runtime dependency is numpy. The decode hot paths (LDPC belief propagation, ordered-statistics decoding, fine sync) are compiled from a small C extension at install time; if the extension is unavailable the library transparently falls back to slower pure-numpy implementations of the same algorithms.

Usage

Python API

import numpy as np
import ft8lib

# --- Encode a message to an audio waveform (float64, 12000 S/s) ---
wave = ft8lib.encode_ft8("CQ K1ABC FN42", f0=1500.0)   # 12.64 s
wave4 = ft8lib.encode_ft4("W9XYZ K1ABC RR73", f0=1500.0)  # 5.04 s

# Transmission conventionally starts 0.5 s into the 15 s (FT8) or
# 7.5 s (FT4) cycle:
period = np.zeros(ft8lib.FT8.NMAX)
period[6000:6000 + len(wave)] = wave

# --- Decode a receive period (12000 S/s audio, any amplitude scale) ---
for result in ft8lib.decode_ft8(period):
    print(result)
# FT8 -15 dB  DT +0.00 s  1500.0 Hz  CQ K1ABC FN42

for result in ft8lib.decode_ft4(audio_7p5s):
    print(result)

# --- WSPR: 2-minute periods, 110.6 s transmissions near 1500 Hz ---
wave = ft8lib.encode_wspr("K1ABC FN42 37")
for result in ft8lib.decode_wspr(audio_2min):
    print(result)

Each decode is a ft8lib.Decode with fields message, snr (dB in 2500 Hz), dt (seconds relative to the nominal 0.5 s start), freq (Hz), sync, and mode.

Realtime decoding

To decode live audio, feed a RealtimeDecoder blocks of samples as they arrive (starting at a cycle boundary). Like WSJT-X, it runs decode attempts part-way through the receive period (FT8: 11.8, 13.5 and 14.7 s; FT4: 5.6 and 6.05 s), so most messages are reported seconds before the period ends, and it rolls over automatically at each cycle boundary:

rt = ft8lib.RealtimeDecoder("FT8", mycall="K1ABC")
for block in audio_blocks:            # e.g. sound-card capture callback
    for result in rt.feed(block):     # new decodes, as soon as they appear
        print(rt.cycle, result)
rt.flush()                            # decode a partial final period

ft8lib.decode_realtime(blocks, mode="FT8") wraps this as a generator over an iterable of blocks. For a single already-captured period there are also decode_ft8_stream / decode_ft4_stream, generator versions of the batch decoders that yield each message as soon as it decodes instead of returning the full list at the end.

Lower-level building blocks are exposed too:

bits = ft8lib.pack77("CQ K1ABC FN42")        # 77-bit numpy array
msg, ok = ft8lib.unpack77(bits)              # back to text
tones = ft8lib.ft8_tones_from_bits(bits)     # 79 channel symbols (0-7)
codeword = ft8lib.encode174_91(bits)         # 174-bit LDPC codeword

Hashed nonstandard callsigns (<PJ4/K1ABC>) resolve through a ft8lib.HashTable, which you can keep across decode cycles and prime with table.set_station(mycall, dxcall) — the same behavior as WSJT-X.

Command line

# Encode to a WAV file (12 kHz, 16-bit mono)
ft8lib encode "CQ K1ABC FN42" cq.wav --mode ft8 --freq 1500 --full-period

# Decode a recording (any sample rate; resampled to 12 kHz)
ft8lib decode 210701_133000.wav --mode ft8

Message types supported

Standard messages (types 1/2 incl. /R and /P), free text (0.0), DXpedition mode (0.1), ARRL Field Day (0.3/0.4), telemetry (0.5), WSPR-style (0.6), ARRL RTTY roundup (3), nonstandard/hashed calls (4), and EU VHF contest (5).

Performance

Decode thresholds measured with additive white Gaussian noise (10 trials per point, single signal):

Mode ~100% decode down to WSJT-X (with OSD+AP)
FT8 −19 dB −21 dB
FT4 −16 dB −17.5 dB

The port implements the full WSJT-X machinery — all five metric passes, ordered-statistics decoding (OSD), a-priori (AP) decoding and multi-pass signal subtraction; the remaining 1–2 dB is algorithm tuning headroom. A full 15 s FT8 period with a busy band decodes in well under a second on a typical desktop.

Documentation

A comprehensive usage guide for the whole public API — encoding, decoding, realtime operation, WSPR, hash tables and the CLI — lives in docs/usage.md.

Development

Detailed docs on the encode and decode pipelines, with Fortran-source correspondence tables, live in docs/encode.md and docs/decode.md.

The LDPC tables in src/ft8lib/_tables.py are generated from the WSJT-X Fortran sources by tools/gen_tables.py (expects the wsjtx source tree in the repository root).

Run the tests with:

pip install -e .[test]
pytest

License

GPL-3.0-or-later. This library is a derivative work of WSJT-X, Copyright (C) 2001-2024 by Joe Taylor, K1JT, and the WSJT-X Development Team, licensed under the GNU GPL v3. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ft8lib-1.3.2.tar.gz (80.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ft8lib-1.3.2-cp314-cp314-win_amd64.whl (99.8 kB view details)

Uploaded CPython 3.14Windows x86-64

ft8lib-1.3.2-cp314-cp314-musllinux_1_2_x86_64.whl (140.2 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

ft8lib-1.3.2-cp314-cp314-musllinux_1_2_aarch64.whl (139.9 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

ft8lib-1.3.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (141.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

ft8lib-1.3.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (140.6 kB view details)

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

ft8lib-1.3.2-cp314-cp314-macosx_11_0_arm64.whl (97.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ft8lib-1.3.2-cp313-cp313-win_amd64.whl (98.7 kB view details)

Uploaded CPython 3.13Windows x86-64

ft8lib-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl (140.0 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

ft8lib-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl (139.8 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

ft8lib-1.3.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (141.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

ft8lib-1.3.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (140.4 kB view details)

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

ft8lib-1.3.2-cp313-cp313-macosx_11_0_arm64.whl (97.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ft8lib-1.3.2-cp312-cp312-win_amd64.whl (98.7 kB view details)

Uploaded CPython 3.12Windows x86-64

ft8lib-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl (140.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

ft8lib-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl (139.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

ft8lib-1.3.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (140.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

ft8lib-1.3.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (140.4 kB view details)

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

ft8lib-1.3.2-cp312-cp312-macosx_11_0_arm64.whl (97.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ft8lib-1.3.2-cp311-cp311-win_amd64.whl (98.6 kB view details)

Uploaded CPython 3.11Windows x86-64

ft8lib-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl (137.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

ft8lib-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl (137.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

ft8lib-1.3.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (139.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

ft8lib-1.3.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (138.3 kB view details)

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

ft8lib-1.3.2-cp311-cp311-macosx_11_0_arm64.whl (97.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file ft8lib-1.3.2.tar.gz.

File metadata

  • Download URL: ft8lib-1.3.2.tar.gz
  • Upload date:
  • Size: 80.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ft8lib-1.3.2.tar.gz
Algorithm Hash digest
SHA256 40ec8cca92f0647aaeb7ba93a219b1dcc7a200e975c537b1f97df2b6c165c327
MD5 e0289329c9ba8f3b2e7c9c71b320af6e
BLAKE2b-256 1777f137226909aebfd547a88bee06c1e35f26b90cd27cc50c346abd8d452ecf

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2.tar.gz:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: ft8lib-1.3.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 99.8 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ft8lib-1.3.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 389e3ddd3f8f52957f746521b5c990253c6116773410d84443fd5e958cf4269f
MD5 8a76409aaf5976a1e858688026e37c3b
BLAKE2b-256 6f49b2b1ecce5a776fb2b52bb40c698ba32f720229db1c7455960d77fc581113

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp314-cp314-win_amd64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0fefd7d4f121fb324cc999fbaaa1b36db2b773d4dd0df30cfbe4195a69ac1908
MD5 f6e5a57a2bedcbd8c85c12455e25e75d
BLAKE2b-256 bb07eb5454b64ec0891cd06f9f522d93b907454b5008f59070a4371a2f889614

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f52c019570a20f2c9fd754730df4ec4823fc6891e595239cda828a4081885cdf
MD5 91a9cf70b3188622b875543db90c2f4a
BLAKE2b-256 d782c5109c604fbbf3922d949b0c19620ac511301eedc20fe7d2dedfccb1f1ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 999e11ab46c10e2c481be925919c4b1f1feb65d61887297f03bde9d9a27bb2a3
MD5 ff4185e77490f45e1eb0383148c407d6
BLAKE2b-256 a3de537b8c047fa26d013bc517b10b41062bde375333c01acb7533cf13878c71

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 997ab817bbb6752fd5c7d8ec977f23c6818fee6376e3596a9a8b7682aa74a815
MD5 40e42877f1ef69c164a7d0ea58319222
BLAKE2b-256 399cfad63ad490980efec117def5dfd4ac0729d029e718c1bb691ff87f694eda

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9857917070e80f4b5608314e2776c3355b47c5dffb7f65e4f0c187489a2837a4
MD5 9f2e073c0a3ab02ec222a061f2f757c4
BLAKE2b-256 e8b2cd504e67fd3021a0811cc76e3ac97bbc6a321c305aa5ace4740c72cbd8dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ft8lib-1.3.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 98.7 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ft8lib-1.3.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b4482a3e6b9a2c3c3e5fa2ab6346548202ffd6be78397dc9163178872f6983da
MD5 bb25af7903206bf342592da1078a9af9
BLAKE2b-256 908740af65f3fe2b79c95c4f1aea18b75365866e82cb7402bbf292a4e04d597b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp313-cp313-win_amd64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d8e09758f7805754bb06225302446485e2a476afe5c3fb8df86d7aa3d6398e0b
MD5 0733ea7262a54773d2f5d855e757af0b
BLAKE2b-256 f1697e69cc7a223dbfd1f8ef8c65e7604d2105f17510e2193d8a2a60cf122adb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5115793a5d4fadfa434c561bd76d49640ad98ad27363d319da579998c718f772
MD5 849283e510865279870f0200e6459be5
BLAKE2b-256 8168da0f27b7975ebe3ec1c8646f9811f4874560395e390bd43416f51d427b7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1a0a7171c932dbfcf2dafa54587a0eecd280a37c9956359d8049af7fd79908a3
MD5 f45f79f1163d0ed1f9d3eed7e5ad4bb5
BLAKE2b-256 b6748b4a9e740256d30eea752083580562671496331677f1591fa95a87723cc9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 320b3a2c7e5012b2559eec871e4b76c2c66433de09f21c661dc78ece5240cd10
MD5 f9df62b8b7b2a191603b5df3ab4a4d53
BLAKE2b-256 85d4115666e3474dd71ad4490aa0c1d0b1fcb500f955b16d37afe38f96d625b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ff92143c2535b9c780e42599a6246310906f645455a8be70119e40f6b920663
MD5 0b61e5ce5db7e1388b429b978ba5c690
BLAKE2b-256 84dc3d85b34b2e07d97637334271f016024972be2bf6a08d68eef68c5dda21bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ft8lib-1.3.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 98.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ft8lib-1.3.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 78a22642ceda44ee26b503390fa908bda8885e98d40f21df342064ab2081d9f9
MD5 ad055dc9a6615e4df43036caa6fd3091
BLAKE2b-256 ffd25334de181ad5829bcae3b52483cafe8a2f070a7518bee7de8012751f82e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp312-cp312-win_amd64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ec37c6dc5056084b004c261e9bfa23acfe96720fda9dd1d52289fe0890d3d8c1
MD5 5b1a64d015c314b1461fda743c99c973
BLAKE2b-256 67f0d955d895e8dc2bbc1d4028bb2916bb240895f2db111e356e8caf308170b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8b812bd6067e8a2533d436964c5ee2f07422e5050b26a3257f40fd401c100004
MD5 5b8f34880348d5a0509d3db17f6fe6f0
BLAKE2b-256 c937f75ddb18b85ebe0d97a3e1ec108d75f395355587f55f6881703547d52838

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ab7c47f094c5b3a3fb3261dbfb806509339b56e791053201aa5ba06496f61f03
MD5 9021b2f8545927407cc801370993faea
BLAKE2b-256 4d5d2f9eff6e95aa5107c7fbdb079f8b0195e6da315a9ed5fc9d3e80bea3eb3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 98addda2b3d2a1bd259b555190d25005ccdd4b8e20d4504046d06d42e4e6bd88
MD5 2ee5ba7f386d1d99f5f879b48343ed7f
BLAKE2b-256 971343dfcbd6847751dad595998c78d5d3c0f3cdcaf5ca807aa089ab65522277

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 657b415c7fc573532b33fa1c31003a9ac6945cce8bf1fb8fb91bd34ae609416a
MD5 d601e2c64f9dcb4d300c5c370fda9e7f
BLAKE2b-256 756e68cd000ba394e1e286b4fa275bc097dfa19613d8903b1da65226078d904a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ft8lib-1.3.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 98.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ft8lib-1.3.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a5defd3e44f8fb273fcdc1c89ba253162ac7c3967b7c3fe5d82d635e56299dd4
MD5 bc3a6e427f5e449cd2c99be7502d997e
BLAKE2b-256 105f021ab218deb3e2f680e10f13ba83d1467f06f0d33b10661a7c5e8f8b9469

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp311-cp311-win_amd64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a62242dd729f3bb710fb76d4dbc1881a0f3dd7277ae1803d94be99b143f89e4a
MD5 b6f40fe39eaf7537ce891b45c1c4edfc
BLAKE2b-256 4fffdd870e8d9d66207e3b647947332a586de3940b318ef65a35b6e7c11d7373

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1fdf6449030ca79d7427178460e416f87b850f7cacac324f267b7a3d85a5fb45
MD5 ec1060c996a69ce5fda7982e5a2dffad
BLAKE2b-256 32948df030a285228e81f02103b51ee73b6f3964fd4ddd3c1eebf2b699c055ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9b9da0b50633c5b23ef3b4c6727a08c7fa00882ed16145e5d8417cb3f022f7fa
MD5 4ee4506994fbb760a1c21bc6b7f552cb
BLAKE2b-256 a927e43dbf8f8226e67f95f551f3b53d1f0bc69938710e089300f841cff6741b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 6c63ef09dd504edf656042f066c9491815d3b8569275cf5a5e1e060626667cac
MD5 5fb95a0d5de4a35d6b47fcbbd4c39da3
BLAKE2b-256 583dcc18098dc358461c3b893d8bbdb6325812642c00133f2ace567db01d9afd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ft8lib-1.3.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a24a74b84fcf73b182b2bab9f562a94e44ec2040e30a6f501bddca9d4d68e73e
MD5 9fb5d189bcd3d8f92ea46a24323c11d6
BLAKE2b-256 9a499542080cbaf9343b1dbd4d541fcb726d0bd0d634a24966588361aa5e1d7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on 1vers1on/ft8lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page