Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Flashlight Text Python Bindings

Quickstart

The Flashlight Text Python package containing beam search decoder and Dictionary components is available on PyPI:

pip install flashlight-text

To enable optional KenLM support in Python with the decoder, KenLM must be installed via pip:

pip install git+https://github.com.kpu/kenlm.git

Contents

Installation

Dependencies

We require python >= 3.6 with the following packages installed:

  • cmake >= 3.16, and make (installable via pip install cmake)
  • KenLM (must be installed pip install git+https://github.com/kpu/kenlm.git)

Build Instructions

Once the dependencies are satisfied, from the project root, use:

pip install .

Using the environment variable USE_KENLM=0 removes the KenLM dependency but precludes using the decoder with a language model unless you write C++/pybind11 bindings for your own language model.

Install in editable mode for development:

pip install -e .

(pypi installation coming soon)

Note: if you encounter errors, you'll probably have to rm -rf build dist before retrying the install.

Python API Documentation

Beam Search Decoder

Bindings for the lexicon and lexicon-free beam search decoders are supported for CTC/ASG models only (no seq2seq model support). Out-of-the-box language model support includes KenLM; users can define custom a language model in Python and use it for decoding; see the documentation below.

To run decoder one first should define options:

    from flashlight.lib.text.decoder import LexiconDecoderOptions, LexiconFreeDecoderOptions

    # for lexicon-based decoder
    options = LexiconDecoderOptions(
        beam_size, # number of top hypothesis to preserve at each decoding step
        token_beam_size, # restrict number of tokens by top am scores (if you have a huge token set)
        beam_threshold, # preserve a hypothesis only if its score is not far away from the current best hypothesis score
        lm_weight, # language model weight for LM score
        word_score, # score for words appearance in the transcription
        unk_score, # score for unknown word appearance in the transcription
        sil_score, # score for silence appearance in the transcription
        log_add, # the way how to combine scores during hypotheses merging (log add operation, max)
        criterion_type # supports only CriterionType.ASG or CriterionType.CTC
    )
    # for lexicon free-based decoder
    options = LexiconFreeDecoderOptions(
        beam_size, # number of top hypothesis to preserve at each decoding step
        token_beam_size, # restrict number of tokens by top am scores (if you have a huge token set)
        beam_threshold, # preserve a hypothesis only if its score is not far away from the current best hypothesis score
        lm_weight, # language model weight for LM score
        sil_score, # score for silence appearance in the transcription
        log_add, # the way how to combine scores during hypotheses merging (log add operation, max)
        criterion_type # supports only CriterionType.ASG or CriterionType.CTC
    )

Now, prepare a tokens dictionary (tokens for which a model returns probability for each frame) and a lexicon (mapping between words and their spellings within a tokens set).

For further details on tokens and lexicon file formats, see the Data Preparation documentation in Flashlight.

from flashlight.lib.text.dictionary import Dictionary, load_words, create_word_dict

tokens_dict = Dictionary("path/tokens.txt")
# for ASG add used repetition symbols, for example
# token_dict.add_entry("1")
# token_dict.add_entry("2")

lexicon = load_words("path/lexicon.txt") # returns LexiconMap
word_dict = create_word_dict(lexicon) # returns Dictionary

To create a KenLM language model, use:

from flashlight.lib.text.decoder import KenLM
lm = KenLM("path/lm.arpa", word_dict) # or "path/lm.bin"

Get the unknown and silence token indices from the token and word dictionaries to pass to the decoder:

sil_idx = token_dict.get_index("|")
unk_idx = word_dict.get_index("<unk>")

Now, define the lexicon Trie to restrict the beam search decoder search:

from flashlight.lib.text.decoder import Trie, SmearingMode
from flashlight.lib.text.dictionary import pack_replabels

trie = Trie(token_dict.index_size(), sil_idx)
start_state = lm.start(False)

def tkn_to_idx(spelling: list, token_dict : Dictionary, maxReps : int = 0):
    result = []
    for token in spelling:
        result.append(token_dict.get_index(token))
    return pack_replabels(result, token_dict, maxReps)


for word, spellings in lexicon.items():
    usr_idx = word_dict.get_index(word)
    _, score = lm.score(start_state, usr_idx)
    for spelling in spellings:
        # convert spelling string into vector of indices
        spelling_idxs = tkn_to_idx(spelling, token_dict, 1)
        trie.insert(spelling_idxs, usr_idx, score)

    trie.smear(SmearingMode.MAX) # propagate word score to each spelling node to have some lm proxy score in each node.

Finally, we can run lexicon-based decoder:

import numpy
from flashlight.lib.text.decoder import LexiconDecoder


blank_idx = token_dict.get_index("#") # for CTC
transitions = numpy.zeros((token_dict.index_size(), token_dict.index_size()) # for ASG fill up with correct values
is_token_lm = False # we use word-level LM
decoder = LexiconDecoder(options, trie, lm, sil_idx, blank_idx, unk_idx, transitions, is_token_lm)
# emissions is numpy.array of emitting model predictions with shape [T, N], where T is time, N is number of tokens
results = decoder.decode(emissions.ctypes.data, T, N)
# results[i].tokens contains tokens sequence (with length T)
# results[i].score contains score of the hypothesis
# results is sorted array with the best hypothesis stored with index=0.

Decoding with your own language model

One can define custom language model in python and use it for beam search decoding.

To store language model state, derive from the LMState base class and define additional data corresponding to each state by creating dict(LMState, info) inside the language model class:

import numpy
from flashlight.lib.text.decoder import LM


class MyPyLM(LM):
    mapping_states = dict() # store simple additional int for each state

    def __init__(self):
        LM.__init__(self)

    def start(self, start_with_nothing):
        state = LMState()
        self.mapping_states[state] = 0
        return state

    def score(self, state : LMState, token_index : int):
        """
        Evaluate language model based on the current lm state and new word
        Parameters:
        -----------
        state: current lm state
        token_index: index of the word
                    (can be lexicon index then you should store inside LM the
                    mapping between indices of lexicon and lm, or lm index of a word)

        Returns:
        --------
        (LMState, float): pair of (new state, score for the current word)
        """
        outstate = state.child(token_index)
        if outstate not in self.mapping_states:
            self.mapping_states[outstate] = self.mapping_states[state] + 1
        return (outstate, -numpy.random.random())

    def finish(self, state: LMState):
        """
        Evaluate eos for language model based on the current lm state

        Returns:
        --------
        (LMState, float): pair of (new state, score for the current word)
        """
        outstate = state.child(-1)
        if outstate not in self.mapping_states:
            self.mapping_states[outstate] = self.mapping_states[state] + 1
        return (outstate, -1)

LMState is a C++ base class for language model state. Its compare method (for comparing one state with another) is used inside the beam search decoder. It also has a LMState child(int index) method which returns a state obtained by following the token with this index from current state.

All LM states are organized as a trie. We use the child method in python to properly create this trie (which will be used inside the decoder to compare states) and can store additional state data in mapping_states.

This language model can be used as follows. Here, we print the state and its additional stored info inside lm.mapping_states:

custom_lm = MyLM()

state = custom_lm.start(True)
print(state, custom_lm.mapping_states[state])

for i in range(5):
    state, score = custom_lm.score(state, i)
    print(state, custom_lm.mapping_states[state], score)

state, score = custom_lm.finish(state)
print(state, custom_lm.mapping_states[state], score)

and for the decoder:

decoder = LexiconDecoder(options, trie, custom_lm, sil_idx, blank_inx, unk_idx, transitions, False)

Tests and Examples

An integration test for Python decoder bindings can be found in bindings/python/test/test_decoder.py. To run, use:

cd bindings/python/test
python3 -m unittest discover -v .

Metadata

Release files for flashlight-text 0.0.2.dev273

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

Source distribution (sdist)

Source distribution for flashlight-text 0.0.2.dev273
File Size Uploaded
flashlight-text-0.0.2.dev273.tar.gz 65.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for flashlight-text 0.0.2.dev273
File
flashlight_text-0.0.2.dev273-pp39-pypy39_pp73-win_amd64.whl PyPy 3.9 PyPy 3.9 7.3 Windows x86-64 Details
flashlight_text-0.0.2.dev273-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev273-pp39-pypy39_pp73-macosx_10_9_x86_64.whl PyPy 3.9 PyPy 3.9 7.3 macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev273-pp38-pypy38_pp73-win_amd64.whl PyPy 3.8 PyPy 3.8 7.3 Windows x86-64 Details
flashlight_text-0.0.2.dev273-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.8 PyPy 3.8 7.3 Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev273-pp38-pypy38_pp73-macosx_10_9_x86_64.whl PyPy 3.8 PyPy 3.8 7.3 macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev273-pp37-pypy37_pp73-win_amd64.whl PyPy 3.7 PyPy 3.7 7.3 Windows x86-64 Details
flashlight_text-0.0.2.dev273-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.7 PyPy 3.7 7.3 Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev273-pp37-pypy37_pp73-macosx_10_9_x86_64.whl PyPy 3.7 PyPy 3.7 7.3 macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev273-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
flashlight_text-0.0.2.dev273-cp311-cp311-musllinux_1_1_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.1+ x86-64 Details
flashlight_text-0.0.2.dev273-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev273-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev273-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
flashlight_text-0.0.2.dev273-cp310-cp310-musllinux_1_1_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.1+ x86-64 Details
flashlight_text-0.0.2.dev273-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev273-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev273-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
flashlight_text-0.0.2.dev273-cp39-cp39-musllinux_1_1_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.1+ x86-64 Details
flashlight_text-0.0.2.dev273-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev273-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev273-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
flashlight_text-0.0.2.dev273-cp38-cp38-musllinux_1_1_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.1+ x86-64 Details
flashlight_text-0.0.2.dev273-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev273-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev273-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
flashlight_text-0.0.2.dev273-cp37-cp37m-musllinux_1_1_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ x86-64 Details
flashlight_text-0.0.2.dev273-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev273-cp37-cp37m-macosx_10_9_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64 Details
flashlight_text-0.0.2.dev273-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
flashlight_text-0.0.2.dev273-cp36-cp36m-musllinux_1_1_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux musl 1.1+ x86-64 Details
flashlight_text-0.0.2.dev273-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64 Details
flashlight_text-0.0.2.dev273-cp36-cp36m-macosx_10_9_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64 Details

Total release size: 36.0 MB

Release files / flashlight-text-0.0.2.dev273.tar.gz

Download URL flashlight-text-0.0.2.dev273.tar.gz
Size 65.5 kB
Tags Source
SHA-256 checksum
How to use checksums
a36293a145528225287eb5f858858220c7e0fe886cf7ac2fefe51469bcb115f6
BLAKE2b-256 checksum
How to use checksums
9ff040f454d9ab6691d1e480745767720502b62ed4f878d2ba324131728fc5cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-pp39-pypy39_pp73-win_amd64.whl

Download URL flashlight_text-0.0.2.dev273-pp39-pypy39_pp73-win_amd64.whl
Size 615.4 kB
Tags PyPy 3.9 PyPy 3.9 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
c325aecbb4ea075e18f308326e757e40de73d2c14612598577cf5a13a64daa49
BLAKE2b-256 checksum
How to use checksums
15120f09c6f12d82c3533f142495c723a47f33bce9522a8c1ca516eaf26c78c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
e9b939f36494329b2309e9b3684369c770cf6d44951014e2f0ccb0e5206fa82a
BLAKE2b-256 checksum
How to use checksums
a4bb6b9a01328d03bb6b98bccf017b663de821aca9d03a9ab063edf78364cf5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-pp39-pypy39_pp73-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Size 990.3 kB
Tags PyPy 3.9 PyPy 3.9 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
a2a5e66fdfc08303b03b42e039fd8c3959508d5bdffe2055d7459e85acde66ea
BLAKE2b-256 checksum
How to use checksums
8df08194cd829b23c479b115f68f746f7b78ed92032284ff97d216f56294e3bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-pp38-pypy38_pp73-win_amd64.whl

Download URL flashlight_text-0.0.2.dev273-pp38-pypy38_pp73-win_amd64.whl
Size 615.3 kB
Tags PyPy 3.8 PyPy 3.8 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
f899539b714f70ca42256eae7ffd2718fc340c6e18f68fc0dbb6018a868cdf07
BLAKE2b-256 checksum
How to use checksums
a40c5cc3690d6d2e74a94a1b6fe26735e6ef50e4bc83cece9c9f787ad7477b25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.8 PyPy 3.8 7.3
SHA-256 checksum
How to use checksums
f4496899599f76400e20655e6e310ac783a626b691cf825f099c4d9c26f4d70d
BLAKE2b-256 checksum
How to use checksums
dab2b7f717f135c6bff9b8b2dc4516778176709a7538302eb4775cae337fca15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-pp38-pypy38_pp73-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Size 990.5 kB
Tags PyPy 3.8 PyPy 3.8 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
aaa679599a54de4c6ce2a7eb1af5a39c5483980126e598feb1b11caa1f7d453d
BLAKE2b-256 checksum
How to use checksums
e0b743ffce1256f822574e62998ad0de84e5fac79a8cf1676ed051b077d67284
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-pp37-pypy37_pp73-win_amd64.whl

Download URL flashlight_text-0.0.2.dev273-pp37-pypy37_pp73-win_amd64.whl
Size 615.2 kB
Tags PyPy 3.7 PyPy 3.7 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
e37e7aa80244b455748803d132280488442863dffc74bef0ca96f880f32fb5a8
BLAKE2b-256 checksum
How to use checksums
252c9ea3c032a2ec2d3fe814ed72f05ba2ee51e9f0b112a11a86f2af73a2e043
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.7 PyPy 3.7 7.3
SHA-256 checksum
How to use checksums
9e81b5553d1ad528946dccf57fb51307dcf47f31c9a4ac4e2cf641f1a50317c4
BLAKE2b-256 checksum
How to use checksums
500a68da9850fd904024b1eb95667ecb96868fa135fd746e91ad2a4c200f2eac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-pp37-pypy37_pp73-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Size 990.3 kB
Tags PyPy 3.7 PyPy 3.7 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
464c47dfda5cba3b718f98e4e951bd0e661220865b5e3100c64c2d91136c990d
BLAKE2b-256 checksum
How to use checksums
018a068e6dcd9f347785db0cacb16f8e4682a6104e6b0a7674c5143cc3f586cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp311-cp311-win_amd64.whl

Download URL flashlight_text-0.0.2.dev273-cp311-cp311-win_amd64.whl
Size 616.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
7c2d53a48979045a8990bc0b54a7ba6e7c5893b6cbec0ec21c1481c8309d7a00
BLAKE2b-256 checksum
How to use checksums
05ba293b2506eb597fac5de2eff91037484ebfdcd120a7e36029f8ddbd432b9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp311-cp311-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp311-cp311-musllinux_1_1_x86_64.whl
Size 1.7 MB
Tags CPython 3.11 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
5d5cb090811715ecf3fa1942e5f0b050ad8ce8672f9ba7d9cea7fcd38b5185ca
BLAKE2b-256 checksum
How to use checksums
b07566c1ace6b16250f74f9476abb1ac3fa421409cd4960c7f9b9d95a32995d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
cc803fd73e9d92b5ccfafab121986c57d3a210c0f3d4c61e05683c494d0f41fb
BLAKE2b-256 checksum
How to use checksums
9eb73c907b9ef4b452a6d78fcbcf515dc117f2dee45f5506f483b14fc7bc69dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp311-cp311-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp311-cp311-macosx_10_9_x86_64.whl
Size 990.5 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
cf6725aff0e4bad5ffe6bc6bdd6d35495e1733b6c6e4eac31fa2e01a08b1b8e1
BLAKE2b-256 checksum
How to use checksums
da2166370d067ce4d57b32410aad1df168c1d26b36103991bf759fdab4c6ef74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp310-cp310-win_amd64.whl

Download URL flashlight_text-0.0.2.dev273-cp310-cp310-win_amd64.whl
Size 616.4 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
59be4ff3aa4109b21ef00ef85c3df82ee50d34597d2f9aa06b8885fc6012bf88
BLAKE2b-256 checksum
How to use checksums
b816411eccd0abc3b46fd8989e4488f883786dde61dac7f9944e540379a4bceb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp310-cp310-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp310-cp310-musllinux_1_1_x86_64.whl
Size 1.7 MB
Tags CPython 3.10 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
6b85c726df5f0943ad5ea04230144edce416653c2154146bc7f556bfe1aa22cf
BLAKE2b-256 checksum
How to use checksums
ddb044dd6dfc7710345d1f85177fa97bf906642220d32497dbb397bf8eb40c9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
8ef5ef04ca1242b3d6226b9331bc9c10e6ad0b1d5f4ca972e9c37f71e565e104
BLAKE2b-256 checksum
How to use checksums
7db12e9f9ae18174fec1469aa469698a9cbe191238d584046694772336249c72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp310-cp310-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp310-cp310-macosx_10_9_x86_64.whl
Size 990.7 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
442a0f417d5db2e22e358312ea9892d4e67aa0da2d487ddfa3cb0e83f5e93ccf
BLAKE2b-256 checksum
How to use checksums
992a8e3cd82aa003b9541cea3756624889f88ece85a0402232e00fc8a8f93695
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp39-cp39-win_amd64.whl

Download URL flashlight_text-0.0.2.dev273-cp39-cp39-win_amd64.whl
Size 616.7 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
90785ded626e09713dbd6c2dde05e2f3ea03a3416b7f0bfd88a6a0f5c3b335b0
BLAKE2b-256 checksum
How to use checksums
4699e86dd8d5d220d7c132586447b656130ef8df40dbd299a15ddc4f897c9886
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp39-cp39-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp39-cp39-musllinux_1_1_x86_64.whl
Size 1.7 MB
Tags CPython 3.9 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
fd58ac13024117039e6f1e6ad68f88de70ffe58ec05eb0ad165e2883af4c82ee
BLAKE2b-256 checksum
How to use checksums
e037992a8069b672bb481ed0a7db634eda08a967c9b5b8e49f5aa12c140b9268
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
627fa3ff7fd3229c63aa2c3744abebc9b57ec9f72603d85fe9d55f08f00ddbc1
BLAKE2b-256 checksum
How to use checksums
f87853bc0462b67ba9200e6c2ce102f1735529f8043b19802aa69623427487be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp39-cp39-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp39-cp39-macosx_10_9_x86_64.whl
Size 991.0 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
5cbac5f0ac30cfe29d867e79428880fd54c16aaa87e0fb23b10050ffc10be615
BLAKE2b-256 checksum
How to use checksums
7315128cc8ef4def913b6c512a70c6d788a891f7a7d6eaaf1c9afed6ccb5ca62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp38-cp38-win_amd64.whl

Download URL flashlight_text-0.0.2.dev273-cp38-cp38-win_amd64.whl
Size 616.1 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
1fe1314bbd8fc2929c1275f799af47296e94de030bfb3c818d4f7848f4d922f9
BLAKE2b-256 checksum
How to use checksums
42499ac917d7f6e9a90df692797f47722141091edc97948b533f37e38db1b059
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp38-cp38-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp38-cp38-musllinux_1_1_x86_64.whl
Size 1.7 MB
Tags CPython 3.8 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
2de49c275ecda487b7bddaa4b2a4956b71c2d85c17e6de904976c6f26be5f3bd
BLAKE2b-256 checksum
How to use checksums
aa06828d5a14728ff226ee91cd0b8d5609c28ef73e34c01d690938bf1cc30f59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ef3db41ee1dd225d3058c04f72429d5da234310414e1beeb902b9c7e133bf0b9
BLAKE2b-256 checksum
How to use checksums
06811c555b6483b83a766fe4611fd53351551b1f789b1ec87641fc163dfb0bd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp38-cp38-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp38-cp38-macosx_10_9_x86_64.whl
Size 990.4 kB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
c652a624f8dcc2348715f3b133df249a4e6f2b2046fcddef468d94bceab18f65
BLAKE2b-256 checksum
How to use checksums
2d2cf5da99c99b992de66807cce81a69a223638713a3df3dbabc3f65649b3211
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp37-cp37m-win_amd64.whl

Download URL flashlight_text-0.0.2.dev273-cp37-cp37m-win_amd64.whl
Size 614.6 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
5b14edcfd4a1ad1a9069bb351dc7234e2796777fd663b2f37caa613cc5a7b626
BLAKE2b-256 checksum
How to use checksums
f3c137d9128ce659a56a9ca213735643ec07082d510ce049ae36974e2603c860
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp37-cp37m-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp37-cp37m-musllinux_1_1_x86_64.whl
Size 1.7 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
d23dee8d449cc032e92a91a9f676302b5a31138b6e887965fea7f42a9d070f2d
BLAKE2b-256 checksum
How to use checksums
b46115b6d3063d67285581a254a3f769de3e04718af9d55afe751ae89fb51323
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2db0f07e0ce443d492d451190f666bf6aa9cf05111127ac86a15514c98c114f8
BLAKE2b-256 checksum
How to use checksums
3c169adec3abb42b7f8a111cd4a298d63b4acd38a920405c3c0c708edea73d8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp37-cp37m-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp37-cp37m-macosx_10_9_x86_64.whl
Size 984.7 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
8f924235ec3fe56fbe1d924dace7dc7622e776da547946f3d6d7a17021340361
BLAKE2b-256 checksum
How to use checksums
cfad249ba49299a13bacf00460813c2462543db0171479541458f8fdeb316051
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp36-cp36m-win_amd64.whl

Download URL flashlight_text-0.0.2.dev273-cp36-cp36m-win_amd64.whl
Size 614.5 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
5b427d1f35930fd2b03228f4aa2fe875c9914048855ae51c5b456397cd94b325
BLAKE2b-256 checksum
How to use checksums
c4c34b715fb6097c789ae1627841e38d30a28569c39b31032e6a90d59877a6e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp36-cp36m-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp36-cp36m-musllinux_1_1_x86_64.whl
Size 1.7 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
5a5f3e61a0173aeb1ee9b7e0f7b46e57c22bfb7670e10b1ac08b8dda182d9beb
BLAKE2b-256 checksum
How to use checksums
f9d67ca7da60a628b3b69b1945c62c0798ab37b401446f927c4444a8be27ed38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b0d3170b7334ed50238458e48b818e84b1f7a66cfc70e0d662ebde85c153af9d
BLAKE2b-256 checksum
How to use checksums
47c432d1f09802c8ff78a74b1b1b4e18d5a947cf6561872f6eab4df235494976
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev273-cp36-cp36m-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.2.dev273-cp36-cp36m-macosx_10_9_x86_64.whl
Size 984.8 kB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
fd454b02a67b8990835720a5d67f22d5e1cb7bfcbda4915db1ca7221dffd8c7d
BLAKE2b-256 checksum
How to use checksums
0dcbc1f2a48075a2a804e0b5a1be881bab73fd7bb6861cd3a24d50924454aefe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release history Release notifications | RSS feed

0.0.7

67 release files

0.0.6

67 release files

0.0.5

62 release files

0.0.2

40 release files

This release

0.0.2.dev273 This release

34 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