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

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

Built distributions (wheels)

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

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

Download URL flashlight_text-0.0.3.dev282-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
6ca2a7225e0ee122c83dc383bc4961dbe68763d139a7c5ffddd642bd96884722
BLAKE2b-256 checksum
How to use checksums
0b8448911c05eddf92d3ec9d83cf252d00915f5be3dcc78f1810b546e8a3b5ba
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.dev282-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
6b23a508626b06dacb10ea100467f80312ed2d3c6984ea259558d37157676864
BLAKE2b-256 checksum
How to use checksums
5b9d4f4cb8d84b5faa52dc46f892ec03630dd73d6b222589b094f6060b0abc21
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.dev282-pp39-pypy39_pp73-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev282-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
9bd17b88df27753bda21610e91e67bef0ed61e9b58449341b85f4a09cfe7d27a
BLAKE2b-256 checksum
How to use checksums
db3408c676ac27f83595d2ea9e4bc92523bb29755f1315464b7cd4a0c251bdb5
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.dev282-pp39-pypy39_pp73-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
5b09a812ba68f5ef6df86edadcce21c6f1c713d4f48a7cb2fc65bc2d5bc3634f
BLAKE2b-256 checksum
How to use checksums
d19d87e8b8c32bd8ca83d1f9a4323c874f74dcc7f9e80426d2eb00a479156516
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.dev282-pp38-pypy38_pp73-win_amd64.whl

Download URL flashlight_text-0.0.3.dev282-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
f1c1087f27334779509cf0f8289e75927e22982037cda1747726814df54d8b9f
BLAKE2b-256 checksum
How to use checksums
340dcbc4d57acba85d0398e181b6f69a0620e23e2dfee8166be070c6935cb36a
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.dev282-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
848718d090358e7a83c9e4f6e8339e0f71470d236c356a2e2941c222f9f2ee95
BLAKE2b-256 checksum
How to use checksums
4decc8315c2dbadb7b36d808cfdf946bbccb88f6a29f4e4b0f0225f27529912d
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.dev282-pp38-pypy38_pp73-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev282-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
043fe7be86ff095d6fbe914859b8993baa54fea669584dcd5529f85d9da57d32
BLAKE2b-256 checksum
How to use checksums
5a06aab505af977a3a0eced2efced819da93535921ecd240ccafce60e738308d
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.dev282-pp38-pypy38_pp73-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
e0c277b51664b09966b5a86b622cb3347e86c0430371a5e381597d0f02454b96
BLAKE2b-256 checksum
How to use checksums
028e8614f071556548327474d68938ce3c347411be6a12265d8f69e10f3838f2
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.dev282-pp37-pypy37_pp73-win_amd64.whl

Download URL flashlight_text-0.0.3.dev282-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
d69778c2f0c9673263dd03675c53f89d14de4404aa2d48c0327d25ff8f07d4eb
BLAKE2b-256 checksum
How to use checksums
a4dba1d514e2c12ed31e6a882ac107e805e7aff0948399fe81cb8ca792c2b4e2
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.dev282-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
ef96fc9b8ee1453d9302730dc481297bd363bcf395cba3434bce49bcf2ed2c8d
BLAKE2b-256 checksum
How to use checksums
ea13a08f0664eb7512c8f36fc2d83ec7c2a3f5279f85553e658f20439f88a0e1
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.dev282-pp37-pypy37_pp73-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
7ee515512ae8c0285084ec5757c672e51750efb3d29ff633cb8dcfae8687716c
BLAKE2b-256 checksum
How to use checksums
1de10531ec920f210da4eb21e9762b05a6936e697c1de88e9355a0df6eaca2f0
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.dev282-cp311-cp311-win_amd64.whl

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

