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.18, 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.3.dev285

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.3.dev285
File Size Uploaded
flashlight-text-0.0.3.dev285.tar.gz 59.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for flashlight-text 0.0.3.dev285
File
flashlight_text-0.0.3.dev285-pp39-pypy39_pp73-win_amd64.whl PyPy 3.9 PyPy 3.9 7.3 Windows x86-64 Details
flashlight_text-0.0.3.dev285-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.3.dev285-pp39-pypy39_pp73-macosx_11_0_arm64.whl PyPy 3.9 PyPy 3.9 7.3 macOS 11.0+ ARM64 Details
flashlight_text-0.0.3.dev285-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.3.dev285-pp38-pypy38_pp73-win_amd64.whl PyPy 3.8 PyPy 3.8 7.3 Windows x86-64 Details
flashlight_text-0.0.3.dev285-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.3.dev285-pp38-pypy38_pp73-macosx_11_0_arm64.whl PyPy 3.8 PyPy 3.8 7.3 macOS 11.0+ ARM64 Details
flashlight_text-0.0.3.dev285-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.3.dev285-pp37-pypy37_pp73-win_amd64.whl PyPy 3.7 PyPy 3.7 7.3 Windows x86-64 Details
flashlight_text-0.0.3.dev285-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.3.dev285-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.3.dev285-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
flashlight_text-0.0.3.dev285-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.3.dev285-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.3.dev285-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
flashlight_text-0.0.3.dev285-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
flashlight_text-0.0.3.dev285-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
flashlight_text-0.0.3.dev285-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.3.dev285-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.3.dev285-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
flashlight_text-0.0.3.dev285-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
flashlight_text-0.0.3.dev285-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
flashlight_text-0.0.3.dev285-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.3.dev285-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.3.dev285-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
flashlight_text-0.0.3.dev285-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
flashlight_text-0.0.3.dev285-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
flashlight_text-0.0.3.dev285-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.3.dev285-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.3.dev285-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
flashlight_text-0.0.3.dev285-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details
flashlight_text-0.0.3.dev285-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
flashlight_text-0.0.3.dev285-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.3.dev285-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.3.dev285-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.3.dev285-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
flashlight_text-0.0.3.dev285-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.3.dev285-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.3.dev285-cp36-cp36m-macosx_10_9_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64 Details

Total release size: 41.9 MB

Release files / flashlight-text-0.0.3.dev285.tar.gz

Download URL flashlight-text-0.0.3.dev285.tar.gz
Size 59.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d22886f024adcd98ee451d6b7d0b9979fea14724d6e231a4d4e4890306b70608
BLAKE2b-256 checksum
How to use checksums
54c52c7211e52afc4f6647c71c16f87667b78654d970320a23d5ff702be46786
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.3.dev285-pp39-pypy39_pp73-win_amd64.whl

Download URL flashlight_text-0.0.3.dev285-pp39-pypy39_pp73-win_amd64.whl
Size 578.1 kB
Tags PyPy 3.9 PyPy 3.9 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
db1bee30465a9d3544ff9f3529507b39a3209b2ea009a6fbc1b24583ff99de7e
BLAKE2b-256 checksum
How to use checksums
6df23bc4f46058ec6c26932d53044dedceefedc3e38e9a6765a9390c32e87ddd
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.3.dev285-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-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
3d20fa705c46bddddd1b2f874016e13c96edb8f9d49750d9e5cf053187eee1bf
BLAKE2b-256 checksum
How to use checksums
fcec2990e5935a5b0f2945b5a8817d332b0a98d9c44e3f771ae75cbbc2947f9e
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.3.dev285-pp39-pypy39_pp73-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev285-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Size 909.7 kB
Tags PyPy 3.9 PyPy 3.9 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e8388f0b4bebe7f62ea2672eefc54dd2a85bdc264433687a1dabf66f3226ec39
BLAKE2b-256 checksum
How to use checksums
2c5e8ee23ff027d7cdaa0173466d78a3749dbe62758b2e108e0246acd2ac00b6
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.3.dev285-pp39-pypy39_pp73-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Size 1.0 MB
Tags PyPy 3.9 PyPy 3.9 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
85a4ded6c9c22f3212797fb4e2b1f76f9bd0ba0dbfed618a54168c55465ecad8
BLAKE2b-256 checksum
How to use checksums
2c73a77b0a74b421b4d7a12e4a80465a7a2f03f593969353bbbf5454bc3a376f
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.3.dev285-pp38-pypy38_pp73-win_amd64.whl

