Skip to main content

Custom-build wheels of Flashlight Text from https://github.com/flashlight/text

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


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

ufal_flashlight_text-0.0.7.1-cp314-cp314-win_amd64.whl (512.2 kB view details)

Uploaded CPython 3.14Windows x86-64

ufal_flashlight_text-0.0.7.1-cp314-cp314-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

ufal_flashlight_text-0.0.7.1-cp314-cp314-musllinux_1_2_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

ufal_flashlight_text-0.0.7.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ufal_flashlight_text-0.0.7.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

ufal_flashlight_text-0.0.7.1-cp314-cp314-macosx_11_0_arm64.whl (951.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ufal_flashlight_text-0.0.7.1-cp314-cp314-macosx_10_15_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

ufal_flashlight_text-0.0.7.1-cp313-cp313-win_amd64.whl (497.5 kB view details)

Uploaded CPython 3.13Windows x86-64

ufal_flashlight_text-0.0.7.1-cp313-cp313-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

ufal_flashlight_text-0.0.7.1-cp313-cp313-musllinux_1_2_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

ufal_flashlight_text-0.0.7.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ufal_flashlight_text-0.0.7.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

ufal_flashlight_text-0.0.7.1-cp313-cp313-macosx_11_0_arm64.whl (951.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ufal_flashlight_text-0.0.7.1-cp313-cp313-macosx_10_13_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

ufal_flashlight_text-0.0.7.1-cp312-cp312-win_amd64.whl (497.5 kB view details)

Uploaded CPython 3.12Windows x86-64

ufal_flashlight_text-0.0.7.1-cp312-cp312-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

ufal_flashlight_text-0.0.7.1-cp312-cp312-musllinux_1_2_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

ufal_flashlight_text-0.0.7.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ufal_flashlight_text-0.0.7.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

ufal_flashlight_text-0.0.7.1-cp312-cp312-macosx_11_0_arm64.whl (951.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ufal_flashlight_text-0.0.7.1-cp312-cp312-macosx_10_13_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

ufal_flashlight_text-0.0.7.1-cp311-cp311-win_amd64.whl (496.3 kB view details)

Uploaded CPython 3.11Windows x86-64

ufal_flashlight_text-0.0.7.1-cp311-cp311-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

ufal_flashlight_text-0.0.7.1-cp311-cp311-musllinux_1_2_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

ufal_flashlight_text-0.0.7.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ufal_flashlight_text-0.0.7.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

ufal_flashlight_text-0.0.7.1-cp311-cp311-macosx_11_0_arm64.whl (948.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ufal_flashlight_text-0.0.7.1-cp311-cp311-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

ufal_flashlight_text-0.0.7.1-cp310-cp310-win_amd64.whl (495.4 kB view details)

Uploaded CPython 3.10Windows x86-64

ufal_flashlight_text-0.0.7.1-cp310-cp310-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

ufal_flashlight_text-0.0.7.1-cp310-cp310-musllinux_1_2_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

ufal_flashlight_text-0.0.7.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ufal_flashlight_text-0.0.7.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

ufal_flashlight_text-0.0.7.1-cp310-cp310-macosx_11_0_arm64.whl (948.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

ufal_flashlight_text-0.0.7.1-cp310-cp310-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

ufal_flashlight_text-0.0.7.1-cp39-cp39-win_amd64.whl (513.2 kB view details)

Uploaded CPython 3.9Windows x86-64

ufal_flashlight_text-0.0.7.1-cp39-cp39-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

ufal_flashlight_text-0.0.7.1-cp39-cp39-musllinux_1_2_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

ufal_flashlight_text-0.0.7.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ufal_flashlight_text-0.0.7.1-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

ufal_flashlight_text-0.0.7.1-cp39-cp39-macosx_11_0_arm64.whl (948.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

ufal_flashlight_text-0.0.7.1-cp39-cp39-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

ufal_flashlight_text-0.0.7.1-cp38-cp38-win_amd64.whl (495.1 kB view details)

Uploaded CPython 3.8Windows x86-64

ufal_flashlight_text-0.0.7.1-cp38-cp38-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

ufal_flashlight_text-0.0.7.1-cp38-cp38-musllinux_1_2_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

ufal_flashlight_text-0.0.7.1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ufal_flashlight_text-0.0.7.1-cp38-cp38-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

ufal_flashlight_text-0.0.7.1-cp38-cp38-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 83decb51186c1d453b93e430601d18f91727009761bb6c16e1a9b4dc717a21a6
MD5 92b42571cd8d1ce3781e5bfba0da5580
BLAKE2b-256 16b108b30dd42dda22a9fba327d07481db1a24cba289ed06895e1510169d2961

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4830cbb914aa69655d0782668c0316e571ee38278a32b9a59aeb73e5f25cdae4
MD5 83ca3faac4b22a0d7f67227653aed679
BLAKE2b-256 02dec1d2a91728940d697b2aff4bd02dce51e39fffb9274219977208a2a3a1b9

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 291a4a877c0f00f340563810c6883a268f2ceb213010e97f1a1caae07c49c1ad
MD5 510111d8ad71a1677cf27fffcd4db5dd
BLAKE2b-256 5cdc9e2559f2be6ecb406ffc9be171acda9f5a450f4f6a4c06af35b0b6e89e36

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1515430130d31aef5f4bdeb1699c62fb0923a4a6074b75b7b1abf49676598084
MD5 c3c7ec41e7ba6473945ad695f4a32c14
BLAKE2b-256 0ee33416bccdc0c2cf8d05721de1562cf3c93c0dc8c092dcb1ede65e41aea7bb

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ee0e1a8c56149300a956a56fa594b66bfab147df1f31138bed7477a83a7df09c
MD5 6d79b242e528b6c41cb4cc2144e720b7
BLAKE2b-256 7590505133066f40cc20d3ef9caf89d1b1c56b418287b3fdae2d9277ce146513

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d3fa2659c512e4309e2c9a53b80f27c995f4a80dc427dd315bae88124d18b943
MD5 8d3337eccc5b30da6e5d50333b8248da
BLAKE2b-256 95822fbd41af5bfbd0bc5f99a3535c0fac57149867da98acccd3db74f2bf3bcc

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4b9457ff40298ccec22d4ec7be7aa414dd60a8832c0b40a96b2c79b145a336db
MD5 319b216934c8c0ad9162e99eaa7045c8
BLAKE2b-256 c477e3353acd357881e7b87e7a686fd9b19dab8d51c8f7dca4fe6f6210b69906

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4fdbff330519f700307b6128a066f99dd175364d055fb97514496aa7d7fc7fa2
MD5 9247afae15b690a2eedbf71c831fa8e4
BLAKE2b-256 95eaa18dc56865a232edb0b5d3b4b80f5a7383605f9bf6367530ebcd09b977be

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d1f107f66040f7ef431ccb27d16c98fc6d590c151ad892574d2e402e1780701c
MD5 56d7abcb3d033d8cf554477a25989e59
BLAKE2b-256 26cae3acaa746bebd470ee859ceb7681e4fb785da8381eba4dded7b53b670edb

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 71098e29c886964cc477c51e0abdecb3e400d8d93361419491fbec7dda717f73
MD5 8c6683b2204f2eccce130d687add9872
BLAKE2b-256 85728a8790e4f3036b735c46e0fb0fdce01dfb141fe67eb85e6ba3cc348ab26a

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 530fc27e24f5e7799a1f832616e362ea644a8fa2f47c72fbd0ebce5767d44961
MD5 bbe138e680370ef1a082564456640a3e
BLAKE2b-256 e916003debf3a1d05a5ca6d42e7c94e0942f9e87cf45eee3da0e891494074261

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 29df40fcbcd4e334adf9338dfc7c98032126b2bd5a86908a7723e9118c844561
MD5 f2700d5c0c03a285a7dcd309c306753b
BLAKE2b-256 16c7b6f74a114a674e3aa54be38e165fb22e795768a6baa50e486087da270f8d

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e34bc9c40ca36c88d8e23375479002bb47755c0698243dd8b4c4db9a5c044918
MD5 d49a095ad55461008660777a9ab38d24
BLAKE2b-256 4c96b244895f69f5667ac430d64ed69071d9ef1b0834fd57a6060700925f012e

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a650c2815113362e25ba9aa57985868830ff28e9a19c2f17c299c5adb19a40f2
MD5 707a26eefd63976f822374a1ebe79580
BLAKE2b-256 2e1c2a18e21b947b588f6461301cdd7a05dfbac94bdbb7409fe25f2867d7835b

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 af40c4193b8c71dc6c7c7d37d012df443c9ca16d97ab7bbf5f031ab550fd49e6
MD5 d79e7abc2ba42d5c9ef2209c2043307a
BLAKE2b-256 623160238788a9e9e4205fe282cacbee3f8e6f81fca831149cdab7e46cccb3b5

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9e9d95e6e13bc8f2ee93ec99aa88517b42fe1b76e9a55012da1e14efe16e3cf1
MD5 bf16475b7786e42c94f6c70e9f242d17
BLAKE2b-256 09a7643d759079eaa4ce03a6e836652d83b3fd2e6c7000cc41e2519d65f15be2

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 88b1994308eef52a42c0b143aef992e39dd2966017c4b34101804c8bff06b116
MD5 075bcbe6b7829e3451829557c3afde5c
BLAKE2b-256 f4deb655d5a907bf475e815bd94bcca927c5593155cd23adfb4c7c1279c8e817

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 335bbf819c642f514f5437bf6c447d71845aeb29aac1d975c4dfcf9cacb49ecc
MD5 df6ef020775e46fcb2e66f5fb7e95b39
BLAKE2b-256 2304c0b33d7be563e74d25b6859be31ee84f69187cdc6e2718077f023dbc10cc

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c6d1eec85a2a62d7aa57a86bcfbfd52c1e999284eba9c836a818a76bbe8695e2
MD5 b291fab4934cb595f458e1b3ec03b422
BLAKE2b-256 2171fc611079bbeb3bac47b31f803650f379e984804f51e531424937946e5e6c

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f274a9409527689ecccdd3d1444aaf1c1ec4a9f029f4be7218b8cadec5d80a39
MD5 14027f864d7e307446a8f832e54211c3
BLAKE2b-256 63255bc8cbaceba30a6491bd8b6dad60d4c82e8277b90dffb0705e499aca424e

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d34d08a642c5581f11447b931df6132878ef7e2014be1f300ec1bb0eb9e998f7
MD5 16a21cc1a93ae83b1034877fab39c648
BLAKE2b-256 b3f5de2d48723f7497f1c06952e547a9c19b4bc995cbdf0ea92af714c646f9a1

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b88ed3d249e9192c8fcbe8441967f931638fe42f3353c2fb0a3f4a9aec984de7
MD5 087c858358dd3983b9d71d8ef1021589
BLAKE2b-256 a36747476fe720dd07556bb628379e84c445531c89b4a6e64d29d1963f2ff597

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 752b35901d3288a46e60fdb148bb905992faf6a53b698885380ba9cfc35050e4
MD5 d746d746ea3045f97f2840257308fde2
BLAKE2b-256 ffdd7cd46ed97b900cd1da3254cd1c2707d5732b87d24f569fba4d455cbc6c85

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c051850e3980575e0a5a4bdf6e41f55ef520bc5150a8c39157849b632857504a
MD5 c0cfc9d5d33278c30aca2574c92deac9
BLAKE2b-256 2715f79cc94d67be35306857f99e2605e9b2ea91209c4baa4cb28fc63e739d4a

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d620f17b1de7a9d923d833322f2fe6d6055a15aecd7597f6e80ef10e1f61fd2d
MD5 9c90093e4dc4d07bdf94297e08c0ffc0
BLAKE2b-256 bbdfe4faa4d06c14ba3654e35e880e95dbde63f2738bfb2c4f6706521694e775

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3f2c82c9ad4f24aae111c1aa882f64d778ee089ba19bcabfb4a5fb1f7d848090
MD5 a3e8b3d628203e4c1b4f32a67953de3c
BLAKE2b-256 87432737dcdcfe5a30f701cea00b20dc16b17c3246b7f7fe3811962ead91b147

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 67db15716b6f020e7d38d374fcd0c4643e2e01e1d58356c3ae3b381098f613e0
MD5 c1b154941aef4ff6dbece137c6593946
BLAKE2b-256 f1be0c211ede6936eba8fb37976a53bbdcdf98fb7eef808575bcff2d8c108e09

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f4e37e26b739da1359a55feb3f9cadd51e6cd341b7e4e8ca9146616500a128be
MD5 05312e50a356de78b3ecbb5cdb409355
BLAKE2b-256 f6d9bd92088e543517ecda0152c7d91e470bed14146f7b03a6cc894b262cab23

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ed37610e9f1dfa1b31484c3eaf839c525655ed53fa9c20d34ac3f06782dda112
MD5 618b5b15f1ad84e6e2af3255ee4aa69c
BLAKE2b-256 49dcd11afc3e110edb2b46f5d1d039d728a1c887070aadea3adbad1f02181e23

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e6d7a23c6c3c150e4eac525a023c447f6926422aaee2855bd50f5fe0182fdab2
MD5 212ab33b34f938ac8b06c10324f8c01a
BLAKE2b-256 6f5e08e1d0ef99131cae85fcb99089c315d738395677dbdae3c6dcbd45e29bf5

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0d32250881911aa56d07c92dcc4e69d87334e77b46b99bd9812c0af0ee3e7a25
MD5 af4fffeea4d912f8ce512fe0dbab62d5
BLAKE2b-256 216db9c0488230b65e039239dbe7d2126ee9aaa1de2fe339d918c6ba9ac57010

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fefdbc586cc7c8dab72f75619ec21329f14ad4f047dd3404fce4393b03708482
MD5 6948f9f87083a4a04db90f40bdeedbfb
BLAKE2b-256 021419756b6f5c209a4111fac0c4079b8c13da6d621846f747096bf96d5c14fa

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 87337dc03abc5376060adac5160fb3c32b914068c87e2ebd29b80b022d7c4a56
MD5 60a63742e0e6dcc28b9b4b39b32e87b2
BLAKE2b-256 9193870fd89d43160e4f4d6af7512fe8307c7fd32f8559ef9255905f0288750c

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d742ccf88f99ca94a1a6c51ffa5ee8f28d1128cb1e53c08b2a5449c94a2141fd
MD5 bb26a8e5c549dc7fd262c920cac846c2
BLAKE2b-256 c39d23108e5f375b85095cf768ffd698aef6cbeb500ed18d2cbef17ae652a4e9

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 217c81583df1c03c95e31770513dd5c988f3b63054ac1f1171f85650456f2a74
MD5 648e6e534f3922994537e967ca5adc1a
BLAKE2b-256 e40fc8f1fd540e567837aeaa3f65872ba458ea5c1232b0534adfdd468d105602

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c86d8bd8829deec0dea2b07a6c06a9d6eb0ff29c376e58d4ee74000fc10e7f7f
MD5 cba6da819ea553fb4a17e6c9de973189
BLAKE2b-256 4865d964380eeb226e2bac85ba7e0c98ab02ab2aa115d2b856bacf16525d6295

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 09a8bc78e430a7f3964612ece842d6f2dbe62ce2c7456ec5e18081d6f229e3b5
MD5 ae298d69a3ed3140a635f12bec38b597
BLAKE2b-256 aba1459a5cdc7bf938016bfb0d59e64b2821e9dfad10ac4895565ca354fd1979

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a0e95a4691dc844d7c844de1060f685e7d19a3b5e40cf8a8872da416c20a2092
MD5 ac2023ff0dc97420fc77b4af6b7dc65c
BLAKE2b-256 11760742e9b86caa4acaf0375d19ebeee7ea7fbe0e95e85a553c7d8834a02c52

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6dd8af8d61edaf4902d15b14f2cae968514595c4caaa0be63c3087dcc6bbec68
MD5 c0d980ceedbd301cd19ab2090dd93bf6
BLAKE2b-256 33ef94a0062a1691b22b7d2aae318909084750c63a06391ea212d145ac149d36

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5548812d5da2ab5fb4431732211aac91dd8f5611d738cb195b371f18f6c3051e
MD5 96886aafcce12b935386154034657cbf
BLAKE2b-256 59950508398bd180bb1258c76e1062e47ebd97001940c65d76521ab08113e673

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 11def4709de6efc802c793fc8c18b75fd51f06aab40f54ea0a631d10f6689107
MD5 cef6b301f5a26efb8a09ddff70468156
BLAKE2b-256 78bdc50f8b4c7d6477c0f93cfa89f4c866d0552249268f7f970ce3f07d095c98

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 591d7730bfe9d6b33037437c7671bfb48c23c04c7b3cbebe2ec87210be77c8e9
MD5 8f5b477d2d6c1a31ac38ed4c2c3005b8
BLAKE2b-256 ab10f3a3d912bae9395c434d9f0101b478a288ddd4c5002f0310fe7d18cc07de

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 04819149736221f4369fa60105f7fa167ea22a243298b6ee6abafdf5f8bda6dc
MD5 17dc737f009dfe0e5e61119d0e37b7a5
BLAKE2b-256 03c220ba2466dbba8f6a5d3b259fb7363259b0be5fb7192fc2cbd66df645dbc3

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 aea0cf8fb719dc88c67eaa5ffeabc8e8880ee290661405a4f4db99c28b772e52
MD5 3f09cecf46889c73dafafcc9e218dab1
BLAKE2b-256 b80c3168f53bd2e27896d8e1da3a347b00ffb5f31026e960b2c741fac2e2e469

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9ba1e10fd9a29c2d5163caaa76155bcd23f28bcae7f5d0bb630628c79644255f
MD5 69cc71b05da37cdf86766369c1438675
BLAKE2b-256 a41951739cdadc619caa5f75ea30ecd451c6e284dbd7d56e39367359bf06fede

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a568e391f234df7e14a8255b72c5a8a633935725dff99407b41a6e9c5433cfe3
MD5 e2784183008988f4f16ca059c99a5eaa
BLAKE2b-256 7fb485e7b71277225121508d4f927f01879199dd53df62d5e934de8ad4f16ca1

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp38-cp38-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp38-cp38-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4cffbfddfac6a11f271e5a89079139c60afac077e4081c7fa6c235610b1b78c1
MD5 5e5c8eb01fbe5b59ccee2d29a41683e5
BLAKE2b-256 ff06e5a07439d5491e40acbfe0d5bc3b3dec3d30b3fa59496ba64bc1a56e56a3

See more details on using hashes here.

File details

Details for the file ufal_flashlight_text-0.0.7.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ufal_flashlight_text-0.0.7.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9d415610e804ea1e5f282c49fe6f5470f9dd69198ad8a65ac915e4b81945f5be
MD5 b41fe6ef666eba8e46ccdf35607b0d37
BLAKE2b-256 afa6ec24f0d3df134bcaeae8780b601377e4c449b464a8f4fb65d963f3fc25c4

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