Download URL flashlight_text-0.0.3.dev282-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
7bd63da15fdba18d852a3bbe1aa25e76a64bf1a34f350a8e34f0e6c22b789da5
BLAKE2b-256 checksum
How to use checksums
a3014b231a289077820a3e559921e236b3c2d165580df265cd8eb87b41be6551
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.dev282-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
9ac2dbb9a0ad571741e49e2572fa045e7d931a7420e7567cacca707d04f0a1e6
BLAKE2b-256 checksum
How to use checksums
74ac3efa7444dae6c96d89bf89b7b56c738f396725a6e8539cf78d6ad7ce4ded
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.dev282-cp311-cp311-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev282-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
34429925373cff1fbd41ac6d2c308826a400784f5b00794af17c1f25aea3a8df
BLAKE2b-256 checksum
How to use checksums
7caf4ef0630c2bca71a9ac8f217664d76e8eae11b815f160cd46f8b7ef778629
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.dev282-cp311-cp311-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
a13bbcac2b1a3976e43784d46894f29766815134654151d489b44b8f5b60b57b
BLAKE2b-256 checksum
How to use checksums
ea87ff1e965203a9d88813e6615a587158705180741d4fb12c1340617cc71f4f
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.dev282-cp310-cp310-win_amd64.whl

Download URL flashlight_text-0.0.3.dev282-cp310-cp310-win_amd64.whl
Size 579.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e3e24503b8ce5a732065904c1fba43f249aa9b036c6620385ecc532f43cda510
BLAKE2b-256 checksum
How to use checksums
8dff9ac04c43f6b4862243d98a22f9d0bf98a339f1cec57a7e83771b04a2908f
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.dev282-cp310-cp310-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
c4ab5b1efba9f72913e4c66477b0d8be44164908270cd98fef12366640185927
BLAKE2b-256 checksum
How to use checksums
e9f089675902ea588b8a32e4d72900c76328eec5fd8c7cb8c19364116193862a
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.dev282-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
bf05f9249b07415925e763c66310a5d50216054fa748161f309c7220ceba8caa
BLAKE2b-256 checksum
How to use checksums
74ac12e42acb04587db70b0be867e4df73d6fa95d6302eff810d662e5f145c0b
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.dev282-cp310-cp310-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev282-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
18fa8b6a6cf54df0371f7fe9daed43181dfe1f3dcfb0a9fb3f76a52cd026869d
BLAKE2b-256 checksum
How to use checksums
aa2f0bf1211d0cb148f3467cf9c28c7c831c9985f1d7f5a3205a0f1d6efc6d40
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.dev282-cp310-cp310-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
d8a2778a0783efd66fbd6045732c901b66a8c0ba6b0106278a0707cdb82be662
BLAKE2b-256 checksum
How to use checksums
91d7fbf2a81105ac3b173bbe753b55fd66fbd1e60821c360f02a27fc286ec9c0
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.dev282-cp39-cp39-win_amd64.whl

Download URL flashlight_text-0.0.3.dev282-cp39-cp39-win_amd64.whl
Size 579.7 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
971dd529cbc671cfc9631cd8dbe67d3e2c95f9603ed547860cc713fd05650abf
BLAKE2b-256 checksum
How to use checksums
0fb424ed95653ce83953c4499aa0f0ac4bf52b2fb203033ed288eb592bca7670
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.dev282-cp39-cp39-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
133ce4c89ce0a265736b5f394905aa18bdefb8e13ccc06efe8108a189381220e
BLAKE2b-256 checksum
How to use checksums
deaf6dcfece95972bfc5f5e744ec1082e756f0dfdedc580f000f1822210c84d1
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.dev282-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
5f22666fb52e3bae40e71f17812e93ac3d45e56f2e788a0af7c37844ce6524ec
BLAKE2b-256 checksum
How to use checksums
279a99597bb0c8128c8d7bb2f6f54365a4e23cb994581a8659ab921200e7d66c
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.dev282-cp39-cp39-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev282-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
0f672b42f5a1f40ffb729b431350d8d4a1770b2e79a607dc095adbd2363d7204
BLAKE2b-256 checksum
How to use checksums
1ca3e6c76ec6ca21e615803ca8e2e249d001eae94c1d355fe3ff067949f5b42a
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.dev282-cp39-cp39-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
9b5967e2e7a71b69e038996070f3189beef9b9123aae1e8a0db28d99c37548bb
BLAKE2b-256 checksum
How to use checksums
15331dd19cf5ae25ebdbc095e3473f3f89cb019812490b3c90b89a66126b239b
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.dev282-cp38-cp38-win_amd64.whl

