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.dev281

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

Built distributions (wheels)

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

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

Download URL flashlight_text-0.0.3.dev281-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
fd19ed8912fafb594e73dd701aa98a8477445688c9069ac6be08165b73bd5a7a
BLAKE2b-256 checksum
How to use checksums
104eed7c5805283e71ff6cc5f8816b126605f74c88bed8d284689fce206b2ddd
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.dev281-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
df4b2b6f8f6fbf4a2776a6b5f848069d56f68368de578b2db841100b2314fad6
BLAKE2b-256 checksum
How to use checksums
79723ce777da0ff51aab4c196ad1fa7d79304731c4f47b9b6f9e70a239e66dad
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.dev281-pp39-pypy39_pp73-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev281-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
5adbcbf4c3c5061f8c76edaaf9e55994c52caad7cd5778912e074244e0f8652a
BLAKE2b-256 checksum
How to use checksums
0ca6e878df2a1b9e42eba7be8acfac100aa4c55025d1a1299d6b0f93a4526346
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.dev281-pp39-pypy39_pp73-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
f1ac442f30a423eeee139f7e19f871f19725d202cb747d8535278938e5d7a9e9
BLAKE2b-256 checksum
How to use checksums
63df77fa882ca836b0067b32894de0551ac563176b579198818d0fb54a92e8ca
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.dev281-pp38-pypy38_pp73-win_amd64.whl

Download URL flashlight_text-0.0.3.dev281-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
00665a4288af8c1b6b69870fe361359ef744bea182313d5a2b3ba38277536123
BLAKE2b-256 checksum
How to use checksums
243426e7c714d21bdfb0a9b9982becf16e8297d274c9c370d19ab4afcef95cf2
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.dev281-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
7de67148de451c49c7f9fcefb45788e867a712c299f4e853c32cbcd7fa37b5ec
BLAKE2b-256 checksum
How to use checksums
dbbc1189876538938e32d189e987fe789919b0c7535f6d6ba850ccf6dd1125f2
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.dev281-pp38-pypy38_pp73-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev281-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
f3c38b9f8ef6f0ee4fb92850f894e3f6df14ec51789f7900da83a97520f0434c
BLAKE2b-256 checksum
How to use checksums
552ad5d30d91864ce2aa8afd55a586d989e3ba2c50b39ce9346f692886e22f6f
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.dev281-pp38-pypy38_pp73-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
42b362c38f1f029c9b740d1532f58338ff23a76105db11420adba932a49cd140
BLAKE2b-256 checksum
How to use checksums
c8ef2bf956e199221b56b9a3dcfcc155e83f762ea38e05c1a80497cb66ae98d3
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.dev281-pp37-pypy37_pp73-win_amd64.whl

Download URL flashlight_text-0.0.3.dev281-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
5c0a5801f21ef755f1b8cead4192e3566a5758bb697fc47aec140683e960301c
BLAKE2b-256 checksum
How to use checksums
9621649110682ddf97a756e1e38870f7da48a2973b18867ec4354ac0a0697f6b
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.dev281-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
e86afdd43c4e48ca1d7f828bfb2b90b505e382bf9cd5ed0950e9ba8031b9b5b9
BLAKE2b-256 checksum
How to use checksums
4be435ec0bab41081d801b9ef2008235811fc9585401033a6b707ab7b1f33104
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.dev281-pp37-pypy37_pp73-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
136a7261972e19e2676c8c7fb73366cc20ddf2e3789c14865f8de8f80ceccef0
BLAKE2b-256 checksum
How to use checksums
ca26fe7519547e74fee874afe4aa0295356221abd882d8dfd0445e13b5651ce8
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.dev281-cp311-cp311-win_amd64.whl

