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

Uploaded CPython 3.14Windows x86-64

ft8lib-1.3.0-cp314-cp314-musllinux_1_2_x86_64.whl (140.1 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

ft8lib-1.3.0-cp314-cp314-musllinux_1_2_aarch64.whl (139.8 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

ft8lib-1.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (141.0 kB view details)

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

ft8lib-1.3.0-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.0-cp314-cp314-macosx_11_0_arm64.whl (98.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

ft8lib-1.3.0-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.0-cp313-cp313-musllinux_1_2_aarch64.whl (139.7 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

ft8lib-1.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (140.9 kB view details)

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

ft8lib-1.3.0-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.0-cp313-cp313-macosx_11_0_arm64.whl (98.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

ft8lib-1.3.0-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.0-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.0-cp312-cp312-macosx_11_0_arm64.whl (98.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

ft8lib-1.3.0-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.0-cp311-cp311-musllinux_1_2_aarch64.whl (137.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

ft8lib-1.3.0-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.0-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.0-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.0.tar.gz.

File metadata

  • Download URL: ft8lib-1.3.0.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.0.tar.gz
Algorithm Hash digest
SHA256 54aa6752bcad2f47c1e7e65c5e602607c057479e0a109a41de323da7adad9316
MD5 acdb3eb695f2a3de9f1b486d4253d506
BLAKE2b-256 c127d52a046571c7bcbea41634ddb409505b6480592c17b441d05b2abef55331

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ft8lib-1.3.0-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.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ca1ccc389a97b013ff6c881b5afafad75dd7ed86247dacf83694665568a0bf26
MD5 ca969205654ffda9a13ae0c3ffdc11f7
BLAKE2b-256 c41deda045705256e7294c38abb23158b12e3348f29f75b7e76e22d5a2cf059c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cdbb9b21449eff9f9eba07a6ab2a91903ce79bc072d83df6684cc9257bbc841a
MD5 320fcfa92f149a649b2f0cfa08cb0847
BLAKE2b-256 3648ac7835ccfefd6856d3261f19fcd664a4591aa9c8033cfeb6d11502b71e79

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3eaa747d751bf8a4e258cd36d7ed36650b8f17934b9ec0adcf4ef7e8e1aa0226
MD5 93e95e6ddbb7b96d4741cdb240988ae4
BLAKE2b-256 3502c0fd7d5a1b7f21f81cbf2d22278856361db40e390abdb3e6355998e5ac00

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9eff30e0260fef5553201a50853c8cd458ec27338e49864fd9d44f653102291b
MD5 90019324fb3d6f8cc03039a5fe5b489b
BLAKE2b-256 01968cfff284f56eeadcd1b3a878f7704edda905cab820ce3c3f05bc144dda84

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.0-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.0-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.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 913b28322caee3708e14c5940b97fc982c0778a09b3a36a1698081bd928e6c98
MD5 fb673663670a7306a076532c791bf99c
BLAKE2b-256 d877d5f8c0bdf98d2ab077100bf4ed3cd4edf420d183b4326ddf786b4a0e7640

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fe00d523b7b6e7663feac04cf7036eb09cb1df6f9524cecb7e2de97a8a9a2b3c
MD5 60dea51e655907750b00126e58bf6dc4
BLAKE2b-256 ec58ab3bec2acfe03d45a2af299c8a2cca9b1eac1a21a1764975dd658e3dd1a1

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ft8lib-1.3.0-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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 eaf093d90873d9a7d6031de0f299ac43499ca5ddec2fa4d1ff8c9d6913c7d1c1
MD5 2defdf3ab71dafe5b5ba06a57ff703e4
BLAKE2b-256 e25a059d3caf26dd885b030b7c39563e6c86804190950174b3844a739f66504f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fbde185cf083048cc361ae40b0d4de26008c9882465b2f9edad6a29b3da3e9e2
MD5 0b573203181211b341a2333c4a58c6ee
BLAKE2b-256 6486885660c0ca78de631c2ec9032ec112650c662f3ef79b25d8a7b899a7bf51

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c77d8bf814f12c5d8e80f33bbaf480bd8f6dd519bfe0d9146937be82563674ca
MD5 e904089d821e1ff43c48d88f5c42bb06
BLAKE2b-256 ef2be0f3b57368135754d58663c1cf32b564042f9a2a1afc5e745c18bab49c15

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1421812936d440e06acb8f04cb2f8a51b09a20dfb82e9c640f3a08de7e66107f
MD5 333ec1fc754daa1cdd016d649c9eb378
BLAKE2b-256 ec490dc4b278a165a841a2bb1c2806d844984e45b40b984f82d843eceb711872

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.0-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.0-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.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 25fddb567f4491fc3ef27079178812cc774354fec505df582ac6bb6cb401ba15
MD5 b4a6774b04fd4af25bb91571527fcbc5
BLAKE2b-256 43657c78eba32a7b4babc79138059a2d02dac0171f7ecc061c27e07aaf3fbe37

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c28fd4dca32b2000a641714b3a514c9cfdec83281a0274f9eda11b5ac8b2c0f
MD5 a0f5129f83a7220f9075738e54208eef
BLAKE2b-256 000aba57b15df0f23b534bf6d8e50b5a4bc2b26f5cb27d5644a2861e709e99fb

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ft8lib-1.3.0-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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 41e94a21989cdd0998c4bb0b3d2e495278a6926c241f53e91b99e019bcad9968
MD5 a637ec4a07ea115e43d25499cd8c3295
BLAKE2b-256 4da86fa668b3cbd570e445a667bca9c2c244238d8babca2aa6a4616d636f7b72

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 102d42d273598a0d38f3da6688f68fa9a2a68876c0dd1a8b8fffeda1f729eb6e
MD5 6611e596efeed8c05cd4f5dc4dab18f8
BLAKE2b-256 d8e45c1c4b339e6cea4b3b537e5565a1b21e620337f59b2ddb0b7ead89c3572f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cb8f0382665dba452c2a544d993545a127dd1da7e3cde517bae4ee4dcc68dd48
MD5 c46035ab24d669726cf455c96de3c525
BLAKE2b-256 8eed930701b53ac9efc116cb0de458139ce3a90399788f9b973fd846a0a50250

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e247482d7fd02c59c6c7e3d27969b8866a05e31566879b947aab06c7e79ce607
MD5 b50b95a1b041b817add870cba087496a
BLAKE2b-256 5a14f915b0f4a8e3cbb2ba7f8d069bb271444c31820d87c1cb062cd277a9151a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.0-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.0-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.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 b1df5b5f340e8ab7b1849dc4980c73e0e542bf5a4c98770c766efa0a814eadbe
MD5 f1270aaee5d0d9ee0192c8c0f96a5bdb
BLAKE2b-256 13d3ddb4dff79ce8b4fb7275e987f9a524f2a5a4843be4d181c1d64cd4a0ef9e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 56fea5c67034ae624903afb34be1dced9d2480c19f1f7e44b486b95edf8314a1
MD5 38443d84e983e7d621459a751eecee55
BLAKE2b-256 d07f680ae7a397bbffe9950bf66ab958166d1d2ea9e9b04148de97f9f477b97d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ft8lib-1.3.0-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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b7e051d13902b633220e32d89b21b0ab58b68265d79d61bf3a5f9252fab44f68
MD5 376f06c04df54eb273cd9e35f2a582d8
BLAKE2b-256 041d5d76db53e20a37beff346e45297ebf7be2957c6646eb42e228ddd5d2d544

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 aa780a5145008fadb159d06ca4dc83e962e6da2d44b69bf500af3b2b3f502fae
MD5 6078efef82a05ebf14a9b473e70ebc6f
BLAKE2b-256 3ebc942912df78c5e9b4b5327f4d677615566e2b05c329f6d1ba80aa3b6e11de

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 495561d11bb99f862e67e5454b9514c1d21a4e583a9a3c379c7b50dcfdf2d80d
MD5 b5d54501a6fb3a3a161b37a929c056b5
BLAKE2b-256 23a880227ac97800c0d001dce554c0993185a8e3c4d26fb875ef794025d7d219

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 45e75505290c59fb5cf566e8a5e853442daba4a4894e501bf54318ee7f421b66
MD5 b8231e6dba10dff64e3ce57c2b146f77
BLAKE2b-256 b25eeae7380d9a79cb4c85843757e792cf5056377b5d5b4ce8ccc93e38b2b478

See more details on using hashes here.

Provenance

The following attestation bundles were made for ft8lib-1.3.0-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.0-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.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 b3544d6f0d43784b8169e9391c15e0bb9d1c06dbce684afcbbde874b483456f8
MD5 051a90b44aa573438def9f0a996ccf51
BLAKE2b-256 cde227cbe60d4e53a83de2198d0c4a3f0ac4f0df2190a5e2fe3ffbc2affbc9d3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ft8lib-1.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 84ed1e97cc32942ff38d2190b22c94235ba8578b5f1dcbb03c92e7bf2ac03141
MD5 44ea249f651bd4cbb49777b1a3dfdcaf
BLAKE2b-256 f14785c16b7431e5134ddbacce75ce5096903a34f1a8bad65a1514a5b8c2cff9

See more details on using hashes here.

Provenance

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