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.2.dev276

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

Source distribution (sdist)

Source distribution for flashlight-text 0.0.2.dev276
File Size Uploaded
flashlight-text-0.0.2.dev276.tar.gz 60.1 kB Details

Built distributions (wheels)

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

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

Download URL flashlight-text-0.0.2.dev276.tar.gz
Size 60.1 kB
Tags Source
SHA-256 checksum
How to use checksums
40a92aa2854c45c10c6504195cd9bd5bc001a3ae1ca8d5348eef3efc0a385e5d
BLAKE2b-256 checksum
How to use checksums
01d3feded50ca270f01f7bd5b4eeab053f5b914bb52ee125f7e2f5ed65be21bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

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

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

Download URL flashlight_text-0.0.2.dev276-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
b5ae841a85a39887c31333a4d4a060b322dcd55da2dd92ba7531dcb77242f566
BLAKE2b-256 checksum
How to use checksums
4b7561297ebbddb8bb1fd269940543485bef1274d624d65a4d43391c48f7e0ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev276-pp39-pypy39_pp73-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.2.dev276-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Size 894.6 kB
Tags PyPy 3.9 PyPy 3.9 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2d88b2236fcc7316871542e90315bb6d12def64b82052042b20b8e14a21d4b29
BLAKE2b-256 checksum
How to use checksums
ce66fc00738ff339fed769a969e344ce7f8c1fb6b58c5465e4281275274413e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
13243e6aedaa15b38965de41b50b1a723cab44dde5778596b35550b1b80f802e
BLAKE2b-256 checksum
How to use checksums
b3eefe86d3d0cacc9263d9d7e797cfc4afc2f28560cced3bd7541123cfc30643
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

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

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

Download URL flashlight_text-0.0.2.dev276-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
528af2e494156975551f9fef7d6643981caae0d11d71b9daba8d40583d7ba194
BLAKE2b-256 checksum
How to use checksums
c0dfebf770e0b1d9f5a15095e6c96aec93150a098da3d5a41a0db31be51b78f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev276-pp38-pypy38_pp73-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.2.dev276-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Size 894.6 kB
Tags PyPy 3.8 PyPy 3.8 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0f2ddbbbd579f78f8678362870a5e4d88d66ddd70b49929f664787444eb777b1
BLAKE2b-256 checksum
How to use checksums
7a741f4206f7d441fcd63a73df82808aff78aaf830166b40446a1668220b100e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
21b8f547d8e010c046aaac59f1308744b513ea7bf4819a36833376c74eb483d0
BLAKE2b-256 checksum
How to use checksums
c6d766b10e9ae753e38653a4e15c481d975ce1eaf588666e8e914f9d2ad72f9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

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

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

Download URL flashlight_text-0.0.2.dev276-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
b31defb5028d25b82f05dff6ba75c6e3e8ad59ebb2437ef5cf6de66795214e01
BLAKE2b-256 checksum
How to use checksums
3bd83eab6ccfec957bc0160e32cefefaf52cb4d36e79c8680982313685bc0c7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
3876b27f8a2a0eabc9a0aefe878ff9fae79333361674553cccb2f53a9ff181f4
BLAKE2b-256 checksum
How to use checksums
04cc4024edae244f44df28bc3c53177aa9cce06c8f79ee4fc25d4b4fc944bdb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-cp311-cp311-win_amd64.whl
Size 579.4 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
09885810714dc1241bfae62e6a636272a320ae6c381ae30953e7e46ed24663a8
BLAKE2b-256 checksum
How to use checksums
371f97b52e02cc6bf3a1cbd0b914df411a034799a0daa09223e4642c7e437b81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
3c46a15ba1a87221e1ba6a27db07b7ba3fe05b03afedf2f3cc013fc2a20f0998
BLAKE2b-256 checksum
How to use checksums
bee084ed2763bd2eb5d5b8249df0824d05804a593f0dee537465f807374a7d33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
be50f0b761ba3456a120c40643cf27ed03ce126c130a4d41bae9221ebac36b1e
BLAKE2b-256 checksum
How to use checksums
005690af82588a1dff51cf75827e230041e553c0a1a16cff5c370d425e53539e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev276-cp311-cp311-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.2.dev276-cp311-cp311-macosx_11_0_arm64.whl
Size 894.6 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
da0ba656a3af81148291939a3e70cec2d508dcba6097a8be984b2b5a96a68678
BLAKE2b-256 checksum
How to use checksums
f404bc0f703e9380b9b0388c55e892c9d6712655207fff472903bc825ef05075
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
ceb092cd819f907f1b9e73be2897bebc93ee4da1506ecea9b1859644113a0e2f
BLAKE2b-256 checksum
How to use checksums
5c20f1dd5e1ae9b7855e097746604018e23d3952d5b33622efbfd2995b7c1d3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

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

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