Download URL flashlight_text-0.0.3.dev281-cp311-cp311-win_amd64.whl
Size 579.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
85b39d932a16f96e1af3e2eda4582d6515af905cd1b7cb27ad31a48052ea8520
BLAKE2b-256 checksum
How to use checksums
9c2466f37f831a2b2fc2d3c92d900ba9b0d9abf3cbb3ed6ac21261c85183735d
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.dev281-cp311-cp311-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
9fe576a238247b5b5005817dc0c5eea2bfc7f237b52196c4cf86dd880f446d11
BLAKE2b-256 checksum
How to use checksums
e0ea6dfa3f8b2d4f27a55e83074bf46fb1363472b1a61c4420205d529c4184a6
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.dev281-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
5f096efd80f44925a5927c1a8f1e0084debcd04be5ef1955f53ec5e341dd29ac
BLAKE2b-256 checksum
How to use checksums
3e4d66448fd771d75136a305e629412688e408481ae278a1d71f94073634b204
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.dev281-cp311-cp311-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev281-cp311-cp311-macosx_11_0_arm64.whl
Size 909.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b94613d86266b5b764b5b734040eae6a21612a0fc9f90c44c16c427a4a0594b4
BLAKE2b-256 checksum
How to use checksums
f2941d3fc7a3ddec9e1b769a6a31be1742f64d6770cdb1363d44ff2551978d43
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.dev281-cp311-cp311-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
82a09c207b542d5b06d452e5a5452ab16b89a6b0d986d04a77bf9b805d589103
BLAKE2b-256 checksum
How to use checksums
1a75eb477c7f50b2e8b95ae0e4f4902dfee6bcc5a0b44d6453561d6587166798
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.dev281-cp310-cp310-win_amd64.whl

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

Download URL flashlight_text-0.0.3.dev281-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
c497929a06b3a23827fc5d10c5dd5a310f647256238c79d22a1b768a7a960c81
BLAKE2b-256 checksum
How to use checksums
6ef75c7c628517fd4bf740d557a95330375c00f47f924599ad4ed8a430a96fa3
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.dev281-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
f8b691b9afd44ebfbe0f8a4b31ee25a9c77f67c296aa6f0d2cc21a58c8173761
BLAKE2b-256 checksum
How to use checksums
ac77442e43263c21b979eadf1842c0b490ad94ff9949069541c49195fba42808
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.dev281-cp310-cp310-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev281-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
93c8feec262061a2c3a3acfc3a5d35f0b45404b05ad8ba8ace62b271c6c0c08f
BLAKE2b-256 checksum
How to use checksums
788b8ea3cc3079f724c4a53c2d022c72b7e9ea789c321ed2dd040b983ec9e0ec
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.dev281-cp310-cp310-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
39072ac5cfe27911d4c7d0037d873f3d4481cea5636702a636713c319e548cf9
BLAKE2b-256 checksum
How to use checksums
3101472919f780aa5d2b8eddfc33c71a8f566fa0a07df9eb0142d2f4d5693b77
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.dev281-cp39-cp39-win_amd64.whl

Download URL flashlight_text-0.0.3.dev281-cp39-cp39-win_amd64.whl
Size 579.7 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
aa27e79e3389304c2196b426c47aeb731d4b89e0afb675f5085935bdb21d0a40
BLAKE2b-256 checksum
How to use checksums
68158d59f6f13bc7bb23c0f0cfc580c47cf0283c6f48d7d32717088bff19f6bf
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.dev281-cp39-cp39-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
14812f1691c6745fe4addaca2e38f0d433218aacacdfba8c5175f51484618b19
BLAKE2b-256 checksum
How to use checksums
d4ec91c793cb2bd90f86b2c08c5775ea2742dafdc7291235e53c4788d4104ff0
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.dev281-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
a14e37c86379a873f070d61fa7dad6565967fbe6a31efb1ca3e7d321d7a7a591
BLAKE2b-256 checksum
How to use checksums
ef78beafdd19ec57c41966e4e6bd928318669c1e4ca4c3a3a384814765bcac14
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.dev281-cp39-cp39-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev281-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
94d2fbb47f81c2e9ee85570b38f3a4e6d1086447adccd6c6352dbbbbc41c46bc
BLAKE2b-256 checksum
How to use checksums
8f4f218e651cd73be7942ff4d26bc8f7e0823e0aef87639670963205bfa910f6
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.dev281-cp39-cp39-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
48c4fbc98672854a5c3a0e1bb1b812a060bb494c48551ad8e65a4a7937f7bb7d
BLAKE2b-256 checksum
How to use checksums
419c41789b3aa0f4ba98ab4920c611f1d4185182bcd3b90ea0551733e690d76e
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.dev281-cp38-cp38-win_amd64.whl

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

