Skip to main content

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.

Metadata

Release files for ft8lib 1.3.2

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

Source distribution (sdist)

Source distribution for ft8lib 1.3.2
File Size Uploaded
ft8lib-1.3.2.tar.gz 80.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for ft8lib 1.3.2
File
ft8lib-1.3.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
ft8lib-1.3.2-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
ft8lib-1.3.2-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
ft8lib-1.3.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
ft8lib-1.3.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
ft8lib-1.3.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
ft8lib-1.3.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
ft8lib-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
ft8lib-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
ft8lib-1.3.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
ft8lib-1.3.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
ft8lib-1.3.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
ft8lib-1.3.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
ft8lib-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
ft8lib-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
ft8lib-1.3.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
ft8lib-1.3.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
ft8lib-1.3.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
ft8lib-1.3.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
ft8lib-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
ft8lib-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
ft8lib-1.3.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
ft8lib-1.3.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
ft8lib-1.3.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 3.1 MB

Release files / ft8lib-1.3.2.tar.gz

Download URL ft8lib-1.3.2.tar.gz
Size 80.9 kB
Tags Source
SHA-256 checksum
How to use checksums
40ec8cca92f0647aaeb7ba93a219b1dcc7a200e975c537b1f97df2b6c165c327
BLAKE2b-256 checksum
How to use checksums
1777f137226909aebfd547a88bee06c1e35f26b90cd27cc50c346abd8d452ecf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp314-cp314-win_amd64.whl

Download URL ft8lib-1.3.2-cp314-cp314-win_amd64.whl
Size 99.8 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
389e3ddd3f8f52957f746521b5c990253c6116773410d84443fd5e958cf4269f
BLAKE2b-256 checksum
How to use checksums
6f49b2b1ecce5a776fb2b52bb40c698ba32f720229db1c7455960d77fc581113
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL ft8lib-1.3.2-cp314-cp314-musllinux_1_2_x86_64.whl
Size 140.2 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
0fefd7d4f121fb324cc999fbaaa1b36db2b773d4dd0df30cfbe4195a69ac1908
BLAKE2b-256 checksum
How to use checksums
bb07eb5454b64ec0891cd06f9f522d93b907454b5008f59070a4371a2f889614
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL ft8lib-1.3.2-cp314-cp314-musllinux_1_2_aarch64.whl
Size 139.9 kB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
f52c019570a20f2c9fd754730df4ec4823fc6891e595239cda828a4081885cdf
BLAKE2b-256 checksum
How to use checksums
d782c5109c604fbbf3922d949b0c19620ac511301eedc20fe7d2dedfccb1f1ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL ft8lib-1.3.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 141.1 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
999e11ab46c10e2c481be925919c4b1f1feb65d61887297f03bde9d9a27bb2a3
BLAKE2b-256 checksum
How to use checksums
a3de537b8c047fa26d013bc517b10b41062bde375333c01acb7533cf13878c71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL ft8lib-1.3.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 140.6 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
997ab817bbb6752fd5c7d8ec977f23c6818fee6376e3596a9a8b7682aa74a815
BLAKE2b-256 checksum
How to use checksums
399cfad63ad490980efec117def5dfd4ac0729d029e718c1bb691ff87f694eda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp314-cp314-macosx_11_0_arm64.whl

Download URL ft8lib-1.3.2-cp314-cp314-macosx_11_0_arm64.whl
Size 97.3 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9857917070e80f4b5608314e2776c3355b47c5dffb7f65e4f0c187489a2837a4
BLAKE2b-256 checksum
How to use checksums
e8b2cd504e67fd3021a0811cc76e3ac97bbc6a321c305aa5ace4740c72cbd8dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp313-cp313-win_amd64.whl

Download URL ft8lib-1.3.2-cp313-cp313-win_amd64.whl
Size 98.7 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
b4482a3e6b9a2c3c3e5fa2ab6346548202ffd6be78397dc9163178872f6983da
BLAKE2b-256 checksum
How to use checksums
908740af65f3fe2b79c95c4f1aea18b75365866e82cb7402bbf292a4e04d597b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL ft8lib-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl
Size 140.0 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
d8e09758f7805754bb06225302446485e2a476afe5c3fb8df86d7aa3d6398e0b
BLAKE2b-256 checksum
How to use checksums
f1697e69cc7a223dbfd1f8ef8c65e7604d2105f17510e2193d8a2a60cf122adb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL ft8lib-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl
Size 139.8 kB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
5115793a5d4fadfa434c561bd76d49640ad98ad27363d319da579998c718f772
BLAKE2b-256 checksum
How to use checksums
8168da0f27b7975ebe3ec1c8646f9811f4874560395e390bd43416f51d427b7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL ft8lib-1.3.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 141.0 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
1a0a7171c932dbfcf2dafa54587a0eecd280a37c9956359d8049af7fd79908a3
BLAKE2b-256 checksum
How to use checksums
b6748b4a9e740256d30eea752083580562671496331677f1591fa95a87723cc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL ft8lib-1.3.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 140.4 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
320b3a2c7e5012b2559eec871e4b76c2c66433de09f21c661dc78ece5240cd10
BLAKE2b-256 checksum
How to use checksums
85d4115666e3474dd71ad4490aa0c1d0b1fcb500f955b16d37afe38f96d625b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL ft8lib-1.3.2-cp313-cp313-macosx_11_0_arm64.whl
Size 97.3 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1ff92143c2535b9c780e42599a6246310906f645455a8be70119e40f6b920663
BLAKE2b-256 checksum
How to use checksums
84dc3d85b34b2e07d97637334271f016024972be2bf6a08d68eef68c5dda21bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp312-cp312-win_amd64.whl