Download URL flashlight_text-0.0.2.dev276-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
ca72449d4a693c432c21e0d434f0e09dc55aa186869cec25bd1526f3baea3960
BLAKE2b-256 checksum
How to use checksums
fa56177259a2468336a0a7cd0d2df5da051db974a981ba98c0be7601fafbed02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
7e847c68a5471a160b0e269d6a7c02f6d08de33657bbba2cf87890cab94706a9
BLAKE2b-256 checksum
How to use checksums
43c58fe912bb0213213e28c45edf91c73785cbd12734e1a7a2c4dc0d5913fba5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev276-cp310-cp310-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.2.dev276-cp310-cp310-macosx_11_0_arm64.whl
Size 894.6 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
098ee881affccc7024ad1632ceb7faa88ed6f57184604db73d3af94f956c25f0
BLAKE2b-256 checksum
How to use checksums
1a1b8c59c72058b1fa92c3afa12abd3fcc6eb0d23f4039a6bee046061f0a3887
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
2c76e591ee4092d7f964c1c9400b919fc5d058867d3abf95e9fe230a33eec7eb
BLAKE2b-256 checksum
How to use checksums
49426fa7131568d9ad2347ec256f347fba1592f01b2b644ecf1744165f16bab9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-cp39-cp39-win_amd64.whl
Size 579.4 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
25f01fc47d12428760aed7c4ae9ce39afedc80a6f9aafe52a9ab9ea921fd15dd
BLAKE2b-256 checksum
How to use checksums
7ee3af3aa918a3a433a20417b0717b3b62dac8e49e1af3514e9cd03a783f7037
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
bc6a062aeafac25debe346e72deb9c1d9220aa89708a22eec4fd665d2a15d474
BLAKE2b-256 checksum
How to use checksums
cdaa7bf4f5e4ba412bb049b5bc6de728b01037144465f2a64b5b24bae590de35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
c074b7a33362b69bdad5fa3c8d0c1164be78921ec0b982ec792f59accd4750e6
BLAKE2b-256 checksum
How to use checksums
7c2b6ad2f6644953e605ad4a438864b8448445e1cd6c9b2614290823b9109d32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev276-cp39-cp39-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.2.dev276-cp39-cp39-macosx_11_0_arm64.whl
Size 894.6 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
26af7cd9b6915127e844ef50b258efd5efc3092366a33277b15b1967cccd3b21
BLAKE2b-256 checksum
How to use checksums
a3134417bc0fb63b1c2a0d42313354938875ff7a1ed3f4acf2c5dab3f58a5b04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
3785d7c74df7c8d53a95e48957e9b9156d715e9813b9fd3192651fb633db525a
BLAKE2b-256 checksum
How to use checksums
8e667da3b4d6558f57d929ef037337076ac2482193a8b825c2358b664c64297f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-cp38-cp38-win_amd64.whl
Size 579.4 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
648aa4652a3987456b62a59f3df9cb64141245c5f85a3b7478397ebe04261252
BLAKE2b-256 checksum
How to use checksums
0b4c1510b826a512dff96d615b8d43ae6547c83a32d52f996c2499f351a86f55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
4fe463517f858574132289f8c1769ee4dd1a771a08d33a029ad9ef6833ac6b6f
BLAKE2b-256 checksum
How to use checksums
059a68113589bb837312db9797de93d8d87877a10f8ee2bf7fabd89343a73211
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
2919c266ab49ecf970cfc6678e5748cf7ab93f1604d25b60cd0c749e1a020815
BLAKE2b-256 checksum
How to use checksums
dacd8a82b2f691c1999c2d74312105e5013fe5e3f73e94da857808ea15e07f73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / flashlight_text-0.0.2.dev276-cp38-cp38-macosx_11_0_arm64.whl

Download URL flashlight_text-0.0.2.dev276-cp38-cp38-macosx_11_0_arm64.whl
Size 894.6 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
853f901e378d178d99bff81f2b4fa648bebc2a9d4b1d6614850d450ffab382e1
BLAKE2b-256 checksum
How to use checksums
4d6615452f3069c621b762d4d4b2efb5cb6e7d43209a0f395919882519082191
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
e96ee058a2781c02a1c4090cf7a11fe41991527ced2ecc6a97551e6d211c0da7
BLAKE2b-256 checksum
How to use checksums
5f7a961440af8a2c4f98f857f6e44c77234e3532da3602c23fc45afb7e5ec9c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

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

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

Download URL flashlight_text-0.0.2.dev276-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
37d1194653dd1bfc60811b15b358e47e61e9530f5bf664636f5863f7780854fa
BLAKE2b-256 checksum
How to use checksums
bbcff5df932ba1e3edb1fde6382af29965e6684ed552add5cd368e479ff930b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
98c53b5d8be8450d7a14c7189ed4011b6b863dbf0130150332039d0638014eda
BLAKE2b-256 checksum
How to use checksums
3bdc61258da36e0d314ed3a8976b98069020d99bf65afd7a38a391e01ea2c0e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
600ca2b3e755bf9369679521dbbbe744b58732503d5ac6ce02c744f13c691f9b
BLAKE2b-256 checksum
How to use checksums
f57b493831fc0b63acc3e7d563eed0624666dabfe7dc4d638bad8f59ff25fc61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

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

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

Download URL flashlight_text-0.0.2.dev276-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
8276f83de174110c63b76fc953db989e5d4d4473ec8fdf9fc69fa6c2a52a46f0
BLAKE2b-256 checksum
How to use checksums
f13473a70cc1a4485a178f9cf4669f592bbeb6766f9c02b5cba6d8f230abb6ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
ff342bda8cafbeebca6e60a8b39fe6c7ca698d93031c05aa818764ae2d31bd59
BLAKE2b-256 checksum
How to use checksums
e9fc92ba38bbe2a4a01f126d55d4adab67378e79144645f7035b51cb7e154143
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

Download URL flashlight_text-0.0.2.dev276-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
15df4cbd9e509a140a3c4bb1c1e58a367fc1aa58b70ae901869a2846c617d828
BLAKE2b-256 checksum
How to use checksums
fc9c170f109acb6544a80ef8b95fa17735e68de71370adb8eaa0ed5a9a561018
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release history Release notifications | RSS feed

0.0.7

67 release files

0.0.6

67 release files

0.0.5

62 release files

0.0.2

40 release files

This release

0.0.2.dev276 This release

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