Download URL flashlight_text-0.0.3.dev281-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
d6207e434a3d2bbcb56fc1b2b060c8de192bbc44cf27269c833125e65309c456
BLAKE2b-256 checksum
How to use checksums
911dd62521290e6be32c048eddc3f41350445ffe080ee690b71fcc019e8b1626
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.dev281-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
9c43953e008d275cc4e2d9a108b7a9046fd96d02dd39bf32e6fed7087c5dc482
BLAKE2b-256 checksum
How to use checksums
b58d4182f60284a19eb0a26a0f56f2a9eaaeab23cddbeb4ad220a61a66c7e381
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.dev281-cp38-cp38-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev281-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
c8e776d024d9cc0e68fcf665e137318be93aa3ace447b6052031e04752299847
BLAKE2b-256 checksum
How to use checksums
e38bf58120995a404e00aa861f0d712cb34ec8c17e8f7ff8f40f6f2a65264e95
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.dev281-cp38-cp38-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
2ab0e4204898a533cb00257e72a191e6d170b9d55dba3170aca6ac3e6b6fcca8
BLAKE2b-256 checksum
How to use checksums
b0aa9fc427fa240e21818bd5c09387a2a8d6f75901d63b6da61e667713f07fe6
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.dev281-cp37-cp37m-win_amd64.whl

Download URL flashlight_text-0.0.3.dev281-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
8544e9984d0f3015ad932851b1d6c40004829fc9ec2c1983493583c9eed5d07d
BLAKE2b-256 checksum
How to use checksums
b2d5bc37bcb5271c6a0c193458915a78aea85b1f74ffb68d7314dbcaebf1f88a
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.dev281-cp37-cp37m-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
ed823717a753e7c773cc46723210b9b563007a7b33e1eef1caa3e01a338108e0
BLAKE2b-256 checksum
How to use checksums
a2ed5a7b72a0d8a97cc589b730d86c12c8120be2e28ab6fe7c2478f9a78b0a55
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.dev281-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
73471232298dbe0add0d1bbed634e1979cbb9271ef34bd8e11a987751b7a9f3d
BLAKE2b-256 checksum
How to use checksums
8db9dbab24c482719d815a06d91a10e4d3714dedd703d6edd0bef383cfbffe45
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.dev281-cp37-cp37m-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
2eeb3fb5501113948ab93af2488cdcc03a97eb557086a045533b7c69e8eb7c10
BLAKE2b-256 checksum
How to use checksums
3d2a3902d9ef0e932532eae34368465678f4730a72b444894ec4bb51b4d36950
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.dev281-cp36-cp36m-win_amd64.whl

Download URL flashlight_text-0.0.3.dev281-cp36-cp36m-win_amd64.whl
Size 578.7 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
df800fe30bdbc154fb1412d6668d920e91a2102b0ca50f6ca0e147946290d739
BLAKE2b-256 checksum
How to use checksums
542bf1d37250f0fa680f032bf8143a77a61328b518946ffd33fdd70b6c3e909a
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.dev281-cp36-cp36m-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
c39ccc199a1cf0a7ff078b018d4412e0eaa24a51744d3c403c21b1aeddefe52a
BLAKE2b-256 checksum
How to use checksums
29250e6d19e2935dc0edc057684d07c85b0f3208788c9667676af42a6e54d2ec
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.dev281-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
a61f650b9c81ca69c2eed456ff725979ac45fcdbb46e985baf40d447d6f14944
BLAKE2b-256 checksum
How to use checksums
75bbc5408cec24520591ba3c4aebf14337abab44be47d466bf65f516b424ba79
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.dev281-cp36-cp36m-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev281-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
28feb3cfbeb2f744c150cf128fafc36f506821189c1496520d250c9720409b74
BLAKE2b-256 checksum
How to use checksums
5cf56e05c5ac174f8ad200a8ffc73f8e5439137fb507318410ed8396fee7b95d
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.dev281 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