Download URL flashlight_text-0.0.3.dev285-pp38-pypy38_pp73-win_amd64.whl
Size 578.0 kB
Tags PyPy 3.8 PyPy 3.8 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
6f5afbeeb490a50a0a5c07589833e959a74b77a4b360e4979ed1afad42bd37a1
BLAKE2b-256 checksum
How to use checksums
5678b8f83adcf473c074b89d69667a4ab9b095fa8ad38aa78cb6017345e172cb
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.3.dev285-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-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
1f9a15f18d7d55a3b8c2880bebea496d7ba053848a4c3f618dfd2376cedcf536
BLAKE2b-256 checksum
How to use checksums
34b4752b3d279f84f1a34da39d320311b6c3b1df0119bb5f5b94ee84a9174d9c
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.3.dev285-pp38-pypy38_pp73-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev285-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Size 909.7 kB
Tags PyPy 3.8 PyPy 3.8 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1799489ed2828b2e2ffc65ba3470ae3aa2dd1d1a96f9c12dfaf188c153cae24c
BLAKE2b-256 checksum
How to use checksums
565af111592060bb6cd1cf1efbb9bafdee302551fb99d93b136adf4df0d2d7f1
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.3.dev285-pp38-pypy38_pp73-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Size 1.0 MB
Tags PyPy 3.8 PyPy 3.8 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
8fac46d23c5285d180f55c32d0c4caa2b29404a15781d587a13fe68a73e13ce3
BLAKE2b-256 checksum
How to use checksums
26c5fd476a9dc697b45f4faccd9f1a2ddae0df4db6da2bbfc3501c0fa97affee
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.3.dev285-pp37-pypy37_pp73-win_amd64.whl

Download URL flashlight_text-0.0.3.dev285-pp37-pypy37_pp73-win_amd64.whl
Size 577.3 kB
Tags PyPy 3.7 PyPy 3.7 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
1a83f447ac3aa788b39aacb3014e6d084d41bde2917143c821f858d85fb47a72
BLAKE2b-256 checksum
How to use checksums
aa2340474ea10df204245532c3733a466d721701e23f2a1f7e30bdf8449ec6c2
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.3.dev285-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-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
7e116e1edc14ea2fabc03d5d855f173affbc63400ffda3fa6f9356ca5d2a3694
BLAKE2b-256 checksum
How to use checksums
bccc6c5804557d98046ce478b1f193facbdd01e2b3849e07bf205da005bb692d
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.3.dev285-pp37-pypy37_pp73-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Size 1.0 MB
Tags PyPy 3.7 PyPy 3.7 7.3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
4bde238def4e2580401e3bb516111ff31e8355d6f33e4ff77f0bf6aa19cfa092
BLAKE2b-256 checksum
How to use checksums
43edf77f80a8991e52102bd048172f11124ba2536e30dfd8dd03c6c1715b8edf
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.3.dev285-cp311-cp311-win_amd64.whl

Download URL flashlight_text-0.0.3.dev285-cp311-cp311-win_amd64.whl
Size 579.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
36bee37e1f5f6363a35f0c3a7fdcbfc0ab24f1ba66a50ae9e5986cc62041948a
BLAKE2b-256 checksum
How to use checksums
a82244395fe0153e6cd063c0a357410cba15992f424d1c0a6c829fa9092c4c76
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.3.dev285-cp311-cp311-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-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
a93d26c386f40b9a73a3a0f85a5ca0005f64ba1ee6dc978139c06cae0a7cf246
BLAKE2b-256 checksum
How to use checksums
047886de9b66bab942fef31ceb3ef9ad54770b4ffc50729b5581fa219de7cb0c
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.3.dev285-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-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
02e1cf7f556ed1482beb3df4089a031b5f5f92e34b3341ccb5748436b2649718
BLAKE2b-256 checksum
How to use checksums
50eec9d4b20d46e36d58e444c0533131f1c47e83d25e9b1a159d6c56bdab14af
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.3.dev285-cp311-cp311-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev285-cp311-cp311-macosx_11_0_arm64.whl
Size 909.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5ca023ed1b8929887bc1e11c6cacbc3a6b9b49154792a9c2e05955eb39461b77
BLAKE2b-256 checksum
How to use checksums
2a9c9f837c10ba455077f37a42518821af3587eb7960a029ce0ab53546448c55
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.3.dev285-cp311-cp311-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-cp311-cp311-macosx_10_9_x86_64.whl
Size 1.0 MB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
89c83102c0f90df81f640f8ab39dc1d5854ca2248cf4e1d8b32e8f0a9cbec204
BLAKE2b-256 checksum
How to use checksums
fd5a266c3406ca84ca467c73656a0d6594c43936f7464030c17ee0baf3b76fae
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.3.dev285-cp310-cp310-win_amd64.whl