Download URL flashlight_text-0.0.3.dev282-cp38-cp38-win_amd64.whl
Size 579.2 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
993e3a9e02c6da7a8bf9710853a2cefcfc0fd4d062e60e14fe2de826918db27f
BLAKE2b-256 checksum
How to use checksums
461f57bac79199caedadd7e8750c18e91e043bf1409b2e038beb1d7a9cd6ce72
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.dev282-cp38-cp38-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
78ad76c4b3e3a32170111ec566e0cac933f43658b6aa7e32b4b250995e063971
BLAKE2b-256 checksum
How to use checksums
2de69c10619b807b11f51f037238578e830a003c0cd70d606d8850179592dc59
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.dev282-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
1f3f2250bafc2ede4cc0d64b85ac62ef153cd8a2f402bfba5dae249bd29bfdea
BLAKE2b-256 checksum
How to use checksums
0f6cb90ee0963bfdd07388b28a645d282b991b37e479f24f73ea25f11a439bb4
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.dev282-cp38-cp38-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.3.dev282-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
1b3906a2c6979842235862675c8986e80a5e890d96395745b4be1c7e6c65cffe
BLAKE2b-256 checksum
How to use checksums
8918498094e75b5553fba784c8bc2ab6ca36f4cb2c448e45f5635568f1f087f8
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.dev282-cp38-cp38-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
8dc7d5cf638b373bbfca68a708111861394740e92a3de1fc87a7262df54f331c
BLAKE2b-256 checksum
How to use checksums
d82f03589fdd7f2bdb3378a85c96701775c75ff336f532e3c41635580ab2325d
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.dev282-cp37-cp37m-win_amd64.whl

Download URL flashlight_text-0.0.3.dev282-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
8b189f99275d2d21e6d524b7be83a726383c410b16791d9cfec688a6d502410e
BLAKE2b-256 checksum
How to use checksums
dacc89f23864a62616cceee55cc1678a08baa73d5059523d1d4ef20938090d79
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.dev282-cp37-cp37m-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
98c87233329884c3e098203c99133048a280d91f664830d4499361640c04a365
BLAKE2b-256 checksum
How to use checksums
c113e543e66908815bfd730512cf9662beb20bdd096a6e02eda072fbc9c9b860
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.dev282-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
e4668dbaa8ed56aebe89e3b0ecb3d9ee437f114481a2d41086c63c0f94a816bd
BLAKE2b-256 checksum
How to use checksums
b323004df19f16e1ea0d3b8e5c5504d6a33d6bdeca477e21e91817a04d92d7de
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.dev282-cp37-cp37m-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
0b568248c3c73c15217de19b5cc7df8e7ba331fcc46bb041cbb5fa0c0e6b038d
BLAKE2b-256 checksum
How to use checksums
cbec05f6e3876162a88461bc405b120979cc998121b931e0ffee7ccf838f490f
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.dev282-cp36-cp36m-win_amd64.whl

Download URL flashlight_text-0.0.3.dev282-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
af5640bd845faf52dc2922bdcbd879c43c31cf8154f010c0f96e595d9dbd1131
BLAKE2b-256 checksum
How to use checksums
ca2e5fc14f43351014451787b6ec8870c8445dbe5712fd315816bc064e409fb9
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.dev282-cp36-cp36m-musllinux_1_1_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
52358288362e7329075a7be867db70a2ab6c9c05af5f015258d292f11c76f558
BLAKE2b-256 checksum
How to use checksums
66b64312b6ff4236a7677c410676cf9bcd2f0090f4f9eb589ea16177694cf798
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.dev282-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
2afb7285907a534c51b23e14f814ab359799aeba62c8e5999884eff04cbcb31e
BLAKE2b-256 checksum
How to use checksums
52c687d1602b30150bd6ed147b207288f55542516b20564ca169318aca046f73
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.dev282-cp36-cp36m-macosx_10_9_x86_64.whl

Download URL flashlight_text-0.0.3.dev282-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
20bb94289a3fae64ec461e93d78257a28ef0790564005869f2ba2646c77a8000
BLAKE2b-256 checksum
How to use checksums
755edc815e9d0a7d89dd725216701a6a711344386b1155943305bcca5aa79b51
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.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