Skip to main content

Flashlight Text bindings for Python

Project description

Flashlight Text Python Bindings

Quickstart

Flashlight Text is available on PyPI without KenLM support using:

pip install flashlight-text  # without KenLM support

For now, building from source is required for KenLM support. We'll be adding KenLM support to the PyPI package soon.

Contents

Installation

Dependencies

We require python >= 3.6 with the following packages installed:

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.1.dev271.tar.gz (63.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.1.dev271-pp39-pypy39_pp73-win_amd64.whl (517.3 kB view details)

Uploaded PyPyWindows x86-64

flashlight_text-0.0.1.dev271-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (787.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

flashlight_text-0.0.1.dev271-pp39-pypy39_pp73-macosx_11_0_arm64.whl (510.6 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

flashlight_text-0.0.1.dev271-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (574.6 kB view details)

Uploaded PyPymacOS 10.9+ x86-64

flashlight_text-0.0.1.dev271-pp38-pypy38_pp73-win_amd64.whl (517.3 kB view details)

Uploaded PyPyWindows x86-64

flashlight_text-0.0.1.dev271-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (787.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

flashlight_text-0.0.1.dev271-pp38-pypy38_pp73-macosx_11_0_arm64.whl (510.8 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

flashlight_text-0.0.1.dev271-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (574.7 kB view details)

Uploaded PyPymacOS 10.9+ x86-64

flashlight_text-0.0.1.dev271-pp37-pypy37_pp73-win_amd64.whl (517.2 kB view details)

Uploaded PyPyWindows x86-64

flashlight_text-0.0.1.dev271-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (787.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

flashlight_text-0.0.1.dev271-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (574.5 kB view details)

Uploaded PyPymacOS 10.9+ x86-64

flashlight_text-0.0.1.dev271-cp311-cp311-win_amd64.whl (517.6 kB view details)

Uploaded CPython 3.11Windows x86-64

flashlight_text-0.0.1.dev271-cp311-cp311-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

flashlight_text-0.0.1.dev271-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (787.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

flashlight_text-0.0.1.dev271-cp311-cp311-macosx_11_0_arm64.whl (511.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

flashlight_text-0.0.1.dev271-cp311-cp311-macosx_10_9_x86_64.whl (574.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

flashlight_text-0.0.1.dev271-cp310-cp310-win_amd64.whl (517.8 kB view details)

Uploaded CPython 3.10Windows x86-64

flashlight_text-0.0.1.dev271-cp310-cp310-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

flashlight_text-0.0.1.dev271-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (788.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

flashlight_text-0.0.1.dev271-cp310-cp310-macosx_11_0_arm64.whl (511.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

flashlight_text-0.0.1.dev271-cp310-cp310-macosx_10_9_x86_64.whl (574.6 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

flashlight_text-0.0.1.dev271-cp39-cp39-win_amd64.whl (518.0 kB view details)

Uploaded CPython 3.9Windows x86-64

flashlight_text-0.0.1.dev271-cp39-cp39-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

flashlight_text-0.0.1.dev271-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (788.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

flashlight_text-0.0.1.dev271-cp39-cp39-macosx_11_0_arm64.whl (511.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

flashlight_text-0.0.1.dev271-cp39-cp39-macosx_10_9_x86_64.whl (574.9 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

flashlight_text-0.0.1.dev271-cp38-cp38-win_amd64.whl (517.5 kB view details)

Uploaded CPython 3.8Windows x86-64

flashlight_text-0.0.1.dev271-cp38-cp38-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

flashlight_text-0.0.1.dev271-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (787.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

flashlight_text-0.0.1.dev271-cp38-cp38-macosx_11_0_arm64.whl (570.7 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

flashlight_text-0.0.1.dev271-cp38-cp38-macosx_10_9_x86_64.whl (574.4 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

flashlight_text-0.0.1.dev271-cp37-cp37m-win_amd64.whl (516.0 kB view details)

Uploaded CPython 3.7mWindows x86-64

flashlight_text-0.0.1.dev271-cp37-cp37m-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

flashlight_text-0.0.1.dev271-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (799.0 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

flashlight_text-0.0.1.dev271-cp37-cp37m-macosx_10_9_x86_64.whl (568.9 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

flashlight_text-0.0.1.dev271-cp36-cp36m-win_amd64.whl (515.9 kB view details)

Uploaded CPython 3.6mWindows x86-64

flashlight_text-0.0.1.dev271-cp36-cp36m-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ x86-64

flashlight_text-0.0.1.dev271-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (798.2 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

flashlight_text-0.0.1.dev271-cp36-cp36m-macosx_10_9_x86_64.whl (569.0 kB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

Details for the file flashlight-text-0.0.1.dev271.tar.gz.

File metadata

  • Download URL: flashlight-text-0.0.1.dev271.tar.gz
  • Upload date:
  • Size: 63.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.1.dev271.tar.gz
Algorithm Hash digest
SHA256 1fc8876a6b5a3de1cb91e657f29068f6bc9207e45b8b1641ea0c877bacbf722a
MD5 0efe5ab53fdbfdc567b8f9dc53ec32ab
BLAKE2b-256 ecf9d00f7e580d1e2d04424828634accb249b8353efa5d9c534bb730353d1426

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 8f43dbf5c25cfaba6cd62088d455ece1404689e5cbe469b5e174e518ba75f649
MD5 f20905e4c730405d0147fbc9d1a2a8fa
BLAKE2b-256 a0244a05ec1b5609f4ebbc6eace94af79dddfb99c7a08334514905e3efec7165

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bf642a3e012dc94960588b8917eb1b3332f43feb853b8b4217ee407e495d75c3
MD5 4c6f3f013509c06b0e887eaac295d90b
BLAKE2b-256 0ddb93224912f3b7c7ba09235092f01a89e309bb16e0870f8302c6b8357c454e

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba56df50a161bc6d987da705c247ade1760c469d34b7b3a3b6898d3c84c179b4
MD5 49111682068777bbd045f4e96a7a84fc
BLAKE2b-256 8594a1e62b1fd631ee8addd29667037855d974890193c1f4cc76e3ec427f1c8a

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-pp39-pypy39_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9c9b99457a475fb6eb15e8c909a6fda126525b1a6461e86debc671274b89a570
MD5 7dffb6f5ec2b864e4619e43984eca0ca
BLAKE2b-256 28236a9f3d15983a91851d03bbf4e03d548cd28f3dae2a73de6bee410090d02a

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 79490ca5f4ef083ad1ca098e0781a1baa1f220dc2f3b22dfa874021206fc7ecd
MD5 5e21cb8d1d6d7bc4aa661f553633c1d8
BLAKE2b-256 fe7dbef158ca3b5cf876e61a32be210f229c1f1f97e302eee5514d59454bf683

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f55fda5c42d97c3ce1489139926865626ca35e3b5f9b838e33fe784fc4ea506
MD5 61e065563908e17f18f99c5d772b1871
BLAKE2b-256 ebd9ee6be6b9559ac6c27845ce6d2fcb86573d8c8d07cb366a2cc784ef4b4dfe

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-pp38-pypy38_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 695864977d90611c78954c1f2ee9e767dcd7152683d59150055e45ab460ef08c
MD5 f64734f098b02e2cecc4c62f3aca5bce
BLAKE2b-256 1faa8ac4f59ab8f14c9e742d3a9470bec7c2502586debee65264b9487731b74f

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a4441252d93aae3c716f166ef3c325daad4f282e3a463e4609f1652f44bba347
MD5 92dd93204261634cef70d1d9f0e3e882
BLAKE2b-256 7fc0bf1afa7c5268dd433d671c6668d9e85da6096691dadc4b1de111b60e96db

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 95f19d79a8edb8bb5216b9aa45269c18b9d55dd91761672bdbc482ca9b9d1357
MD5 cead1f965bf6411d79d237e5ff35e70d
BLAKE2b-256 689a0cf2cb5a301e3af9d07e4c0e5289e896d0b46df302145cdf8c53f1be002a

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6438072aad062a22906c71ba720e3e85584d56267f8895190d5ed54c15f7b8ca
MD5 f55cafafef1a2b7187c60c57945d8b93
BLAKE2b-256 1478672edf94d07ca3d12fd6a433a8a7f808bc6a9c1a9b29084ed5a7ada242d8

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 784e6e873519d244a3cd8e228a4cbe38e83af916dbff7525ab3419e38765f51b
MD5 d83fe693d35ad75f84666ea30ede6479
BLAKE2b-256 92723ce2c6f6a10453a519af3b9c45480dc8ade7ca9de70bf82ea1d6aefb2ef6

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3365dd5e1fe84a58a9b8756c4478e1482b45a6d9d2743cee310166e67bb1d625
MD5 d1bac2446519400406a9d75f8853bd31
BLAKE2b-256 8825dee048138c141e5455ec43660df3645398a6ff9b295db8e483438d44f28f

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 13986352c322398ce331daabbc7d35e1ebcdefc44abfad5251d92cf44ae39a1b
MD5 6c80879689a859c607283cbd6869bb68
BLAKE2b-256 1ea22e9bd90f2bc5c4e4c8150dba62052dc78c39be500ed6f515cdf382ccac5a

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8a09bc42568d95079b890a1214f981bc11168fd52a4dab0a641da78ce0c0d017
MD5 0754878a43ed27d126f03101a3d39b46
BLAKE2b-256 560a6199c50d5c9948168e1b506ef8ba090db3b42a432e981c0b749fe6cd2642

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dc8f425d5b48ede2d5da99a6652f8e74e10a30361b927843339af72667be9cd4
MD5 5b31757bc0e408b0093002f6a06b8e1b
BLAKE2b-256 c7e78b98aa095d5286644b59fbcb2e3d1702df055c4e5fd81feb5776ebfeb78e

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 33fe5cb5ece0bffecbe536a5efd31078023f906307a14add3be9fce3f9f489bb
MD5 fc893d43a92d136e0cc646a2df494b38
BLAKE2b-256 029a9ccd25bd1d2d2a4ddcad3b5608e0af8a4afb63b6f4e851eb241b276f3cdd

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1ef9d266cad30d58b9dec04c0b76323c079f8fd8a1aeb51f39d3b09a43f17221
MD5 d47986fd7747cd58e17107b3b98fa3a1
BLAKE2b-256 8d579588a67f665b97d7029eeb1337800e7529b00594ef91d9e40c9f72eb2f37

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f8f04dc009d5bfe186d17d6e6160820204a978d41014d6bbaf3cf0d0af9382cb
MD5 8978adafa1784d411af9d1a00740c1bc
BLAKE2b-256 c195b5b54f4533a64622c1acb74c9acc54918430eddcb941b21b440409a724fe

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ac190690b62bf7934b7be451189a61fd6e1da140dc4aa4ff37ed4628d666e6e9
MD5 5e1a942b39c50aa2ab53462416b0ae14
BLAKE2b-256 d913606ff723b70dd2f86cf13058f82b5d06db1bf599583be4211553a533a604

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7e5f18f1f370d410751ced232ab0fe8a8298c2fef61bd88701b0f011be059074
MD5 1961c4cf90768d8af900ac792a6d5728
BLAKE2b-256 3e3ca5cd25981d35657b58ce40689e082e716e560e446d6d83dcce81831c7239

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 92012bca9d8eeee158025ecb651e3adc307a405f9d23329b032a13d87b0c23b0
MD5 badb0c4e93c430e726ad309784a2df5e
BLAKE2b-256 1f0e9d5473c7d5c3a977e9ba791575d78f09382e2f95a85e932ad920415b5805

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1c3521db3322d8afa17d54785113f47ec0e6f11b8a183b125e05998ca1a2f815
MD5 cea0df2c35f84b735629e2dbee72c7ca
BLAKE2b-256 b42b406b8be9fdfd1fd3943f60f182bebd2de4f464dd0f1d1be78810f6ffb621

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6f9861c17ca13d2f2f933617a4ac049361d27e48fb238caace35e9a3a567e818
MD5 5880b15f091e83e3504465340f2f6c69
BLAKE2b-256 da101fe2fc872b4971f4c1ba87bfb0a73ea4bc65537b1895a03cc0328e41f7c2

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5e1405bcd54dfd3f86ee18a04b7db441c93e4741e4c2f8b75df349a65d105824
MD5 5a68538902aaf0522deeaf5b4bfdda65
BLAKE2b-256 4a559e3c422806af12196dc0667397fc2073dbeed2fc683fa96446180c415f88

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4b9e418e4972f9f302df44ec2f3787c925993dc68969bb9fc83d87f19f8027ed
MD5 3ea8d0856e864a677587bd2f814092d5
BLAKE2b-256 12e2da7354e4ec6a6b6f476b2daac831eaf5a98c8a94a871262b144a7c98f397

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 70b67395713f3d159e43af31d6b3c5e5f13823f2c4edb5a68cbcf054e9da2cde
MD5 13f9fb3311f80be5c7530966a6354093
BLAKE2b-256 9fb6ad9b7d6abeddc713d870ae283ca96a422f084be11af0672fc82b93e3d74d

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 3f6a94ba675d3a4b893cee57763f6fa42e7d4506ccac44d1878057ba6bce65a4
MD5 9aa86b19b696e1f3cb8543c257df4773
BLAKE2b-256 17db4b80893359e063bcdf2c3520c327668ad94a643c6952a1eab3cf4452441d

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 348c7202a80a944952f25c2e366068cd89487934120beb43ffb102fbab329ff6
MD5 2440afaed6f8e818819a4040e81be2fc
BLAKE2b-256 b18acb71b7c66d46df51b962f2abaa7e11a0d197e1b87533fcbf8952c42ca81e

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39e242a0626652ae2b230cacbfb37a0a5ffd874fd81bc168ff43223aa640c7ea
MD5 90288369c9fc60bb89cd7f11835bb516
BLAKE2b-256 f13449c2f6218bca5a06428907b1b51d29dc548826a4aea56171508780be98f5

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 375e224b94b932dc69361e7a0e183dfb4e3455bc6718d0e8cbef5680963299a5
MD5 8f02e8027220558c344080ebb070b9dd
BLAKE2b-256 65c797809dc6d0496dea2c71eee6af8eb74098c66a1838e41d565b5a7701f4ec

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6419a2d1a41d87985883650b864e84301a88672f8de51f4a06220bcb249fe699
MD5 f14a3fd9e738f5fbabb07174e2630b36
BLAKE2b-256 3e0d9a27fd29272e0ba27898f697ca7444642e86b12c97f72fbd21c44220405a

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 484c2c4b2cd06d59c6cab9673ed8ef52f4e709ec4a812ad809abfa89d6a1636c
MD5 4ede3f93655aaed5b72f3d4570c71868
BLAKE2b-256 9b407c5b1572dddc13e97f5546861cc12e843fb6df9d2bd71f2c8b7064e124bf

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d8b1812cfb6d5b873b8a45b95fd7e6f08293068a50e1cfb14920f0a4a4c21567
MD5 186745dbbc0213d33effdbfa2ede9500
BLAKE2b-256 25f12ca55e6ab1c072821776656c1b89f41e5045a8f99ed939ce1321c06f4a07

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d2e62609b790640682f66307888405bd579ff32eecf72b0fb65c4b8a74e47d29
MD5 99c39fe3f0204f99463b54bc137b21b6
BLAKE2b-256 2247918350f133c7260792c5f7938aedd5f819457aba0a0764df28b21e609b00

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 51d5e993c7870646c8dfa12d73d7b9b0ac904110efedd28108f81593b9540a9d
MD5 53dc44115329b1b539908cdf9d315edb
BLAKE2b-256 10ae4074278f5d8c00f1540fd95fe18b24a0d919b1008ac1b735ed3562621976

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 3af34fabc092d6cb19754ddc10bd2f0b3708beccdbde829f0db8032b90c60656
MD5 ecaabd7f083783bb23fe779e39af8fb3
BLAKE2b-256 18d796f951c5d3bdb924eb23576f121ea36ba350778f687d660f10ffca47f283

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp36-cp36m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 76510c0ea23c8ce71f2f331f525644e7a365caa0f3905bf5337798ddcbd0a888
MD5 9955a95f6289a6e8ee440692ea414e99
BLAKE2b-256 f184c317da16b13c6eecd62eeaf6e003c5a201edf0ca3225973398d85825ce20

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c4345af93bf0dbdfbc037a1fe1c7ff71702bba9766dd75997340839df94e448c
MD5 8a9fddc03a05f2b426ead037b001924b
BLAKE2b-256 662fbc4228b945099a8c1cfb447c5d29d617fcf86a56cf41e72b67502023a98f

See more details on using hashes here.

File details

Details for the file flashlight_text-0.0.1.dev271-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for flashlight_text-0.0.1.dev271-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bbb059e5bd9d9a59cff9763164c6aa0f633da0bbb1bb6d8ef54ce64afd708c55
MD5 3c233347da82c467a54085a8d0dd97a2
BLAKE2b-256 e205399e6c0d7c6adcc92264b6df13f59c09f1952d55081c1f07be1991188584

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