Download URL ft8lib-1.3.2-cp312-cp312-win_amd64.whl
Size 98.7 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
78a22642ceda44ee26b503390fa908bda8885e98d40f21df342064ab2081d9f9
BLAKE2b-256 checksum
How to use checksums
ffd25334de181ad5829bcae3b52483cafe8a2f070a7518bee7de8012751f82e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL ft8lib-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl
Size 140.0 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ec37c6dc5056084b004c261e9bfa23acfe96720fda9dd1d52289fe0890d3d8c1
BLAKE2b-256 checksum
How to use checksums
67f0d955d895e8dc2bbc1d4028bb2916bb240895f2db111e356e8caf308170b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL ft8lib-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl
Size 139.8 kB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
8b812bd6067e8a2533d436964c5ee2f07422e5050b26a3257f40fd401c100004
BLAKE2b-256 checksum
How to use checksums
c937f75ddb18b85ebe0d97a3e1ec108d75f395355587f55f6881703547d52838
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL ft8lib-1.3.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 140.9 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ab7c47f094c5b3a3fb3261dbfb806509339b56e791053201aa5ba06496f61f03
BLAKE2b-256 checksum
How to use checksums
4d5d2f9eff6e95aa5107c7fbdb079f8b0195e6da315a9ed5fc9d3e80bea3eb3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL ft8lib-1.3.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 140.4 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
98addda2b3d2a1bd259b555190d25005ccdd4b8e20d4504046d06d42e4e6bd88
BLAKE2b-256 checksum
How to use checksums
971343dfcbd6847751dad595998c78d5d3c0f3cdcaf5ca807aa089ab65522277
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL ft8lib-1.3.2-cp312-cp312-macosx_11_0_arm64.whl
Size 97.3 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
657b415c7fc573532b33fa1c31003a9ac6945cce8bf1fb8fb91bd34ae609416a
BLAKE2b-256 checksum
How to use checksums
756e68cd000ba394e1e286b4fa275bc097dfa19613d8903b1da65226078d904a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp311-cp311-win_amd64.whl

Download URL ft8lib-1.3.2-cp311-cp311-win_amd64.whl
Size 98.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
a5defd3e44f8fb273fcdc1c89ba253162ac7c3967b7c3fe5d82d635e56299dd4
BLAKE2b-256 checksum
How to use checksums
105f021ab218deb3e2f680e10f13ba83d1467f06f0d33b10661a7c5e8f8b9469
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL ft8lib-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl
Size 137.9 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a62242dd729f3bb710fb76d4dbc1881a0f3dd7277ae1803d94be99b143f89e4a
BLAKE2b-256 checksum
How to use checksums
4fffdd870e8d9d66207e3b647947332a586de3940b318ef65a35b6e7c11d7373
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL ft8lib-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl
Size 137.8 kB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
1fdf6449030ca79d7427178460e416f87b850f7cacac324f267b7a3d85a5fb45
BLAKE2b-256 checksum
How to use checksums
32948df030a285228e81f02103b51ee73b6f3964fd4ddd3c1eebf2b699c055ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL ft8lib-1.3.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 139.0 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9b9da0b50633c5b23ef3b4c6727a08c7fa00882ed16145e5d8417cb3f022f7fa
BLAKE2b-256 checksum
How to use checksums
a927e43dbf8f8226e67f95f551f3b53d1f0bc69938710e089300f841cff6741b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL ft8lib-1.3.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 138.3 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
6c63ef09dd504edf656042f066c9491815d3b8569275cf5a5e1e060626667cac
BLAKE2b-256 checksum
How to use checksums
583dcc18098dc358461c3b893d8bbdb6325812642c00133f2ace567db01d9afd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release files / ft8lib-1.3.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL ft8lib-1.3.2-cp311-cp311-macosx_11_0_arm64.whl
Size 97.4 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a24a74b84fcf73b182b2bab9f562a94e44ec2040e30a6f501bddca9d4d68e73e
BLAKE2b-256 checksum
How to use checksums
9a499542080cbaf9343b1dbd4d541fcb726d0bd0d634a24966588361aa5e1d7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 4, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.3.2 This release

25 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