Download URL flashlight_text-0.0.3.dev285-cp310-cp310-win_amd64.whl
Size 579.4 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
3ffe28d2ddfccd9d0986f859c0eb6179f3d33e7b8399050bd5b1876717e891dc
BLAKE2b-256 checksum
How to use checksums
a3d0f84b30f8aee3f8c72b40b76bb72b60223a16110d48001926026c5741e216
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.3.dev285-cp310-cp310-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-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
13af1510bf65518a8505cf25527244f4c09be6f1c27caebc2719fe3012604b74
BLAKE2b-256 checksum
How to use checksums
ddba7bc2df27d38e531da200fb72487653f0266cff529087bfee6ed8d0e1dcc7
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.3.dev285-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-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
4af28694b855cf007e431865b62070a5a9f64f4b3e95efdd45f9e518545a58a1
BLAKE2b-256 checksum
How to use checksums
2568ae14030bcb13710c66c2b95bacccce4d2cb87753f46d31bd526b19e0c1c3
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.3.dev285-cp310-cp310-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev285-cp310-cp310-macosx_11_0_arm64.whl
Size 909.9 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1d3c613a05f2f54a0818f55a751356a4d078a64ef49658773b585abfdb62ce12
BLAKE2b-256 checksum
How to use checksums
af2457e476f29c4995c821711246899fdca2af27c71071f76596c8e280d08088
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.3.dev285-cp310-cp310-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-cp310-cp310-macosx_10_9_x86_64.whl
Size 1.0 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
a6857817a94d64e3088bd102ed4ec0e8b602c4ec740cf742475bd24b1debd3d7
BLAKE2b-256 checksum
How to use checksums
3ee8cc3a08585188fd8921a41af1c4938f4431ac9cd5caa8c0f807a3543bf9ba
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.3.dev285-cp39-cp39-win_amd64.whl

Download URL flashlight_text-0.0.3.dev285-cp39-cp39-win_amd64.whl
Size 579.7 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
48e8f50419a9734080c209ec343dcb1f2c2adb0857cba8a0657eba17f0739629
BLAKE2b-256 checksum
How to use checksums
28ea6a854b98be29af43d926c5c28006bbf36452ff93bcfed06e3e44921577cf
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.3.dev285-cp39-cp39-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-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
384b910dcfadd2e6f0be4b0aca257728d7ed84fc165f3976be68b5ff5b0f77fa
BLAKE2b-256 checksum
How to use checksums
eb6c97195f5389f732d76649a0f9ecb49d57469e35b1bf998d669b347e5417f4
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.3.dev285-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-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
0214bb648ccbd1ce36183884dc5c0378821d6d82a6078d04cf33e16768fcaab9
BLAKE2b-256 checksum
How to use checksums
11349b2e6e616620ac6a3e974260cd31467788b651762175caafb14d9c221887
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.3.dev285-cp39-cp39-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev285-cp39-cp39-macosx_11_0_arm64.whl
Size 910.1 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a395b2ad94d8abd5b19d7e27b9745ec7ba2921d408dbd17d6c61e04e3fcc30d7
BLAKE2b-256 checksum
How to use checksums
abf4313d497e88bf97f512ae62b0171bd46fdb16f05a9830c4ca42024d1b896c
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.3.dev285-cp39-cp39-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-cp39-cp39-macosx_10_9_x86_64.whl
Size 1.0 MB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
1c34bad556646a5c67089a413c1b583674b0add7dcd9e79a6e14cdb6a11b3c37
BLAKE2b-256 checksum
How to use checksums
af60d6eea395d687217838220afcab4bd96efd10bae281adaecd61cecfac9221
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.3.dev285-cp38-cp38-win_amd64.whl

