Skip to main content

Flashlight Text bindings for Python

Project description

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 .

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flashlight-text-0.0.3.dev283.tar.gz (59.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

flashlight_text-0.0.3.dev283-pp39-pypy39_pp73-win_amd64.whl (578.1 kB view details)

Uploaded PyPyWindows x86-64

flashlight_text-0.0.3.dev283-pp39-pypy39_pp73-macosx_11_0_arm64.whl (909.7 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

flashlight_text-0.0.3.dev283-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

flashlight_text-0.0.3.dev283-pp38-pypy38_pp73-win_amd64.whl (578.0 kB view details)

Uploaded PyPyWindows x86-64

flashlight_text-0.0.3.dev283-pp38-pypy38_pp73-macosx_11_0_arm64.whl (909.7 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

flashlight_text-0.0.3.dev283-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

flashlight_text-0.0.3.dev283-pp37-pypy37_pp73-win_amd64.whl (577.3 kB view details)

Uploaded PyPyWindows x86-64

flashlight_text-0.0.3.dev283-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

flashlight_text-0.0.3.dev283-cp311-cp311-win_amd64.whl (579.8 kB view details)

Uploaded CPython 3.11Windows x86-64

flashlight_text-0.0.3.dev283-cp311-cp311-musllinux_1_1_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

flashlight_text-0.0.3.dev283-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

flashlight_text-0.0.3.dev283-cp311-cp311-macosx_11_0_arm64.whl (909.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

flashlight_text-0.0.3.dev283-cp311-cp311-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

flashlight_text-0.0.3.dev283-cp310-cp310-win_amd64.whl (579.4 kB view details)

Uploaded CPython 3.10Windows x86-64

flashlight_text-0.0.3.dev283-cp310-cp310-musllinux_1_1_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

flashlight_text-0.0.3.dev283-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

flashlight_text-0.0.3.dev283-cp310-cp310-macosx_11_0_arm64.whl (909.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

flashlight_text-0.0.3.dev283-cp310-cp310-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

flashlight_text-0.0.3.dev283-cp39-cp39-win_amd64.whl (579.7 kB view details)

Uploaded CPython 3.9Windows x86-64

flashlight_text-0.0.3.dev283-cp39-cp39-musllinux_1_1_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

flashlight_text-0.0.3.dev283-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

flashlight_text-0.0.3.dev283-cp39-cp39-macosx_11_0_arm64.whl (910.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

flashlight_text-0.0.3.dev283-cp39-cp39-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

flashlight_text-0.0.3.dev283-cp38-cp38-win_amd64.whl (579.2 kB view details)

Uploaded CPython 3.8Windows x86-64

flashlight_text-0.0.3.dev283-cp38-cp38-musllinux_1_1_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

flashlight_text-0.0.3.dev283-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

flashlight_text-0.0.3.dev283-cp38-cp38-macosx_11_0_arm64.whl (909.5 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

flashlight_text-0.0.3.dev283-cp38-cp38-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

flashlight_text-0.0.3.dev283-cp37-cp37m-win_amd64.whl (578.8 kB view details)

Uploaded CPython 3.7mWindows x86-64

flashlight_text-0.0.3.dev283-cp37-cp37m-musllinux_1_1_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

flashlight_text-0.0.3.dev283-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

flashlight_text-0.0.3.dev283-cp37-cp37m-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

flashlight_text-0.0.3.dev283-cp36-cp36m-win_amd64.whl (578.8 kB view details)

Uploaded CPython 3.6mWindows x86-64

flashlight_text-0.0.3.dev283-cp36-cp36m-musllinux_1_1_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ x86-64

flashlight_text-0.0.3.dev283-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

flashlight_text-0.0.3.dev283-cp36-cp36m-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

Details for the file flashlight-text-0.0.3.dev283.tar.gz.

File metadata

  • Download URL: flashlight-text-0.0.3.dev283.tar.gz
  • Upload date:
  • Size: 59.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for flashlight-text-0.0.3.dev283.tar.gz
Algorithm Hash digest
SHA256 7fbdfb954cf0ce22e7c68238fdef36e2f7a8d1cc067122ada384b8dbe3bfc42b
MD5 67b7068b65d505d95135c6f6030e61c6
BLAKE2b-256 19bc4953f5dfd1588959b48c79f6dc7fb4163aa080716822da7463d7f57feaf7

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 7836dfd6f3a9f262ae11511c6ecbba34e1504f19e7151b56c4b7a268a09607f2
MD5 762f872034242e962ad031bed07a3a64
BLAKE2b-256 c147a4a816b8a0970dd5c27baf45a8ea534f1a715eee20ac8cb30fe796f27554

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c417a0fb7121eb75d33b845a83a759895d33309a2faecca9cb8ab5b823c8bb5
MD5 45e5e19f3bd79ceffe9a28b3b2b199d6
BLAKE2b-256 724dad679661f5951ddffef8fb8f0a5d412e0e4f2f596dcfb303e600673f0714

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e37cb3faf4921c4d2260b7dd839fcac1f698a6e2055ad206d6b13253094e6183
MD5 653587f95dd60f6819dc9b7576e70f9f
BLAKE2b-256 43381544a9c29a5ba2c1e90a756b386be36785d56adaf9c1a8568a32c5c324c9

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-pp39-pypy39_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5ca66230d4650ba5258fa01563d5663bc0ef269c40c42e0f5209a4532d0c8cb5
MD5 42be1884b8f03eb38c518dcd8b86a02b
BLAKE2b-256 f9d113f9aa6d303e2010d69b8f2fdf7d169fd8cb34c806c05afb69beca9ea6ff

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 5b0b6bfa369e34952f56546e7541c639b84d8682d57922a58e3230a2440a6744
MD5 f2cf5ef93d60fbfdf4daf8227a64fd0e
BLAKE2b-256 ae9bc7e20a55ec15ef764a7f8c251c148b07e033a8bce70cd25fd4eda11924cf

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e4261da11eec4c24d86691cee315e367cc4d05aa2b74478b36ab0374378a3d5e
MD5 979e081d5e91fdd8735de4e54695c8b1
BLAKE2b-256 17311561bb70a22d8a20f03c5cbc3d7fb3e02d445bcb43419dd37dddd6861f6d

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-pp38-pypy38_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bbdceef5e078bbce669e3b7b75f7066c6e12e6c768d4bb0b3ed5e920ccd2f332
MD5 7d86370432b959f08a78a608996cfbe0
BLAKE2b-256 768553fbf01b4ab77bb08927eb3a358539424e694baa5da555f95cba35ba6c29

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 88a80b224fa47d48eed45a4a56cb47257b7d14bbd3b9b2ca181da0801042e824
MD5 005001d6ec618a2fa48d4db7c11f2873
BLAKE2b-256 ca48cc1745b54310790d44cfa37e8fd8ba9768ced6c5a451b4dc0c374eda6c24

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 b64a423fd8387edd8a91a1e860ec6744edea58bbfac9daf1cf4c7f8cbe4a7f61
MD5 ed5ca4228ac6a36a5ae5176869d2c1c0
BLAKE2b-256 a68bf13deaa417ea4f232dd2c87be343c56856f36b0341f9792459789338cc2a

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 efc13ef321ea7ccff0c06585d5877d6613179cc028ae892dfbc197bb2a6caae9
MD5 f6c5f003aa8aed6be8811787e2fe93ad
BLAKE2b-256 da9fc54e1017cbbcb7cbe859a04816d7cd79d20a9ad3e4f7b2a47f563e1cd9ee

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 244651a88a6a541476d71d0b3ee6243fa1286caf5293dc8f9bbe8bd0213f34b1
MD5 cced19ae498a93955ed4f1666e4834cd
BLAKE2b-256 155db778604069065938afcb4f217f01b23257f1295f2729234bd742c408b220

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 777ef5b38cb19ad14f11068a8a47b7b6e771d5cf8d0af4ef061ae4c08af060b3
MD5 d5d3dabfc1446bf301e6c0e1f303ac4a
BLAKE2b-256 e00b4d6af01ab590305deb7a2df8f55bbbae21bd694c0f4182e5ebc8aa5c7e35

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 451f968ba06eb6ec6f3d2826c2b109d281deaeca6aa9c09baf7cee90beee7862
MD5 559f3603b3c27e308cf17bfe859ef9ed
BLAKE2b-256 ca35aa329a7b33659f44ce4b0c2d8f7a39148f04ceaa1e11e6f4f6faeb24c927

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f5be8a2fdce9964768e7314748858653f4abe849dd599326288588bb4588bdd8
MD5 e39cb5e1d2a6626545f39ca884114ffb
BLAKE2b-256 bc6defa0937cab68754ee0489ff7e837e4969d1a22498166dfc42210800bed8f

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 60e00df01fd29e35ad7952310a42e2c42bf091e77adbd0af70ca38127046f001
MD5 f71f8d9ebc30e4f369b6b684b6161f4b
BLAKE2b-256 29a3f285f6d4df6e0c7acb8b77a5f0baf2672f193abde89b058220fa5f548877

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6bfc2176d8b2ec8275bea917d1c77cdc1fb1bc95f0c63e642a2b8436013d247f
MD5 bac1baa5970cf9bc0a0575586b37a274
BLAKE2b-256 88d4d042a0aafefae231812079a70fa219cfc7539b9ca58d79e72b3e2dc94755

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fb5a387929f547a08c8afce0a773c720b61b5f8d957d1947d42b2ddf82ab0d0b
MD5 df8869cdc2e6adce96c858d79f59408a
BLAKE2b-256 eaca7e1387577401af4c1194bc5ea1e098ae39976512636720641624efd6b5a0

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 1965dcc2427442a81c0c41707abcea200df1fedb216e7078f9d12b1e01b3ec49
MD5 4839f13a67159d2382e7a58731365134
BLAKE2b-256 3135d20c022be30af72c7953254743c5ecf0ea4f4f17c032367bf9b3a9241820

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9c45fbd4ba62b5e59bd802ff185c791c38c51d598dd045cbca9f32530f9f89b8
MD5 3e20036ae5a978171e3b786ead042060
BLAKE2b-256 2b66da9ab6a488cfddf9e0ba2a8cbe5260ba190407bf11380ea5a811f0989d71

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a9c9107f9fe5c378fd27c90458b260ca4a3de244c562f4a2f720cbba529d2ab5
MD5 b3610413d97a9f0b19093b66a3c1374e
BLAKE2b-256 847b0096f3124d47620036288044c4850a53c81ba7835becaac8a46b665b647a

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 150167166780713e65ee968f5d27a639b89c55e1a3224568d3cc7e50ab8cba92
MD5 ad6ba6b5750f740b4419d4eb06242e22
BLAKE2b-256 799bced8d4522981c24531af38105e9ba61ab5a0db3210a6778580d4f2c5f18e

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d7d7fb42d07cc41c35913cdac97fd90ef7f44a6ff16ebff3bfceccbbacd7db08
MD5 f995197766555e76998a339bb12db26a
BLAKE2b-256 7a59c5ddbba3698e6e40b6258cf5d62fc8efcb8509ffd53ae7b991c7e1a88b21

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 37d010966273097ff961de4cc7b3f9baff1b39c3b7c90d3de8b04c7ed29cef81
MD5 c2c50580229d2010446518fb033268ed
BLAKE2b-256 cc86700678190edb50c60cd91d48a3445aaea7d602351b4847063e0cd89e7ace

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4aa97239a4148a03900020496dd25b8c1131046a69ff1f338fc09186f29a7058
MD5 5c67a58844078bfa3901dd2690224927
BLAKE2b-256 ccff31ef88d4c2251083245511bdc185da63632bcf853249f330e2316ab0ab2e

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 db0e6718b3b55d1597ecf220fbdc920f5c7493d137ca0552642666975b86ad49
MD5 478e1acbe5053e93e896ff5bb588517a
BLAKE2b-256 c6cad15eba658b53c8110bff71a763b891178830140e0fdec36588be1625580c

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 53f724ad20bca90af5887b2e82d75a53823ada6bc8722376bf6f5db26f64448f
MD5 0f91bf15a59c8b9792320bac1dbe5a21
BLAKE2b-256 f8c6a41000beae2bd3bd8118e1059f15f47cd0f499847122cc7a760756368604

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 fff8e5c4c95d19cfd7da9fa63b497e827c128b8b836a0606c984282ee81da961
MD5 fc622af645671252afa7d63d4018fe7c
BLAKE2b-256 983c73e752246c6239e33f70733321d638987735619fe4ba6de8377fa625df02

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6fe79e337d6604a4d212f9a6ef834037ec9fccdfcbeb98ae78bfa68d36e724d2
MD5 32ffa4147135dc83d62b59174272a9ba
BLAKE2b-256 6b38c044c0394cd6f082875553ec7228bc126da3d16a10601c5a3117d17e9495

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8fefc882e0552940ff160694b90dfb19a40ccaa416250e2c44a3aa17566979d2
MD5 264424b4df973f0d95fafb5bfb335fe6
BLAKE2b-256 93c124ea1904bbc4305faee2bb7759996348594949d1ad6860b8326add27c0db

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dc27e868336e5fd563d0f5e13349a62eaeda3838af461766f0658553771dfdef
MD5 5962169dd3c439a8f6af7249c2193b31
BLAKE2b-256 cb9891037914d55fc90a8283d7e6e3e7d0ee9bf33478f40fabeb83a748187a78

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b2ff6002019064ef43049741fd1155a2d5a2175674bb4efb53d55f7a392fb03a
MD5 b8b656afec0d1891e2cef5b607470399
BLAKE2b-256 861882b07bba5a7c09e556a57879fd9391d6f6d29ffacf86a68fb851e2e602f3

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 9ba48b15d44ac56f98a124ec971f3af95d45c225750dada47d7500fb07413026
MD5 4301b76607b934a2353668736694d7da
BLAKE2b-256 b8193d659458c0889f2e7fca2b79007d4ec3a0b93df6cd6dd5cd7eb619caaad7

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 3fccfbeb6873b5090bf065e12c123358a3fa54aaa197c0178f0f1b5affede11d
MD5 eadcebe2e7793a4de43fe070e8969748
BLAKE2b-256 98fc1ca3f6eff6bde8a229f8d455c2bf34e175c1a7455139a5a48daa6fad410f

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 138141ee8f849f229873d6882314e1dd885bd0cc1254d1f7100e0f62caa71bda
MD5 80d8ce0bd306561510fc208f5703e8ee
BLAKE2b-256 fdad940f5b9a842e16564202e6b70452765d04fbd8512367c8f7b0f2a2b59bc0

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 284594d0e9f20df403320cb4efc5594a31fd45bc33de9ebbbe7621cd4e2019b0
MD5 25a43c9facdc05a2d914c3f3a4c41d59
BLAKE2b-256 e7ac5a74fdd1f0ab5c07ff63e6ffdadb41a271079c7391eccd8d59a6fc2f9b29

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 87866fa3765ca11b6bde609d3dfccaeecdfc41a3626df95d39978c8a93deb716
MD5 d813fb5986338b0b16ab1dcc6f253426
BLAKE2b-256 3decb2be316fc1559807b032eb31609b3dc34000d20e9d6117af3056b8e39160

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp36-cp36m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e72aa79412c7c97d105c5208763a57b3697a7d55b9e780bf9d5929364efd3c01
MD5 844365d6657f160567637ce55f691027
BLAKE2b-256 38f83f005a548339d1780e8305a13881887a861d374410f0e8e85b82a1210022

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aaf29dc28d90c502f6bafe1946ef2b08ab0a544bbe05abe4ad7515252e65bff7
MD5 bcd1aae40e98bb961f05723d4982d3a8
BLAKE2b-256 a227610d4d755be47403aafcc9729629d9c63f79f73ffbe2cbbe3e398a5fc28c

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.3.dev283-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.3.dev283-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 162930cbc35d599d0c9487234154d57d98c2cd9e6cef0fcedaf03d7066ccd23b
MD5 1d8ef86133b2ac05d095aefa70e96fea
BLAKE2b-256 e0ccef66218dcf65b9169920d12dc21d697e8368373a60bd01240c5cc820c169

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page