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.1.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.1-cp314-cp314-win_amd64.whl (99.8 kB view details)

Uploaded CPython 3.14Windows x86-64

ft8lib-1.3.1-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.1-cp314-cp314-musllinux_1_2_aarch64.whl (139.9 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

ft8lib-1.3.1-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.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (140.5 kB view details)

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

ft8lib-1.3.1-cp314-cp314-macosx_11_0_arm64.whl (98.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ft8lib-1.3.1-cp313-cp313-win_amd64.whl (98.6 kB view details)

Uploaded CPython 3.13Windows x86-64

ft8lib-1.3.1-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.1-cp313-cp313-musllinux_1_2_aarch64.whl (139.8 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

ft8lib-1.3.1-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.1-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.1-cp313-cp313-macosx_11_0_arm64.whl (98.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ft8lib-1.3.1-cp312-cp312-win_amd64.whl (98.6 kB view details)

Uploaded CPython 3.12Windows x86-64

ft8lib-1.3.1-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.1-cp312-cp312-musllinux_1_2_aarch64.whl (139.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

ft8lib-1.3.1-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.1-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.1-cp312-cp312-macosx_11_0_arm64.whl (98.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

ft8lib-1.3.1-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.1-cp311-cp311-musllinux_1_2_aarch64.whl (137.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

ft8lib-1.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (138.9 kB view details)

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

ft8lib-1.3.1-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.1-cp311-cp311-macosx_11_0_arm64.whl (98.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: ft8lib-1.3.1.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.1.tar.gz
Algorithm Hash digest
SHA256 001cd9c69d710555628d72d770c42bb354c76bcd9170e193e7d6d7fe71f1bf05
MD5 6e45df3cc76948f7e1fd613d27be75ef
BLAKE2b-256 ed58fec4de48085787bef5d0b05baab2b505d36b31cf32de4296ebddff581a6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1.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.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: ft8lib-1.3.1-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.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 97823bacb5d79d904f035246c304bf6c206d14397d8c38e351b2ad9abe811505
MD5 c7be88d35ad660e5819f7b840e31a4ce
BLAKE2b-256 3af862319f5bd803e8dda42604d6a4a064dae3514a68c52bfc1de04a7d7cc88b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2e1050e2c27cc52040d93fca83e7cec32b8cbca2a3ef4f690474476cacaf6a44
MD5 2b68a7a015dcc7dc54eda4924f49581b
BLAKE2b-256 c7d95be4e19d725adb3fda21b45d66a2154ee3426a045d6cef14bfc96cdba043

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 24e455c2c2f9cd4998049078362450bd7a45489c5f94518514b7051be217d360
MD5 0b9816332f4cdf81462d6ca171ac6be4
BLAKE2b-256 e4874b4df980ee21dae5e4025da773e802ba14fbea21446a90202c19cd427201

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c514ee7b3e8f5fac0475ca7198a4a975152ed25de539ed50c8dfc7a5dbcec75c
MD5 d02bc547268111e04f410d7bad80ce3a
BLAKE2b-256 cd10f680dac9de7361c6b89d4017083bcd1160871eb22b33ae0d5af721393605

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-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.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 4a0a63d4272d6d7775078f3180215ef7698c8413f9750f909cd2f0fcbf85c9e3
MD5 9993ffc2e7ebdc95662cdcd7de378232
BLAKE2b-256 2791e5e06f86e72dad7a113dec0c398ba4ab1a25733de53f431fb8490c4d1ad0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2770e5ca427199618ce8f026e96195ff796a88f57ec6783f7a6950195000f87a
MD5 b652ac0bbdcfed7bdd2038b2214d771c
BLAKE2b-256 74bf5e653942f107cec363a1c7594b444d6c7920a6c446a25f1a90a70bb7bd43

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ft8lib-1.3.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 98.6 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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6c85bc6accb56adddf84485972776511bb0dc1df65d61a85089317971faec3a8
MD5 5faa150942f2d023970d509503e24145
BLAKE2b-256 f1689e66449a3df60993b695d6fe9c518ecfe327628384abc8a76af30e43121f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cd755d57c1b516a52c99a55d8d192bea965733234bed2a83c24d315cf2442c2f
MD5 5fb754d15ceed7473ddb33a8fc70e883
BLAKE2b-256 ed0b06dfb4240755870a34847dcc0939f193f9e63828fabb0d17dafcef2f0073

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 340f38541e6003bec1d583cedc0f75561154e06b8f13b44fcd442d8542e3569a
MD5 fa5357ba2b2e53cc0aa199e96ce253cd
BLAKE2b-256 d45bf5220e638347e1dc7ffcebfa042ac41fbad5e98b6c2cffb870679c67d96c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dadb4430d4764984ee0b0a8d0c640c913480828713353b78ad55c00e6f2903ac
MD5 829f796f30991655f0af08afa55464b3
BLAKE2b-256 a0879a7397d481e9110d56b9abc152560e1080d957ecc1a7053c0107b59c1161

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-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.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 03b1c50e2e43e55f4a43cb52af2b58137abfd95f87cc1f5d5ed2711e14c349bd
MD5 1e05b8621ee5d89d6095b3b4e8629f27
BLAKE2b-256 1f48c037e2ef99527c167db1a6d26f608520f681035bd87686c6e80ab97bca25

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3c10a5395746644be05253385d7df2b931dc3523a6b60fdb53584fe58fad381d
MD5 b57e7f342e237c2bddd6fbb5e3571d22
BLAKE2b-256 c03b6bdec8fa4c5e6aa17d83c0b1bc026fbec9e10640216b6677a7d478dca4c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ft8lib-1.3.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 98.6 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a5db9eb37785106f787d2c97163a3f99f780a616b99b4784e40a24939813d4ab
MD5 84eb7559060cb2b42db92bbbea8783e6
BLAKE2b-256 77e14aaff9a2beba36adeaae92d4f15d404ffabaecbf52bc5eed7d98c8578e74

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 47e81b89494ee49de84e19266c75473fce7b1bf516e13fd4e173d830358dd0a2
MD5 576d3f415bf4481a192840ff8df0db9a
BLAKE2b-256 276a732608ec7ba3728c579d25930104b80321dcfcb737600090142f792954b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 84ded6a8b4073aa9043d4999bb563efd87141f330a3c89cc59130c39a29ba062
MD5 cd9baf58f36b2ab38cc6b6cab7440e3d
BLAKE2b-256 74aca4c8ae913a4a985c7151c7a7adeeeab5503777d46a3c2a63f460b1796f0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7b50a7f721ae7679413a1b7a38e589b6dbbab8a33cb4bf6ac62d24241519c869
MD5 3eaf2adef32ec84ce9965107c385775c
BLAKE2b-256 fa84fce03359036d90eafa10e2e34cf3583c3089036cea184d1c7d313c80ebb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-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.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 3ac64e7479f977eaeabd1bfee65a273f8f7ffa8fe0f6d7c82ec2e4e1f48bee0e
MD5 fc5c076cf247f5935461b09efdcb0fb1
BLAKE2b-256 0dcf5545be6943b454358afd2c88a294fe002e8bda6d661c12d639bb7c8733d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0239f854491ef65f8444eea55ba2c57f3bc435f81cdc42a914aafec00114d8e1
MD5 5e8e912cf76c4d56a3ddf11f76532ecd
BLAKE2b-256 d07b19e3302ff660ea87671d19b265f253724652dace516e03bae6991d3b8bfd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ft8lib-1.3.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 924f91d7ad05e59467acd6fb3c5b1c56fe726cae371c035bbbac5a508494bda2
MD5 050daac4df97025e9685882fee57462f
BLAKE2b-256 fca829b3ae404639aea18b54af87d3f4cb9969fcefb580e058dcecb92cf701e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4e581641024361dab16e00c2465077d6e8dce2b07317d525f7ee894ac9961eda
MD5 5e1d4f91a77012d2509131dc6d5b6eed
BLAKE2b-256 4b91c63082d8c6743037cd8c01f69e188460b6e2c71e0284ebf8b36daeee2330

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bd315c2c788848ae6786c6705ca4fee0fc37d82786870c817daf4c1688636495
MD5 831a0ba54cb23e19c5c5d39d136f5146
BLAKE2b-256 608bba784681e5058a03d653502eb6ebdd4564cb6f5a4ebf2b402879a2ab6fa6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ea6d5ce764bd99d6f3e141d67a667523a7b415b8638bc580e5e30a36482dcb48
MD5 067e8bada92847969997ed9b53c595db
BLAKE2b-256 23965790d6825d722b62318ea877a94d72e4e7250bb7430f9b0202737bfffcd3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-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.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 048927e36fda4f86664bd022781beac8e06b05758715b952bd8b90a33b149a52
MD5 e5b0942ed48b2e428f114111605c0fb8
BLAKE2b-256 fc1ac3c5f3a76272750e4cd83f36dbc59d57048efa2bd8fa86c189fed8aa0cd4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ft8lib-1.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ce03f15a46725a275baff9b28e5938d2faaedae16ad7a6d353aa62c164c398ba
MD5 5ed2a0462f499d02479cc507a92493ba
BLAKE2b-256 61f7cbb91e00b64c5cceb88f76da0d417e5ed8d765505801cfbf26ab78ea420c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.1-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