Download URL flashlight_text-0.0.3.dev285-cp38-cp38-win_amd64.whl
Size 579.2 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
4fb415c0a4d3a6896120d88596b7bc93cefabd3f6e38b0a07a99ff3ee6c430f3
BLAKE2b-256 checksum
How to use checksums
8a10fbe5d2336d3e245ffffe2ba2a36348a2c535cec107beb0688aae87b9e008
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.3.dev285-cp38-cp38-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-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
5f3ff6bd5014842d6b06c0580d609664c17986d665ea86c3774e1e603f6ee554
BLAKE2b-256 checksum
How to use checksums
457c181d6bf24d7cdaaf6b14fd25c0b9943b7a8f803d44a3b435a2d1ec1dd19f
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.3.dev285-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-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
79c488f2a99385f6e64345eda1646527373ef8ba1bde5f73476875060d96eb2b
BLAKE2b-256 checksum
How to use checksums
c5fbf911af229796cf6255140997bae5553b5147903fe3262f2683afa7902f52
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.3.dev285-cp38-cp38-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev285-cp38-cp38-macosx_11_0_arm64.whl
Size 909.5 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3e16a448089bd5cfec72b22d33bd8a9547879323b770fac70553e463aacf4b45
BLAKE2b-256 checksum
How to use checksums
ca4cac610be3043a886f7aa48799afabec9c21d0e31a6486301b055cc323c179
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.3.dev285-cp38-cp38-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-cp38-cp38-macosx_10_9_x86_64.whl
Size 1.0 MB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
a07a60bd97e43a9be1a619aa1048b09c877a4559ff89ee129db1295ce69c39c1
BLAKE2b-256 checksum
How to use checksums
bada3f0e1ba51d2817dc18942403b1f5a846814397c283989f9e99c1a60f4fa7
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.3.dev285-cp37-cp37m-win_amd64.whl

Download URL flashlight_text-0.0.3.dev285-cp37-cp37m-win_amd64.whl
Size 578.8 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
53e44fadcfed865c7735c770f157f2f3ab08c4ec46139b03290947abc8310086
BLAKE2b-256 checksum
How to use checksums
bd39d140bbb41e6f9f6bc4eff13f8e8426fb141ab7ea09d202eabf2ce66753de
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.3.dev285-cp37-cp37m-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-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
c4593681ed49ebf81150ba8f45f88c8692f31e1d4685c655eff241174c2f3017
BLAKE2b-256 checksum
How to use checksums
3614ce94271b2b582c634a76ba5962e8a4d276dac3e83e4f31a7478986b56c26
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.3.dev285-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-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
f71bd201b70cd176d88a7bac43a4dcbe42a4d6e555e9356545b7654231cf4a44
BLAKE2b-256 checksum
How to use checksums
a52fcf22c67cfe2fe64d082be613c78ac70f27687dd8ea742dde78d51d7d9878
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.3.dev285-cp37-cp37m-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-cp37-cp37m-macosx_10_9_x86_64.whl
Size 1.0 MB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
f29313c44c5fcc3795a6606aa0e9c07e361381dac25ccf89675ba0fa67a701bd
BLAKE2b-256 checksum
How to use checksums
0bfcddde208f6abb8d810faf21f0e4bdda3be4195decfa3c03451fe29a2150c4
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.3.dev285-cp36-cp36m-win_amd64.whl

Download URL flashlight_text-0.0.3.dev285-cp36-cp36m-win_amd64.whl
Size 578.8 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
803ee796313c0362622ce6008566bce1986a55fa3f4076322ef4e9be57c517d3
BLAKE2b-256 checksum
How to use checksums
72facd580abbde27dbb039236dd395355881d7a7cf4774aeb5db7d723d9bfe57
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.3.dev285-cp36-cp36m-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-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
038d17f57a95e6e22b055a89882e84d748ff42771572a58e21ce44e36c4d444d
BLAKE2b-256 checksum
How to use checksums
c42a5c00d0b9a704ba970f1dc3ff77f25dd04d04d65a398a93c51ade5fa9be24
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.3.dev285-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-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
ca028eb600d233a10d03ac16f5517801ce6e2fd9ad74bc2992057f768d4a27ba
BLAKE2b-256 checksum
How to use checksums
5cb85cfb7f50c7991397ed15194a14be6f3539cec308715a21c0a6e689c058ee
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.3.dev285-cp36-cp36m-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev285-cp36-cp36m-macosx_10_9_x86_64.whl
Size 1.0 MB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
3c63f032dc7bba8d597bb921031c35f60b9316000f33aed4936ef5d9b5cf3381
BLAKE2b-256 checksum
How to use checksums
c678544d9b91e0914b225154ff406d719d56639ea732f413f0bd08955e912a01
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

This release

0.0.3.dev285 This release

40 release files

0.0.2

40 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